[Bug 179072] _dl_debug_state() RT_CONSISTENT called too early
bugzilla at redhat.com
bugzilla at redhat.com
Wed Nov 12 22:40:16 UTC 2008
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=179072
--- Comment #13 from Jan Kratochvil <jan.kratochvil at redhat.com> 2008-11-12 17:40:14 EDT ---
Created an attachment (id=323395)
--> (https://bugzilla.redhat.com/attachment.cgi?id=323395)
Two testcases (not suitable for the glibc testsuite).
Testcase for the problem with libpthread loaded first only on dlopen().
Prerequisite is to run: prelink -uf /lib64/libpthread.so.0
GDB was tested gdb-6.8-1.fc9 up to GDB CVS HEAD snapshot.
$ gdb ./testload
...
(gdb) r
Starting program: /tmp/rh179072/testload
[Thread debugging using libthread_db enabled]
Error while reading shared library symbols:
Cannot find new threads: generic error
Cannot find new threads: generic error
(gdb) _
Testcase that the patched library and/or patched GDB fixes the threads problem:
$ gdb ./testload
...
(gdb) r
Starting program: /tmp/rh179072/testload
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff7fde6f0 (LWP 7018)]
[New Thread 0x7ffff7bc0950 (LWP 7021)]
[Thread 0x7ffff7bc0950 (LWP 7021) exited]
Program exited normally.
------------------------------------------------------------------------------
Testcase that at the (B) time (with the patch) we still cannot call safely
functions as they may expect static class variables to be initialized:
# class C {
# int i;
# C () { i = 1; }
# void f () { assert (i == 1); }
# };
$ gdb -x ./cxx.gdbinit
...
(gdb) p c
$1 = {i = 0}
(gdb) p c.f
$2 = {void (C *)} 0x7ffff7ddd73a <C::f()>
(gdb) p c.f()
cxxmain: cxxlib.C:8: void C::f(): Assertion `i == 1' failed.
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the fedora-triage-list
mailing list