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
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils