This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, i386] Remove EBX usage from asm code
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Evgeny Stupachenko <evstupac at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>
- Date: Sat, 17 Jan 2015 16:18:22 +0100
- Subject: Re: [PATCH, i386] Remove EBX usage from asm code
- Authentication-results: sourceware.org; auth=none
- References: <CAOvf_xxRWG-rskfXsgwqTV=DhzPiBrR+2J1QFfH-+eA1BiL_4A at mail dot gmail dot com>
Hi Evgeny,
> The patch removes EBX usage from asm code used in libgcc/crtstuff.c
> It is safe now, but potentially buggy when glibc is rebuild with GCC
> 5.0 as EBX is not GOT register any more.
>
> x86 bootstrap, make check passed.
>
> Is it ok?
>
> Evgeny
>
> 2014-12-28 Evgeny Stupachenko <evstupac@gmail.com>
>
> * gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
> * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
this patch broke Solaris 10/x86 bootstrap: when building amd64
crtbegin.o, gas complains
crtstuff.s: Assembler messages:
crtstuff.s:179: Error: invalid instruction suffix for `pop'
crtstuff.s:180: Error: incorrect register `%rdx' used with `l' suffix
popl %rdx
addl $_GLOBAL_OFFSET_TABLE_+[.-.LPR115],%rdx
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University