Discovered whilst creating a test for a different bug: % cat discard.t SECTIONS { .text : { *(.text) } /DISCARD/ : { *(*) } } % gold /usr/lib/crt1.o -L/usr/lib/gcc/i686-redhat-linux/4.7.0 -lc -T discard.t Segmentation fault The problem appears to be that GOLD expects that the .plt and .rel.plt sections will both be present in the output file. The test case is obviously nonsensical, but it is a cut down version of a much larger, and sensible, test case.