This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
gdb/2171: No backtrace generated on amd64
- From: madcoder at gmail dot com
- To: gdb-gnats at sources dot redhat dot com
- Cc: madcoder at gmail dot com
- Date: 16 Sep 2006 00:05:32 -0000
- Subject: gdb/2171: No backtrace generated on amd64
- Reply-to: madcoder at gmail dot com
>Number: 2171
>Category: gdb
>Synopsis: No backtrace generated on amd64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: support
>Submitter-Id: net
>Arrival-Date: Sat Sep 16 00:08:01 UTC 2006
>Closed-Date:
>Last-Modified:
>Originator: madcoder@gmail.com
>Release: GNU gdb 6.5
>Organization:
>Environment:
Linux elpdat01 2.6.15-gentoo-r5 #4 SMP Fri Aug 11 21:15:18 MDT 2006 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ GNU/Linux
-----
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/specs
Configured with: /var/tmp/portage/gcc-3.4.6-r1/work/gcc-3.4.6/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.6 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.6/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/include/g++-v3 --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --enable-multilib --disable-libgcj --enable-languages=c,c++,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 3.4.6 (Gentoo Hardened 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)
-----
This GDB was configured as "x86_64-pc-linux-gnu".
>Description:
I've compiled an application (php) with debugging symbols, yet when I run it through gdb on an amd64 machine, I only get the memory addresses, no useful information. I have verified that debugging symbols are in fact compiled into the binaries:
> # file /usr/lib64/php5/bin/php
> /usr/lib64/php5/bin/php: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.1, __not stripped__
And the coredump has debugging symbols in it:
> # strings core | grep zend
> zend_version
> zend_thread_safe
> zend_version
> (etc...)
Yet when I run the core through gdb this is what I get:
> # gdb php core
> GNU gdb 6.5
> This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
> Core was generated by `php -e test.php'.
> Program terminated with signal 11, Segmentation fault.
> #0 0x00002aaaac8d1e44 in ?? ()
> (gdb) thread apply bt all
> (gdb) bt
> #0 0x00002aaaac8d1e44 in ?? ()
> #1 0x00000000559d27f0 in ?? ()
> #2 0x0000555555f73cb0 in ?? ()
> (etc...)
I can't get a useful backtrace from this in order to file a bug report with PHP. PHP was configured with --enable-debug, and compiled with -g (also tried -g2 and -ggdb), and nothing has worked.
>How-To-Repeat:
Consistent. Run php via gdb, or run a php core file through gdb.
>Fix:
Yes please :)
>Release-Note:
>Audit-Trail:
>Unformatted: