problem compiling emacs-20.3 with egcs-2.92.16 (19981019)
Jorg Pietschmann
pietsch@swissline.ch
Sat Oct 31 17:59:00 GMT 1998
Hi,
i have a problem compiling emacs-20.3 with egcs-2.92.16 (19981019)
on i386-solaris2.5.1. The same has also happened with egcs-2.91.55
(19980824). I use gas from binutils-2.9.1 and the system linker.
The temacs is successfully built but the dumped emacs gets a segment
violation.
This does not happen if egcs-2.91.33 is used (the last version i've
kept).
Here is a log:
...macs-20.3:(1)$ make CFLAGS='-g -O3'
[stuff snipped]
[temacs dumps itself]
./emacs -q -batch -f list-load-path-shadows
make[1]: *** [emacs] Segmentation Fault (core dumped)
make[1]: Leaving directory `/home/pietsch/unpack/emacs-20.3/src'
[tail snipped]
...macs-20.3:(1)$ cd src;gdb ./emacs core
GNU gdb 4.17
...
Core was generated by `./emacs -q -batch -f list-load-path-shadows'.
Program terminated with signal 11, Segmentation Fault.
Reading symbols from /usr/openwin/lib/libXaw.so.5...done.
Reading symbols from /usr/openwin/lib/libXmu.so.4...done.
Reading symbols from /usr/openwin/lib/libXt.so.4...done.
Reading symbols from /usr/openwin/lib/libXext.so.0...done.
Reading symbols from /usr/openwin/lib/libX11.so.4...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libkstat.so.1...done.
Reading symbols from /usr/lib/libkvm.so.1...done.
Reading symbols from /usr/lib/libelf.so.1...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libw.so.1...done.
Reading symbols from /usr/lib/libintl.so.1...done.
Reading symbols from /usr/lib/libmp.so.1...done.
#0 0x0 in ?? ()
DISPLAY = :0.0
TERM = dtterm
Breakpoint 1 at 0x80c264b
.gdbinit:308: Error in sourced command file:
Function "x_error_quitter" not defined.
(gdb) bt
#0 0x0 in ?? ()
#1 0x815cb9c in __do_global_ctors_aux ()
#2 0x815cbe5 in _init ()
(gdb) info reg
eax 0x0 0
ecx 0x2 2
edx 0x81ef020 136245280
ebx 0x816d7ac 135714732
esp 0x80472b4 0x80472b4
ebp 0x80472c0 0x80472c0
esi 0x81ef00c 136245260
edi 0x80473d0 134509520
eip 0x815b5d5 0x815b5d5
eflags 0x10213 66067
cs 0x17 23
ss 0x1f 31
ds 0x1f 31
es 0x1f 31
fs 0x0 0
gs 0x0 0
(gdb) up
#1 0x815cb9c in __do_global_ctors_aux ()
(gdb) disass
Dump of assembler code for function __do_global_ctors_aux:
0x815b574 <__do_global_ctors_aux>: pushl %ebp
0x815b575 <__do_global_ctors_aux+1>: movl %esp,%ebp
0x815b577 <__do_global_ctors_aux+3>: pushl %esi
0x815b578 <__do_global_ctors_aux+4>: pushl %ebx
0x815b579 <__do_global_ctors_aux+5>: call 0x815b57e
<__do_global_ctors_aux+10>
0x815b57e <__do_global_ctors_aux+10>: popl %ebx
0x815b57f <__do_global_ctors_aux+11>: addl $0x1222e,%ebx
0x815b585 <__do_global_ctors_aux+17>: leal 0x81860(%ebx),%esi
0x815b58b <__do_global_ctors_aux+23>: cmpl $0xffffffff,0x81860(%ebx)
0x815b592 <__do_global_ctors_aux+30>: je 0x815b5a0
<__do_global_ctors_aux+44>
0x815b594 <__do_global_ctors_aux+32>: movl (%esi),%eax
0x815b596 <__do_global_ctors_aux+34>: call *%eax
0x815b598 <__do_global_ctors_aux+36>: addl $0xfffffffc,%esi
0x815b59b <__do_global_ctors_aux+39>: cmpl $0xffffffff,(%esi)
0x815b59e <__do_global_ctors_aux+42>: jne 0x815b594
<__do_global_ctors_aux+32>
0x815b5a0 <__do_global_ctors_aux+44>: leal 0xfffffff8(%ebp),%esp
0x815b5a3 <__do_global_ctors_aux+47>: popl %ebx
0x815b5a4 <__do_global_ctors_aux+48>: popl %esi
0x815b5a5 <__do_global_ctors_aux+49>: leave
0x815b5a6 <__do_global_ctors_aux+50>: ret
0x815b5a7 <__do_global_ctors_aux+51>: nop
End of assembler dump.
(gdb) q
...macs-20.3/src:(1)$ gcc --version
egcs-2.92.16
...macs-20.3/src:(1)$
I'm rather confused. The disassembly above does not appear to match
any of the DO_GLOBAL_CTORS_AUX macros i've found.
J.Pietschmann
More information about the Gcc-bugs
mailing list