[Pkg-qof-maintainers] Bug#462007: -dbg package generation
Neil Williams
codehelp at debian.org
Thu Jan 24 20:38:16 UTC 2008
FTR, in the list from my previous post, libgpewidget uses only debhelper
directly and does not use CDBS, yet those debug symbols are also not
recognized by objdump despite being present in the installed file.
Just as with all the other files, the files installed by the -dbg
package include the debugging symbols alongside the rest of the library.
Similarly with libc6-dbg (freshly installed for this test):
$ objdump -e /usr/lib/debug/libutil.so.1
objdump: /usr/lib/debug/libutil.so.1: no recognized debugging
information
$ objdump.single -e /usr/lib/debug/libutil.so.1
objdump.single: /usr/lib/debug/libutil.so.1: no recognized debugging
information
$ objdump -e /usr/lib/debug/lib*.so.* | xargs objdump -e
objdump: /usr/lib/debug/libanl.so.1: no recognized debugging information
objdump: /usr/lib/debug/libBrokenLocale.so.1: no recognized debugging
information
objdump: /usr/lib/debug/libcidn.so.1: no recognized debugging
information
objdump: /usr/lib/debug/libcrypt.so.1: no recognized debugging
information
objdump: /usr/lib/debug/libc.so.6: no recognized debugging information
objdump: /usr/lib/debug/libdl.so.2: no recognized debugging information
objdump: /usr/lib/debug/libm.so.6: no recognized debugging information
objdump: /usr/lib/debug/libnsl.so.1: no recognized debugging information
objdump: /usr/lib/debug/libnss_compat.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libnss_dns.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libnss_files.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libnss_hesiod.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libnss_nisplus.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libnss_nis.so.2: no recognized debugging
information
objdump: /usr/lib/debug/libpthread.so.0: no recognized debugging
information
objdump: /usr/lib/debug/libresolv.so.2: no recognized debugging
information
objdump: /usr/lib/debug/librt.so.1: no recognized debugging information
objdump: /usr/lib/debug/libthread_db.so.1: no recognized debugging
information
objdump: /usr/lib/debug/libutil.so.1: no recognized debugging
information
$ file /usr/lib/debug/lib*.so
/usr/lib/debug/libanl-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libBrokenLocale-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libc-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libcidn-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libcrypt-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libdl-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libm-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libmemusage.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnsl-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_compat-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_dns-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_files-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_hesiod-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_nis-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libnss_nisplus-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libpcprofile.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libpthread-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libresolv-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/librt-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libSegFault.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libthread_db-1.0.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
/usr/lib/debug/libutil-2.7.so: ELF 64-bit LSB shared object,
x86-64, version 1 (SYSV), for GNU/Linux 2.6.8, not stripped
I would be *very* surprised if all these packages were wrong.
Similar results from objdump -g too :
f$ objdump -g /usr/lib/debug/lib*.so.*
/usr/lib/debug/libanl.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libanl.so.1: no recognized debugging information
/usr/lib/debug/libBrokenLocale.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libBrokenLocale.so.1: no recognized debugging
information
/usr/lib/debug/libcidn.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libcidn.so.1: no recognized debugging
information
/usr/lib/debug/libcrypt.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libcrypt.so.1: no recognized debugging
information
/usr/lib/debug/libc.so.6: file format elf64-x86-64
objdump: /usr/lib/debug/libc.so.6: no recognized debugging information
/usr/lib/debug/libdl.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libdl.so.2: no recognized debugging information
/usr/lib/debug/libm.so.6: file format elf64-x86-64
objdump: /usr/lib/debug/libm.so.6: no recognized debugging information
/usr/lib/debug/libnsl.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libnsl.so.1: no recognized debugging information
/usr/lib/debug/libnss_compat.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_compat.so.2: no recognized debugging
information
/usr/lib/debug/libnss_dns.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_dns.so.2: no recognized debugging
information
/usr/lib/debug/libnss_files.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_files.so.2: no recognized debugging
information
/usr/lib/debug/libnss_hesiod.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_hesiod.so.2: no recognized debugging
information
/usr/lib/debug/libnss_nisplus.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_nisplus.so.2: no recognized debugging
information
/usr/lib/debug/libnss_nis.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libnss_nis.so.2: no recognized debugging
information
/usr/lib/debug/libpthread.so.0: file format elf64-x86-64
objdump: /usr/lib/debug/libpthread.so.0: no recognized debugging
information
/usr/lib/debug/libresolv.so.2: file format elf64-x86-64
objdump: /usr/lib/debug/libresolv.so.2: no recognized debugging
information
/usr/lib/debug/librt.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/librt.so.1: no recognized debugging information
/usr/lib/debug/libthread_db.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libthread_db.so.1: no recognized debugging
information
/usr/lib/debug/libutil.so.1: file format elf64-x86-64
objdump: /usr/lib/debug/libutil.so.1: no recognized debugging
information
Compare that with the results of:
$ readelf -w /usr/lib/debug/usr/lib/libqof.so.1
and
$ readelf -w /usr/lib/libqof.so.1
Just a sample from readelf -w /usr/lib/debug/usr/lib/libqof.so.1 :
Offset Name
1068 QofLogLevelasString
1118 qof_log_add_indent
1146 qof_log_get_indent
1178 qof_log_drop_indent
1206 qof_log_set_file
1357 qof_log_module_count
1390 qof_log_module_foreach
1471 qof_log_set_level_registered
1535 qof_log_prettify
1627 qof_log_shutdown
1733 qof_log_set_level
1812 qof_log_set_default
1861 qof_log_init
1890 qof_log_init_filename
2046 QofLogLevelfromString
The actual output went on so long I had to kill it but suffice it to say
that these are precisely the symbols that I would expect to find in the
-dbg package for QOF (and as upstream, I think I should know what to
expect).
Clearly, readelf is fully capable of finding the debug symbols that
objdump cannot and equally clearly, usr/lib/debug/usr/lib/libqof.so.1
contains debug symbols that usr/lib/libqof.so.1 does not.
So far, I have failed to find any -dbg package that provides the
expected output from objdump -e or objdump -g yet all provide reams and
reams of data with readelf -w whilst the normal versions do not.
--
Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.alioth.debian.org/pipermail/pkg-qof-maintainers/attachments/20080124/3de9ab0d/attachment-0001.pgp
More information about the Pkg-qof-maintainers
mailing list