On Wed, 2019-08-28 at 14:23 +0100, Robert Swindells wrote: > On 8/28/19, Michał Górny <mgorny%gentoo.org@localhost> wrote: > > 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? > > % clang -v > clang version 8.0.1 (tags/RELEASE_801/final) > Target: aarch64-unknown-netbsd9.99 > Thread model: posix > InstalledDir: /usr/pkg/bin I'm sorry for not being precise. I meant compiling and linking an actual program with '-v' (== verbose). -- Best regards, Michał Górny
Attachment:
signature.asc
Description: This is a digitally signed message part