On Wed, 2019-08-28 at 02:40 +0100, Robert Swindells wrote: > I wrote: > > It looks like clang++ on aarch64 is broken too, but in a different way. > > > > Static constructors don't get called. I do have a small test application > > that demonstrates this. > > This looks to be caused by clang/llvm putting the references to the > constructor in the .ctors section instead of the .init_array section as > required by the ABI. > > There is code in clang to select this and a web search turns up some > patches from 2014 to enable it for all AARCH64 ELF platforms but the > source tree seems to have changed a lot since then. I see the following for Generic_ELF thingy: if (DriverArgs.hasFlag(options::OPT_fuse_init_array, options::OPT_fno_use_init_array, UseInitArrayDefault)) CC1Args.push_back("-fuse-init-array"); NetBSD should be using that. Could you verify with 'clang -v' whether it's being passed to cc1? > > Does anyone have an account for the llvm bug system to be able to raise > this upstream ? I do and I can do that if we have enough info. However, submitting a patch is always a better option. -- Best regards, Michał Górny
Attachment:
signature.asc
Description: This is a digitally signed message part