This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Adjust _Unwind_Word in unwind.h to version in libgcc.
- From: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- To: "Carlos O'Donell" <carlos at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 31 Jul 2015 15:53:16 +0200
- Subject: Re: [PATCH] Adjust _Unwind_Word in unwind.h to version in libgcc.
- Authentication-results: sourceware.org; auth=none
- References: <mp7b4a$8q4$1 at ger dot gmane dot org> <mvmfv48906x dot fsf at hawking dot suse dot de> <mp809u$9mo$1 at ger dot gmane dot org> <55BB75B6 dot 2000409 at redhat dot com>
On Fri, Jul 31, 2015 at 09:18:46AM -0400, Carlos O'Donell wrote:
>
> Does this mean s390 has 2 supported ABIs for 32-bit?
>
> If so, we should adjust:
>
> https://sourceware.org/glibc/wiki/ABIList?highlight=%28ABI%29#s390
No, there is only one ABI for s390-32. s390-32 ESA and s390-32 ZARCH
both are supposed to adhere to the 31 bit ABI. The latter will use 64
bit registers only in non-ABI relevant situations. In order to
achieve this in GCC we had to increase the register size to 64 bit
even when compiling with -m31. Unfortunately the register size was
exposed to outside GCC in some places (e.g. mode(__word__)). That's
why something like __unwind_word__ was invented (there are others).
mode("__unwind_word__") changes only with ABI switches (-m31/-m64)
while mode("__word__") does change with -mesa/-mzarch.
What Stefan just fixed was a problem where the libgcc and Glibc unwind
code was out of sync.
Bye,
-Andreas-