Subject: Re: Assembler error
From: [email-masked]

10 Oct 1997 17:34:36 -0700
Message-ID: <[email-masked]>
References: <[email-masked]>
To: [email-masked]
Cc: [email-masked]

In gnu-win32 [email-masked] (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
"[email-masked]" with one line of text: "help".