On Mon, Aug 2, 2010 at 7:24 AM, patrick keshishian <pkesh...@gmail.com> wrote: > Hi, > > On Fri, Jul 30, 2010 at 5:49 AM, David Coppa <dco...@gmail.com> wrote:
> Reading symbols from /usr/libexec/ld.so...done. > Loaded symbols for /usr/libexec/ld.so > #0 0x221152f8 in dlsym () from /usr/libexec/ld.so > (gdb) bt full > #0 0x221152f8 in dlsym () from /usr/libexec/ld.so > No symbol table info available. > #1 0x2214af94 in ?? () from /usr/libexec/ld.so > No symbol table info available. > #2 0x2214af94 in ?? () from /usr/libexec/ld.so > No symbol table info available. > Previous frame identical to this frame (corrupt stack?) > > > > [2] Very simple program that calls dlopen() > $ ./so_loader > $ echo $? > 20 > $ gdb so_loader > GNU gdb 6.3 > Copyright 2004 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 "powerpc-unknown-openbsd4.7"... > (gdb) break main > Breakpoint 1 at 0x1800a64: file so_loader.c, line 35. > (gdb) r > Starting program: /home/sidster/src/so_loader > > Breakpoint 1, main (argc=1, argv=0xfffdd2c4) at so_loader.c:35 > 35 dh = dlopen(SOFILE, RTLD_NOW); > (gdb) n > > Program exited with code 024. > > This problem was identified as a gcc4 problem, mis-compiling ld.so. The following commit fixes it. > Date: Sun, 1 Aug 2010 11:55:28 -0600 (MDT) > From: Mark Kettenis <kette...@cvs.openbsd.org> > To: source-chan...@cvs.openbsd.org > Subject: CVS: cvs.openbsd.org: src > > CVSROOT: /cvs > Module name: src > Changes by: kette...@cvs.openbsd.org 2010/08/01 11:55:28 > > Modified files: > gnu/gcc/gcc/config/rs6000: rs6000.c > > Log message: > Make __builtin_return_address(0) work with -fstack-protector. Old diff > from Jakub Jelinek that never made it into upstream GCC. Fixes ld.so. > Found by drahn@ and me; ok miod@ -- Matthieu Herrb