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

Reply via email to