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: Uros Bizjak <ubizjak at gmail dot com>
- To: Rainer Orth <ro at cebitec dot uni-bielefeld dot de>
- Cc: Evgeny Stupachenko <evstupac at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 18 Jan 2015 09:54:48 +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> <yddwq4lpha9 dot fsf at CeBiTec dot Uni-Bielefeld dot DE> <CAFULd4Yo0qaU16AFCaDhLu6gg4AVoh3Z18boDsf8BAJH=pPzzw at mail dot gmail dot com> <yddsif9p84i dot fsf at CeBiTec dot Uni-Bielefeld dot DE>
On Sat, Jan 17, 2015 at 7:36 PM, Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
> Uros Bizjak <ubizjak@gmail.com> writes:
>
>> On Sat, Jan 17, 2015 at 4:18 PM, Rainer Orth
>> <ro@cebitec.uni-bielefeld.de> wrote:
>>
>>>> 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
>>
>> Looks like config.gcc error for Solaris x86, amd64 target should not
>> include i386/gnu-user.h but i386/gnu-user64.h
>
> The target is i386-pc-solaris2.10, which includes i386/sysv4.h. Only
> the amd64 crtbegin.o is affected, the i386 one is fine.
Please split sysv4-common.h out of i386/sysv4.h, similar to how
i386/gnu-user.h and gnu-user-common.h are split.
Uros.