X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Authenticated: #27081556 X-Provags-ID: V01U2FsdGVkX18ynZpzEQsyWdzz3vpi18dfOFz5lCj2c0GhQVD/3o Zihq1ZdrSTU8vi From: Juan Manuel Guerrero To: Eli Zaretskii Subject: Re: Difficulties compiling emacs with gcc 4.6.2 Date: Sat, 21 Apr 2012 23:30:13 +0200 User-Agent: KMail/1.9.10 Cc: djgpp AT delorie DOT com References: <201204090011 DOT 41565 DOT juan DOT guerrero AT gmx DOT de> <83pqbh8l2i DOT fsf AT gnu DOT org> In-Reply-To: <83pqbh8l2i.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201204212330.14769.juan.guerrero@gmx.de> X-Y-GMX-Trusted: 0 Am Montag, 9. April 2012 schrieb Eli Zaretskii: > > From: Juan Manuel Guerrero > > Date: Mon, 9 Apr 2012 00:11:41 +0200 > > > > I have tried to compile emacs 23.4 using gcc 4.6.2 and binutils 2.22 and I got > > the output below. Something seems to be wrong with the assembler output > > produced by gcc. I have replaced the compiler with gcc 4.5.2 and it compiled > > flawlessly. Of course still using binutils 2.22. > > If more information is needed please tell me. > > [...] > > gcc -c -Demacs -DHAVE_CONFIG_H -I. -I. -O2 -gcoff emacs.c > > c:/TMP/ccVqj3Jc.s: Assembler messages: > > c:/TMP/ccVqj3Jc.s:6834: Error: invalid operands (.text and .text.startup sections) for `-' > > c:/TMP/ccVqj3Jc.s:6798: Error: can't resolve `.text' {.text section} - `LFB7' {.text.startup section} > > Could you please try figuring out which source lines trigger this? Is > it perhaps the reference to etext around line 1800 of emacs.c? Sorry, but I was not able to figure out what intructions generate generate that faulty assembler instruction sequence. Now I have used gcc 4.7.0 to compile emaces and I got other errors. See output: cd src C:/DJGPP-2.04/BIN/make.exe top_srcdir=h:/e/gnu/emacs BOOTSTRAPEMACS="" make.exe[1]: Entering directory `h:/e/gnu/emacs/src' gcc -c -Demacs -DHAVE_CONFIG_H -I. -I. -O2 -gcoff -save-temps dispnew.c gcc -c -Demacs -DHAVE_CONFIG_H -I. -I. -O2 -gcoff -save-temps frame.c gcc -c -Demacs -DHAVE_CONFIG_H -I. -I. -O2 -gcoff -save-temps scroll.c gcc -c -Demacs -DHAVE_CONFIG_H -I. -I. -O2 -gcoff -save-temps xdisp.c xdisp.s: Assembler messages: xdisp.s:31360: Error: CFI instruction used without previous .cfi_startproc xdisp.s:31362: Error: CFI instruction used without previous .cfi_startproc xdisp.s:31363: Error: CFI instruction used without previous .cfi_startproc xdisp.s:31365: Error: CFI instruction used without previous .cfi_startproc xdisp.s:31366: Error: CFI instruction used without previous .cfi_startproc xdisp.s:31370: Error: .cfi_endproc without corresponding .cfi_startproc xdisp.s: Error: open CFI at the end of file; missing .cfi_endproc directive make.exe[1]: *** [xdisp.o] Error 1 make.exe[1]: Leaving directory `h:/e/gnu/emacs/src' make.exe: *** [src] Error 2 Is there any reason why -gcoff is used to compile the code in /src directory? If I replace -gcoff with -g then all compilers I have tested are capable to compile emacs. Regards, Juan M. Guerrero