[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