This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
------- Comment #6 from eblot dot ml at gmail dot com 2010-06-17 09:20 -------
(In reply to comment #5)Unfortunately I don't see this happening on the x86_64-linux -> arm-linux-gnueabi cross compiler I built for myself. The generated assembly has all four elements in the initialization of CSWTCH.2 and the intermediate tree dumps from the cross compiler are not really different from the ones from a native x86_64 compiler.
I think this might be due to the ABI differences between the official ARM ABI
(AAPCS) and the Linux variant, which is slightly different.
I'd bet the way the enumerations are handled (variable size with AAPCS, fixed,
integer-native size with ARM Linux) is the 'culprit' here.
See http://www.codesourcery.com/sgpp/lite/arm/arm_gnu_linux_abi.pdf
The enumeration used in this bug report is coded as a byte with AAPCS, whereas
it should be coded as a 32-bit value with Linux ARM ABI. This might explain why
you cannot reproduce the issue with a Linux-target cross-compiler.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44328
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |