[RFC PATCH] Don't use ELF weak for entities with vague linkage when COMDAT groups are available
Julian Brown
julian@codesourcery.com
Thu Apr 14 19:58:00 GMT 2005
Eric Botcazou wrote:
>>>/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.
>
>
> testsuite_abi.o
>
> 211: 0000000000000000 21 FUNC GLOBAL DEFAULT 29
> _ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv
>
> COMDAT group section
> `.group' [_ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv]
> contains 1 sections:
> [Index] Name
> [ 29] .gnu.linkonce.t._ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv
>
>
> testsuite_character.o
>
> 180: 0000000000000000 217 FUNC GLOBAL DEFAULT 67
> _ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv
>
> COMDAT group section
> `.group' [_ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv]
> contains 1 sections:
> [Index] Name
> [ 67] .gnu.linkonce.t._ZN9__gnu_cxx20__common_pool_policyINS_6__poolELb1EE21_S_destroy_thread_keyEPv
I have tried the building a gcc on x86-64 with the vanilla binutils from
SuSE 9.2 built from source, and it doesn't exhibit this problem. With
SuSE patches applied, the build fails for for me (on a non-SuSE system).
So in this case, the problem would appear to be one of the SuSE patches.
Just FYI.
Julian
More information about the Java-patches
mailing list