Bug 5025

Summary: SEGV with ld --build-id + "/DISCARD/ : { *(.note.gnu.build-id) }"
Product: binutils Reporter: Denis Vlasenko <vda.linux>
Component: ldAssignee: unassigned
Status: RESOLVED FIXED    
Severity: normal CC: bug-binutils
Priority: P2    
Version: 2.18   
Target Milestone: ---   
Host: i386-pc-linux-gnu Target: i386-pc-linux-gnu
Build: i386-pc-linux-gnu Last reconfirmed:

Description Denis Vlasenko 2007-09-12 19:15:55 UTC
$ echo "int main() { return 1; }" >t.c
$ gcc -Wl,--verbose t.c >script.lds

Edit script.lds like this

-  .note.gnu.build-id : { *(.note.gnu.build-id) }
+  /DISCARD/ : { *(.note.gnu.build-id) }

(and remove everything except linker script, of course)

Now try to link with --build-id:

$ gcc -Wl,--build-id -Wl,-T -Wl,script.lds  t.c
collect2: ld terminated with signal 11 [Segmentation fault]

$ ld -v
GNU ld (GNU Binutils) 2.18