From: ian AT cygnus DOT com Subject: Re: Assembler error 10 Oct 1997 17:34:36 -0700 Message-ID: <199710100317.XAA27170.cygnus.gnu-win32@tweedledumb.cygnus.com> References: <343D3448 DOT 85418226 AT scdi DOT org> To: avernet AT scdi DOT org Cc: gnu-win32 AT cygnus DOT com In gnu-win32 avernet AT scdi DOT org (Alessandro Vernet) writes: >Note that I have no problem compiling this file under Linux (also with >gcc 2.7.2) or Digital UNIX. I will finally add that the source file I am >trying to assemble takes about 15 Mb (the original C file was about 7 >Mb). > bash$ gcc -c sep_cfront_end.s > BFD: sep_cfront_end.o: reloc overflow: 0x5815e > 0xffff > sep_cfront_end.s: Assembler messages: > sep_cfront_end.s:886904: Error: bfd_coff_swap_scnhdr_out failed > gcc: Internal compiler error: program as got fatal signal 1 The i386 PE format uses a 16 bit integer to represent the number of relocations in a single section. This message is telling you that the field overflowed: there are too many relocations in some section of your input file. I think the only solution is to break up the file. You could also try the -ffunction-sections gcc option; I don't know if it works for the i386 PE target, though. Ian - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".