This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

Re: nptl/tst-thread-exit-clobber failure on armv7l-*-linux-gnueabihf


On 28/01/2019 18:44, Florian Weimer wrote:
> The test fails because libstdc++ (probably the personality routine)
> clobbers the d8 VFP register, which is callee-saved.
> 
> This bug goes away when I downgrade libstdc++ to the GCC 8 version, so I
> filed a GCC bug:
> 
>   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89093>
> 
> I don't plan to debug this further.

based on the discussion so far it seems a recent gcc register allocator
change makes the compiler prefer moving general regs to float regs
instead of spilling them to memory.

this should be of course fixed in the compiler/unwinder, but this
reminds me that arm lazy binding code will have issues if gcc starts
using fp regs more for spills:

the arm _dl_runtime_resolve code does not seem to preserve fp regs,
i'm not sure why that works, but we should look out for gcc-9 changes
that may start using fp regs in the arm dynamic linker.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]