This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Target: i586-pc-msdosdjgpp] Linker crash with gdwarf-2 debug info [WAS: Re: Build failure when gcc.opt, gcc-l.opt contains -

Confirmed a crash. Seems to be some problem with binutils-2.12.1 (or DJGPP 
I cannot say more now). Here is output which I got from gdb-5.2


D:\...\gnu\binutl-2.121\build.djg\ld\1>gdb ld-new.exe
GNU gdb 5.2
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-pc-msdosdjgpp"...
(gdb) show args
Argument list to give program being debugged when it is started is
    "--verbose -X -S -r -o dxe__tmp.o -Lsrc src/emu387.o id_emu.o 
 -Lsrc c:/djgpp/lib/gcc-lib/djgpp/3.11/libgcc.a -lc c:/djgpp/lib/gcc-
.11/libgcc.a -T dxe.ld".
(gdb) r
Starting program: d:/Devel/binutils/gnu/binutl-2.121/build.djg/ld/1/ld-new.exe -

-verbose -X -S -r -o dxe__tmp.o -Lsrc src/emu387.o id_emu.o src/emudummy.o -
 c:/djgpp/lib/gcc-lib/djgpp/3.11/libgcc.a -lc c:/djgpp/lib/gcc-
bgcc.a -T dxe.ld
GNU ld version 2.12.1
  Supported emulations:
cannot find script file dxe.ld
opened script file src/dxe.ld
using external linker script:


  .text : {

attempt to open src/emu387.o succeeded
attempt to open id_emu.o succeeded
attempt to open src/emudummy.o succeeded
attempt to open c:/djgpp/lib/gcc-lib/djgpp/3.11/libgcc.a succeeded
attempt to open src/libc.a succeeded
attempt to open c:/djgpp/lib/gcc-lib/djgpp/3.11/libgcc.a succeeded

Program received signal SIGSEGV, Segmentation fault.
mark_relocs (finfo=0x185ee0, input_bfd=0x999b8) at ../../bfd/cofflink.c:1347
1347              finfo->sym_indices[ irel->r_symndx ] = -1;

(gdb) where
#0  mark_relocs (finfo=0x185ee0, input_bfd=0x999b8)
    at ../../bfd/cofflink.c:1347
#1  0x0004293f in _bfd_coff_link_input_bfd (finfo=0x185ee0, input_bfd=0x999b8)
    at ../../bfd/cofflink.c:1429
#2  0x000421de in _bfd_coff_final_link (abfd=0x8d958, info=0x7a388)
    at ../../bfd/cofflink.c:921
#3  0x0001c470 in ldwrite ()
#4  0x00019d4d in main ()
#5  0x0005f3b7 in __crt1_startup ()

On 4 Jul 2002 at 13:47, Richard Dawe wrote:

> Hello.
> I've just hit the following error, when I build libc with -gdwarf-2 in gcc.opt
> and gcc-l.opt:
> ...
> c:/djgpp/bin/make.exe ./../../lib/libemu.a
> make.exe[2]: `../../lib/libemu.a' is up to date.
> ./../../hostbin/dxegen.exe ./../../bin/emu387.dxe __emu_entry src/emu387.o
> id_emu.o src/emudummy.o -L../../lib c:/djgpp/lib/gcc-lib/djgpp/3.1/libgcc.a
> -lc c:/djgpp/lib/gcc-lib/djgpp/3.1/libgcc.a
> ld -X -S -r -o dxe__tmp.o -L./../../lib src/emu387.o id_emu.o src/emudummy.o
> -L../../lib c:/djgpp/lib/gcc-lib/djgpp/3.1/libgcc.a -lc
> c:/djgpp/lib/gcc-lib/djgpp/
> 3.1/libgcc.a  -T dxe.ld
> Exiting due to signal SIGSEGV
> General Protection Fault at eip=00043169
> eax=00189c94 ebx=001aaf74 ecx=001aaf64 edx=00b10000 esi=0010d1e0 edi=000f66c4
> ebp=000f64a0 esp=000f6488 program=C:\DJGPP\BIN\LD.EXE
> cs: sel=01e7  base=84f39000  limit=001affff
> ds: sel=01ef  base=84f39000  limit=001affff
> es: sel=01ef  base=84f39000  limit=001affff
> fs: sel=01c7  base=0002c430  limit=0000ffff
> gs: sel=01ff  base=00000000  limit=0010ffff
> ss: sel=01ef  base=84f39000  limit=001affff
> App stack: [000f67c4..000767c4]  Exceptn stack: [00076718..000747d8]
> Call frame traceback EIPs:
>   0x00043169 0x43169
>   0x000433a3 0x433a3
>   0x000427f9 0x427f9
>   0x0001d439 0x1d439
>   0x0001adb1 0x1adb1
>   0x0005f558 0x5f558
> 'symify c:/djgpp/bin/ld.exe' doesn't give me anymore info. Here are the
> versions I'm using:
> bash-2.04$ gcc --version
> gcc.exe (GCC) 3.1
> Copyright (C) 2002 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> bash-2.04$ ls -al `which gcc.exe`
> -rwxr-xr-x    1 rich     root        77656 May 15 15:07
> /dev/c/djgpp/bin/gcc.exe
> *
> bash-2.04$ ld --version
> GNU ld version 2.12.1
> Copyright 2002 Free Software Foundation, Inc.
> This program is free software; you may redistribute it under the terms of
> the GNU General Public License.  This program has absolutely no warranty.
> bash-2.04$ ls -al `which ld.exe`
> -rwxr-xr-x    1 rich     root       196456 May 20 18:24
> /dev/c/djgpp/bin/ld.exe*
> If I compile with -gstabs+3 in gcc.opt & gcc-l.opt, then it works. My libc
> sources are current CVS + some work for LFS.
> Has anyone else seen this problem?
> Thanks, bye, Rich =]
> -- 
> Richard Dawe [ ]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]