------- Additional Comments From ro at TechFak dot Uni-Bielefeld dot DE 2008-11-18 14:41 ------- Subject: Re: 64-bit libstdc++.so fails to link on Solaris 11/SPARC: could not read symbols: Bad value
Hi Nick, > Oh, well the "progbits" attribute indicates that the section contains > data values, but the .bss section should in theory be completely empty > and just initialized with zero bytes when the program is loaded into > memory. (ie its type should be NOBITS). ok, understood. > What is probably happening is that one or more of your input object > files has a .bss section with the wrong attributes. Why that should be > is currently a mystery, but first we need to locate those object files > (or else demonstrate that the problem has some other cause). Every single one of the libstdc++ object files is affected. E.g. % readelf -S --wide .libs/wstring-inst.o |grep -A1 '\.bss' [191] .bss._ZZL18__gthread_active_pvE21__gthread_active_once PROGBITS 0000000000000000 0205a8 000020 00 WA 0 0 8 [192] .data._ZZL18__gthread_active_pvE22__gthread_active_mutex PROGBITS 0000000000000000 0205c8 000018 00 WA 0 0 8 Looking at the assembler source, I find: .section ".bss._ZZL18__gthread_active_pvE21__gthread_active_once",#alloc,#write .align 8 .type _ZZL18__gthread_active_pvE21__gthread_active_once, #object .size _ZZL18__gthread_active_pvE21__gthread_active_once, 32 _ZZL18__gthread_active_pvE21__gthread_active_once: .skip 32 If I assemble the same source file with gas 2.19, I get [ 3] .bss NOBITS 00000000 00003c 000000 00 WA 0 0 1 [338] .bss._ZZL18__gthread_active_pvE21__gthread_active_once NOBITS 00000000 01a988 000020 00 WA 0 0 8 Rainer -- http://sourceware.org/bugzilla/show_bug.cgi?id=7027 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils