[llvm-commits] [PATCH] generate ABI-compliant sections for uninitialized static data members in template instantiations

Kristof Beyls kristof.beyls at arm.com
Tue Feb 21 01:25:17 PST 2012


Thanks for looking at this Anton.

Yes, this patch is generic, and yes, x86-linux is also affected.
I think that all platforms following the Itanium C++ ABI are affected.

I've compared the output with what gcc produces for the reduced test
case in my earlier mail on arm-linux, x86-linux and x86-macosx.

With the patch, clang now seems to be doing the correct thing on 
x86-linux and arm-linux. I've added x86-linux to the regression test 
(see attached updated patch).

The patch doesn't seem to change anything on macosx, as expected.

Thanks,

Kristof

> -----Original Message-----
> From: Anton Korobeynikov [mailto:anton at korobeynikov.info]
> Sent: 20 February 2012 22:00
> To: Kristof Beyls
> Cc: llvm-commits at cs.uiuc.edu
> Subject: Re: [llvm-commits] [PATCH] generate ABI-compliant sections for
> uninitialized static data members in template instantiations
> 
> Kristof,
> 
> > The attached patch fixes a problem where LLVM doesn't generate .bss
> sections
> > in a C++ ABI-compliant way.
> > Would someone be able to review and apply the patch if fine?
> It seems that the patch is generic, not eabi specific, right? Thus I'd
> suggest to test also on e.g. x86-linux, where comdats are used.
> 
> --
> With best regards, Anton Korobeynikov
> Faculty of Mathematics and Mechanics, Saint Petersburg State University
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cxx_weak_odr_bss2.patch
Type: application/octet-stream
Size: 2356 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120221/1859799a/attachment.obj>


More information about the llvm-commits mailing list