problems loading shared libraries - with attached test case
Christopher Blizzard
blizzard@mozilla.org
Mon Mar 27 13:46:00 GMT 2000
Hi, I'm having problems loading shared libraries. This is with a build
of gdb out of cvs that I pulled and built on March 27th and has been
there for at least a week. I haven't gone back further than that. This
is with the gcc that is shipping with Red Hat 6.2:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
I'm using "set auto-solib-add 0" after main has been called. If I use
"shar" to load a shared library manually once I can't use it again to
load another shared library later. Please see the attached log for an
example of how to reproduce the problem.
--Chris
GNU gdb 20000204
Copyright 1998 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 "i686-pc-linux-gnu"...
(gdb) break main
Breakpoint 1 at 0x8048576: file main.c, line 5.
(gdb) r
Starting program: /home/blizzard/src/gdb_test/main
Breakpoint 1, main (argc=1, argv=0xbffff9c4) at main.c:5
5 void *handle0 = dlopen("./libdummy0.so", RTLD_LAZY);
(gdb) set auto-solib-add 0
(gdb) n
6 void *handle1 = dlopen("./libdummy1.so", RTLD_LAZY);
(gdb) n
7 void *handle2 = dlopen("./libdummy2.so", RTLD_LAZY);
(gdb) n
8 void *handle3 = dlopen("./libdummy3.so", RTLD_LAZY);
(gdb) n
9 printf("Hi.\n");
(gdb) shar dummy0
Reading symbols from /home/blizzard/src/gdb_test/./libdummy0.so...done.
Loaded symbols for /home/blizzard/src/gdb_test/./libdummy0.so
(gdb) shar dummy1
(gdb) info shar
>From To Syms Read Shared Object Library
0x4001a000 0x4001d08c Yes /lib/libdl.so.2
0x4001e000 0x4005ff90 Yes /usr/lib/libstdc++-libc6.1-1.so.2
0x40060000 0x4007c9d8 Yes /lib/libm.so.6
0x4007d000 0x4017185c Yes /lib/libc.so.6
0x40000000 0x40013ed0 Yes /lib/ld-linux.so.2
0x40015000 0x40016cdc Yes
/home/blizzard/src/gdb_test/./libdummy0.so
0x40017000 0x40018cdc No
/home/blizzard/src/gdb_test/./libdummy1.so
0x40173000 0x40174cdc No
/home/blizzard/src/gdb_test/./libdummy2.so
0x40175000 0x40176cdc No
/home/blizzard/src/gdb_test/./libdummy3.so
(gdb) shar dummy3
(gdb) shar /home/blizzard/src/gdb_test/./libdummy2.so
(gdb) info shar
>From To Syms Read Shared Object Library
0x4001a000 0x4001d08c Yes /lib/libdl.so.2
0x4001e000 0x4005ff90 Yes /usr/lib/libstdc++-libc6.1-1.so.2
0x40060000 0x4007c9d8 Yes /lib/libm.so.6
0x4007d000 0x4017185c Yes /lib/libc.so.6
0x40000000 0x40013ed0 Yes /lib/ld-linux.so.2
0x40015000 0x40016cdc Yes
/home/blizzard/src/gdb_test/./libdummy0.so
0x40017000 0x40018cdc No
/home/blizzard/src/gdb_test/./libdummy1.so
0x40173000 0x40174cdc No
/home/blizzard/src/gdb_test/./libdummy2.so
0x40175000 0x40176cdc No
/home/blizzard/src/gdb_test/./libdummy3.so
(gdb)
--
------------
Christopher Blizzard
http://people.redhat.com/blizzard/
I bet a funny thing about driving a car off a cliff is, while
you're in midair, you still hit those brakes! Hey, better try
the emergency brake!
------------
CFLAGS = -g
SHLIBS = libdummy0.so libdummy1.so libdummy2.so libdummy3.so
TARGET = main
all: $(SHLIBS) $(TARGET)
main: main.c
g++ $(CFLAGS) -o main main.c -ldl
libdummy0.cpp: gen_files.pl
./gen_files.pl dummy0 > libdummy0.cpp
libdummy0.so: libdummy0.cpp
g++ $(CFLAGS) -o libdummy0.so -shared -fPIC libdummy0.cpp
libdummy1.cpp: gen_files.pl
./gen_files.pl dummy1 > libdummy1.cpp
libdummy1.so: libdummy1.cpp
g++ $(CFLAGS) -o libdummy1.so -shared -fPIC libdummy1.cpp
libdummy2.cpp: gen_files.pl
./gen_files.pl dummy2 > libdummy2.cpp
libdummy2.so: libdummy2.cpp
g++ $(CFLAGS) -o libdummy2.so -shared -fPIC libdummy2.cpp
libdummy3.cpp: gen_files.pl
./gen_files.pl dummy3 > libdummy3.cpp
libdummy3.so: libdummy3.cpp
g++ $(CFLAGS) -o libdummy3.so -shared -fPIC libdummy3.cpp
clean:
rm -f libdummy*.cpp *.so *.o *~ main
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gen_files.pl
Type: text/x-perl
Size: 1198 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb/attachments/20000327/66f8c9d3/attachment.bin>
More information about the Gdb
mailing list