Hi H.J. Thanks for taking an interest in this. > Please try this patch. It did not appear to make a difference. :-( I am using an extended test case (attached) but the results are the same as before: % as eliminate.s -o eliminate.o % ld -e 0 --gc-sections --print-gc-sections eliminate.o ld: removing unused section '.group' in file 'eliminate.o' ld: removing unused section '.group' in file 'eliminate.o' ld: removing unused section '.text' in file 'eliminate.o' ld: removing unused section '.unused1' in file 'eliminate.o' ld: removing unused section '.unused2[unused_group]' in file 'eliminate.o' ld: removing unused section '.unused3[unused_group2]' in file 'eliminate.o' ld: removing unused section '.gnu.note2[unused_group]' in file 'eliminate.o' ld: removing unused section '.gnu.note3[unused_group2]' in file 'eliminate.o' ld: a.out: sh_link of section `.gnu.note1' points to discarded section `.unused1' of `eliminate.o' ld: final link failed: bad value Cheers Nick