https://sourceware.org/bugzilla/show_bug.cgi?id=26583
--- Comment #12 from Kilian Kegel <minnowware at hotmail dot com> --- Created attachment 12841 --> https://sourceware.org/bugzilla/attachment.cgi?id=12841&action=edit GNU ld (GNU Binutils) 2.35.50.20200909 result Hi H.J.Lu, now I was able to build, install and run your fix. (Please have a look onto the appended screen shot.) Regrettably it does not accept the COFF .OBJ files. This is the same behavior as with my own binutil-rebuilds of ver. 2.34, 2.35 and 2.21 from https://ftp.gnu.org/gnu/binutils Let me summarize: 1) LD (2.34) of CYGWIN doesn't have that bug at all. Both of my bugs (.BSS and OPTIMIZATION) are just gone. The link result is correct! But regrettably it creates the wrong executable format (.EXE instead of .ELF) 2) All binutils of my own rebuild (your fix, 2.21, 2.34, and 2.35) doesn't accept the COFF .OBJ fileformat and stop with the same error message: "getaddr1.obj: file not recognized: file format not recognized" 3) all original ld/binutil versions that comes with Debian, Suse, RedHat and Ubuntu accept the COFF .OBJ but creates erroneous .ELF That sounds to me that a) Due to (1) MS COFF .OBJ file format is already implemented somewhere in the binutils source code base but just not activated/ enabled/pulled in (maybe a different variant of COFF .OBJ is activated instead) b) Due to (2) and (3) it needs some additional magic configuration at build time to accept MS COFF .OBJ, that the binutil maintainers at Debian, RedHad, Suse and Ubuntu certainly know... Thanks, Kilian -- You are receiving this mail because: You are on the CC list for the bug.