On 2011/4/27 07:10 PM, Andrew Stubbs wrote: > On 27/04/11 10:57, Michael Hope wrote: >> Hi Andrew. I uploaded the wrong preprocessed source to the GCC >> bugzilla entry. It included the __attribute__((noinline)) workaround >> which hides the problem. > > OK, I've now reproduced the problem and reduced the test case. > > See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48783 > > Andrew
I think I've found the source of this, to summarize: during RTL expand (yes during *expand*), .global __aeabi_* directives are added to the asm output when seeing use of the libcalls. Later the calls get optimized out in some way, leaving the unused .global symbols... I would think that, under an EABI toolchain environment, all the AAPCS defined __aeabi_* runtime functions should always be available (e.g. libgcc) Thus we should be able to skip adding these .global __aeabi_* directives completely? Ramana? _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain