strip seems to have always behaved this way. versions 2.16 and older stripped both types of objects, but with 2.17 and newer, "j" is correctly left. tested 2.1{5,6,7,8,9} and 2.19.51.0.2.
$ cat test.c int i; int j = 1; $ gcc -c test.c $ readelf -s test.o | grep OBJ 7: 0000000000000000 4 OBJECT GLOBAL DEFAULT 2 j 8: 0000000000000004 4 OBJECT GLOBAL DEFAULT COM i $ strip --strip-unneeded test.o $ readelf -s test.o | grep OBJ 7: 0000000000000000 4 OBJECT GLOBAL DEFAULT 2 j "i" has wrongly been stripped -- Summary: `strip --strip-unneeded` incorrectly strips objects of type COM from relocatable ELF objects Product: binutils Version: 2.20 (HEAD) Status: NEW Severity: normal Priority: P2 Component: binutils AssignedTo: unassigned at sources dot redhat dot com ReportedBy: vapier at gentoo dot org CC: bug-binutils at gnu dot org,toolchain at gentoo dot org GCC target triplet: x86_64-linux-gnu http://sourceware.org/bugzilla/show_bug.cgi?id=9933 ------- 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