[RFC PATCH] Don't use ELF weak for entities with vague linkage when COMDAT groups are available

Mark Mitchell mark@codesourcery.com
Thu Apr 14 17:11:00 GMT 2005


Eric Botcazou wrote:
>>This part of the patch has been reverted again for now, pending further
>>investigation on ppc64 Linux, where it was causing libstdc++ build failure.
> 
> 
> FWIW I see these failures on x86_64-suse-linux (SuSE 9.2 Professional):

> /usr/bin/ld: Warning: size of symbol 
> `__gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, 
> true>::_S_destroy_thread_key(void*)' changed from 21 in testsuite_abi.o to 
> 217 in testsuite_character.o
> /usr/bin/ld: Warning: size of symbol 

Would you check to see that these symbols are indeed in COMDAT groups in 
both files?  If so, then the linker is being silly.  That would confirm 
my hypothesis that the problem is due to situations where the compiler 
supports COMDAT, but the linker doesn't actually support it.  In that 
case, we should soup up HAVE_GAS_COMDAT to check the linker too (and 
rename it to just HAVE_COMDAT).

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304



More information about the Gcc-patches mailing list