Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: clang/llvm on aarch64



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



Home | Main Index | Thread Index | Old Index