public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* dwarf2 unwind info check broken
@ 2002-03-17  2:14 Andreas Jaeger
  2002-03-17  2:19 ` Andreas Jaeger
  0 siblings, 1 reply; 15+ messages in thread
From: Andreas Jaeger @ 2002-03-17  2:14 UTC (permalink / raw)
  To: GNU libc hacker


With current binutils and both gcc 2.95.3 and GCC 3.2 CVS on
i686-linux-gnu I now get:

checking for DWARF2 unwind info support... (cached) no

The test program from configure:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static char __EH_FRAME_BEGIN__[];
_start ()
{
#ifdef CHECK__register_frame
  __register_frame (__EH_FRAME_BEGIN__);
  __deregister_frame (__EH_FRAME_BEGIN__);
#endif
#ifdef CHECK__register_frame_info
  __register_frame_info (__EH_FRAME_BEGIN__);
  __deregister_frame_info (__EH_FRAME_BEGIN__);
#endif
}
int __eh_pc;
__throw () {}
/* FIXME: this is fragile.  */
malloc () {}
strcmp () {}
strlen () {}
memcpy () {}
memset () {}
free () {}
abort () {}
__bzero () {}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

gives with gcc 2.95.3:
gromit:~/tmp:[1]$ gcc -O2 -DCHECK__register_frame_info -nostdlib -nostartfiles -o conftest dwarf-test.c -lgcc
dwarf-test.c: In function `abort':
dwarf-test.c:22: warning: `noreturn' function does return
/tmp/ccXEbOxh.o: In function `_start':
/tmp/ccXEbOxh.o(.text+0xa): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccXEbOxh.o(.text+0x17): undefined reference to `__EH_FRAME_BEGIN__'
collect2: ld returned 1 exit status
gromit:~/tmp:[1]$ gcc -O2 -DCHECK__register_frame -nostdlib -nostartfiles -o conftest dwarf-test.c -lgcc
dwarf-test.c: In function `abort':
dwarf-test.c:22: warning: `noreturn' function does return
/tmp/ccyGGtkH.o: In function `_start':
/tmp/ccyGGtkH.o(.text+0xa): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccyGGtkH.o(.text+0x17): undefined reference to `__EH_FRAME_BEGIN__'
collect2: ld returned 1 exit status

And with gcc 3.2 CVS:
gromit:~/tmp:[1]$ /opt/gcc/3.2-devel/bin/gcc -O2 -DCHECK__register_frame_info -nostdlib -nostartfiles -o conftest dwarf-test.c -lgcc
dwarf-test.c: In function `abort':
dwarf-test.c:22: warning: `noreturn' function does return
/tmp/ccaTwPiF.o: In function `_start':
/tmp/ccaTwPiF.o(.text+0x9): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccaTwPiF.o(.text+0xe): undefined reference to `__register_frame_info'
/tmp/ccaTwPiF.o(.text+0x15): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccaTwPiF.o(.text+0x1a): undefined reference to `__deregister_frame_info'
collect2: ld returned 1 exit status
gromit:~/tmp:[1]$ /opt/gcc/3.2-devel/bin/gcc -O2 -DCHECK__register_frame -nostdlib -nostartfiles -o conftest dwarf-test.c -lgcc
dwarf-test.c: In function `abort':
dwarf-test.c:22: warning: `noreturn' function does return
/tmp/ccWPMC6G.o: In function `_start':
/tmp/ccWPMC6G.o(.text+0x9): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccWPMC6G.o(.text+0xe): undefined reference to `__register_frame'
/tmp/ccWPMC6G.o(.text+0x15): undefined reference to `__EH_FRAME_BEGIN__'
/tmp/ccWPMC6G.o(.text+0x1a): undefined reference to `__deregister_frame'
collect2: ld returned 1 exit status

Any ideas?

This leads to the following bug when linking sln:

/opt/gcc/3.2-devel/bin/gcc -nostdlib -nostartfiles -static -o /builds/glibc/gcc-3.2/elf/sln   /builds/glibc/gcc-3.2/csu/crt1.o /builds/glibc/gcc-3.2/csu/crti.o `/opt/gcc/3.2-devel/bin/gcc --print-file-name=crtbegin.o` /builds/glibc/gcc-3.2/elf/sln.o  /builds/glibc/gcc-3.2/libc.a -lgcc /builds/glibc/gcc-3.2/libc.a `/opt/gcc/3.2-devel/bin/gcc --print-file-name=crtend.o` /builds/glibc/gcc-3.2/csu/crtn.o
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o: In function `__do_global_dtors_aux':
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o(.text+0x36): undefined reference to `__deregister_frame_info_bases'
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o(.text+0x46): undefined reference to `__deregister_frame_info_bases'
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o: In function `frame_dummy':
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o(.text+0x62): undefined reference to `__register_frame_info_bases'
/opt/gcc/3.2-devel/lib/gcc-lib/i686-pc-linux-gnu/3.2/crtbegin.o(.text+0x97): undefined reference to `__register_frame_info_bases'
collect2: ld returned 1 exit status
make[2]: *** [/builds/glibc/gcc-3.2/elf/sln] Error 1

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-03-26  6:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-03-17  2:14 dwarf2 unwind info check broken Andreas Jaeger
2002-03-17  2:19 ` Andreas Jaeger
2002-03-17  4:25   ` Andreas Jaeger
2002-03-17  4:54     ` Andreas Jaeger
2002-03-17 12:14     ` Jakub Jelinek
2002-03-19  8:32       ` Andreas Jaeger
2002-03-19 12:19       ` Andreas Jaeger
     [not found]         ` <20020319160357.J1213@devserv.devel.redhat.com>
2002-03-19 13:25           ` Andreas Jaeger
2002-03-24  8:32       ` Andreas Jaeger
2002-03-24  9:34         ` Andreas Jaeger
2002-03-24 11:02           ` Jakub Jelinek
2002-03-24 11:48             ` Andreas Jaeger
2002-03-24 12:38               ` Jakub Jelinek
2002-03-25 22:30                 ` Andreas Jaeger
2002-03-17  7:02   ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).