delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2012/04/21/17:33:45

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 <juan DOT guerrero AT gmx DOT de>
To: Eli Zaretskii <eliz AT gnu DOT org>
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
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 <juan DOT guerrero AT gmx DOT de>
> > 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019