]> err.no Git - dpkg/commitdiff
Add non-regression tests for the identification of public libraries and executables
authorRaphael Hertzog <hertzog@debian.org>
Wed, 21 Nov 2007 10:53:19 +0000 (11:53 +0100)
committerRaphael Hertzog <hertzog@debian.org>
Wed, 21 Nov 2007 10:53:19 +0000 (11:53 +0100)
Make sure that Dpkg::Shlibs::Objdump::Object::is_public_library() and is_executable()
work as expected for a private library (Pg.so of the libdb-pg-perl package), a public
library (libc6) and an executable (ls). Also fix some typo in those functions (urgh).

scripts/Dpkg/Shlibs/Objdump.pm
scripts/t/200_Dpkg_Shlibs.t
scripts/t/200_Dpkg_Shlibs/objdump.dbd-pg [new file with mode: 0644]
scripts/t/200_Dpkg_Shlibs/objdump.ls [new file with mode: 0644]

index 37f201fe706117901499674f01ea1196421d5697..21225561417d44d4ea2fd9e983693bbd1c5af984 100644 (file)
@@ -122,9 +122,13 @@ sub reset {
     $self->{file} = '';
     $self->{id} = '';
     $self->{SONAME} = '';
+    $self->{HASH} = '';
+    $self->{GNU_HASH} = '';
+    $self->{SONAME} = '';
     $self->{NEEDED} = [];
     $self->{RPATH} = [];
     $self->{dynsyms} = {};
+    $self->{flags} = {};
 
     return $self;
 }
@@ -326,13 +330,13 @@ sub get_needed_libraries {
 
 sub is_executable {
     my $self = shift;
-    return exists $self->{flags}{EXEC_P} && $self->{flags}{EXEC_P});
+    return exists $self->{flags}{EXEC_P} && $self->{flags}{EXEC_P};
 }
 
 sub is_public_library {
     my $self = shift;
     return exists $self->{flags}{DYNAMIC} && $self->{flags}{DYNAMIC}
-       && exists $self->{SONAME} && $self->{SONAME});
+       && exists $self->{SONAME} && $self->{SONAME};
 }
 
 1;
index 7a02d41f719a1b2b5015ac242c36e376bdee9c5a..bfc5da274ce729c7c92d5b6334f930e83c9c99cf 100644 (file)
@@ -1,6 +1,6 @@
 # -*- mode: cperl;-*-
 
-use Test::More tests => 27;
+use Test::More tests => 33;
 
 use strict;
 use warnings;
@@ -24,11 +24,30 @@ use_ok('Dpkg::Shlibs::Objdump');
 
 my $obj = Dpkg::Shlibs::Objdump::Object->new;
 
-open my $objdump, '<', "$srcdir/objdump.libc6-2.6"
+open my $objdump, '<', "$srcdir/objdump.dbd-pg"
+  or die "$srcdir/objdump.dbd-pg: $!";
+$obj->_parse($objdump);
+close $objdump;
+ok(!$obj->is_public_library(), 'Pg.so is not a public library');
+ok(!$obj->is_executable(), 'Pg.so is not an executable');
+
+open $objdump, '<', "$srcdir/objdump.ls"
+  or die "$srcdir/objdump.ls: $!";
+$obj->reset();
+$obj->_parse($objdump);
+close $objdump;
+ok(!$obj->is_public_library(), 'ls is not a public library');
+ok($obj->is_executable(), 'ls is an executable');
+
+open $objdump, '<', "$srcdir/objdump.libc6-2.6"
   or die "$srcdir/objdump.libc6-2.6: $!";
+$obj->reset();
 $obj->_parse($objdump);
 close $objdump;
 
+ok($obj->is_public_library(), 'libc6 is a public library');
+ok(!$obj->is_executable(), 'libc6 is not an executable');
+
 is($obj->{SONAME}, 'libc.so.6', 'SONAME');
 is($obj->{HASH}, '0x13d99c', 'HASH');
 is($obj->{GNU_HASH}, '0x194', 'GNU_HASH');
diff --git a/scripts/t/200_Dpkg_Shlibs/objdump.dbd-pg b/scripts/t/200_Dpkg_Shlibs/objdump.dbd-pg
new file mode 100644 (file)
index 0000000..c515dff
--- /dev/null
@@ -0,0 +1,309 @@
+
+/usr/lib/perl5/auto/DBD/Pg/Pg.so:     file format elf32-i386
+architecture: i386, flags 0x00000150:
+HAS_SYMS, DYNAMIC, D_PAGED
+start address 0x000048f0
+
+Program Header:
+    LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
+         filesz 0x00020c10 memsz 0x00020c10 flags r-x
+    LOAD off    0x00021000 vaddr 0x00021000 paddr 0x00021000 align 2**12
+         filesz 0x00000c70 memsz 0x00000c74 flags rw-
+ DYNAMIC off    0x00021014 vaddr 0x00021014 paddr 0x00021014 align 2**2
+         filesz 0x000000d0 memsz 0x000000d0 flags rw-
+   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
+         filesz 0x00000000 memsz 0x00000000 flags rw-
+
+Dynamic Section:
+  NEEDED      libpq.so.5
+  NEEDED      libc.so.6
+  INIT        0x3d00
+  FINI        0x1d854
+  HASH        0xb4
+  GNU_HASH    0x7e8
+  STRTAB      0x1c30
+  SYMTAB      0xbd0
+  STRSZ       0xfa4
+  SYMENT      0x10
+  PLTGOT      0x211c8
+  PLTRELSZ    0x5d8
+  PLTREL      0x11
+  JMPREL      0x3728
+  REL         0x2e20
+  RELSZ       0x908
+  RELENT      0x8
+  VERNEED     0x2de0
+  VERNEEDNUM  0x1
+  VERSYM      0x2bd4
+  RELCOUNT    0x52
+
+Version References:
+  required from libc.so.6:
+    0x09691f73 0x00 04 GLIBC_2.1.3
+    0x0d696911 0x00 03 GLIBC_2.1
+    0x0d696910 0x00 02 GLIBC_2.0
+
+DYNAMIC SYMBOL TABLE:
+00000000      D  *UND* 00000000              Perl_Top_ptr
+00000000      DF *UND* 00000034  GLIBC_2.0   sprintf
+00000000      DF *UND* 00000014              PQcmdStatus
+00000000      D  *UND* 00000000              Perl_mg_get
+00000000      D  *UND* 00000000              Perl_sv_setiv
+00000000      D  *UND* 00000000              Perl_is_utf8_string
+00000000      D  *UND* 00000000              Perl_sv_free
+00000000      DF *UND* 00000011              PQpass
+00000000      DF *UND* 00000191              PQputCopyEnd
+00000000      D  *UND* 00000000              Perl_av_len
+00000000      D  *UND* 00000000              Perl_get_sv
+00000000      D  *UND* 00000000              PerlIO_printf
+00000000      D  *UND* 00000000              Perl_Tstack_base_ptr
+00000000      D  *UND* 00000000              Perl_newRV_noinc
+00000000      DF *UND* 000000ba              lo_tell
+00000000      DF *UND* 00000058              PQconsumeInput
+00000000  w   D  *UND* 00000000              __gmon_start__
+00000000  w   D  *UND* 00000000              _Jv_RegisterClasses
+00000000      DF *UND* 00000175              PQgetResult
+00000000      D  *UND* 00000000              Perl_Tstack_max_ptr
+00000000      D  *UND* 00000000              Perl_av_make
+00000000      DF *UND* 0000004d              PQfmod
+00000000      DF *UND* 00000024              PQprotocolVersion
+00000000      D  *UND* 00000000              Perl_sv_2uv
+00000000      DF *UND* 00000021              PQsetNoticeProcessor
+00000000      DF *UND* 000000c6  GLIBC_2.0   strncpy
+00000000      DF *UND* 00000014              PQstatus
+00000000      D  *UND* 00000000              Perl_Isv_yes_ptr
+00000000      DF *UND* 00000058  GLIBC_2.0   memset
+00000000      D  *UND* 00000000              Perl_warn_nocontext
+00000000      D  *UND* 00000000              Perl_sv_2mortal
+00000000      D  *UND* 00000000              Perl_Tstack_sp_ptr
+00000000      DF *UND* 00000014              PQresultStatus
+00000000      DF *UND* 00000045  GLIBC_2.0   __strtol_internal
+00000000      DF *UND* 00000019              PQhost
+00000000      D  *UND* 00000000              Perl_sv_setpv
+00000000      D  *UND* 00000000              Perl_av_undef
+00000000      DF *UND* 000000e2              lo_lseek
+00000000      DF *UND* 0000004d              PQftable
+00000000      D  *UND* 00000000              Perl_form
+00000000      DF *UND* 00000024              PQbackendPID
+00000000      DF *UND* 00000010              PQntuples
+00000000      DF *UND* 00000099              PQoidValue
+00000000      DF *UND* 00000040              PQnotifies
+00000000      DF *UND* 0000004d              PQftype
+00000000      DF *UND* 00000048              PQgetisnull
+00000000      DF *UND* 00000033              PQresultErrorField
+00000000      D  *UND* 00000000              Perl_Tmarkstack_max_ptr
+00000000      DF *UND* 000000bb              lo_creat
+00000000      DF *UND* 00000245              lo_export
+00000000      D  *UND* 00000000              pthread_getspecific
+00000000      DF *UND* 0000005d              PQexec
+00000000      DF *UND* 00000020              PQsetErrorVerbosity
+00000000      DF *UND* 00000041              PQconnectdb
+00000000      DF *UND* 0000001c              PQserverVersion
+00000000      D  *UND* 00000000              Perl_sv_2iv
+00000000      DF *UND* 0000003e              PQuntrace
+00000000      DF *UND* 00000036              PQtrace
+00000000      D  *UND* 00000000              PerlIO_findFILE
+00000000      D  *UND* 00000000              Perl_av_extend
+00000000      DF *UND* 00000046  GLIBC_2.0   memcpy
+00000000      DF *UND* 000000af  GLIBC_2.0   strlen
+00000000      D  *UND* 00000000              Perl_sv_upgrade
+00000000      DF *UND* 00000041              PQendcopy
+00000000      D  *UND* 00000000              Perl_hv_store_ent
+00000000      D  *UND* 00000000              Perl_av_store
+00000000      DF *UND* 0000009e              PQexecPrepared
+00000000      D  *UND* 00000000              Perl_sv_setpvn
+00000000      DF *UND* 000000ce              lo_read
+00000000      DF *UND* 00000024  GLIBC_2.0   strcpy
+00000000      D  *UND* 00000000              Perl_hv_fetch
+00000000      DF *UND* 00000011              PQoptions
+00000000      D  *UND* 00000000              Perl_stack_grow
+00000000      DF *UND* 00000011              PQdb
+00000000      DF *UND* 000001fa              lo_import
+00000000      D  *UND* 00000000              Perl_Tcurpad_ptr
+00000000      DF *UND* 00000014              PQsocket
+00000000      D  *UND* 00000000              Perl_sv_newmortal
+00000000      D  *UND* 00000000              Perl_av_fetch
+00000000      DF *UND* 00000011              PQuser
+00000000      DF *UND* 00000084              PQprepare
+00000000      DF *UND* 00000023              PQfreemem
+00000000      D  *UND* 00000000              Perl_Tdirty_ptr
+00000000      DF *UND* 00000062  GLIBC_2.0   strcasecmp
+00000000      DF *UND* 0000004d              PQftablecol
+00000000      DF *UND* 000000ba              lo_unlink
+00000000      D  *UND* 00000000              Perl_call_method
+00000000      D  *UND* 00000000              Perl_Tmarkstack_ptr_ptr
+00000000      DF *UND* 00000029              PQtransactionStatus
+00000000      DF *UND* 0000002c              PQfname
+00000000      D  *UND* 00000000              Perl_newSV
+00000000      D  *UND* 00000000              Perl_mg_set
+00000000      D  *UND* 00000000              Perl_sv_2io
+00000000      DF *UND* 0000012c              PQputCopyData
+00000000      D  *UND* 00000000              Perl_safesysrealloc
+00000000      DF *UND* 000000ab              PQexecParams
+00000000      D  *UND* 00000000              Perl_newSViv
+00000000      DF *UND* 000000a4              PQgetCopyData
+00000000      D  *UND* 00000000              Perl_sv_unref
+00000000      DF *UND* 00000027              PQfinish
+00000000      D  *UND* 00000000              Perl_Isv_no_ptr
+00000000      D  *UND* 00000000              Perl_mg_find
+00000000      DF *UND* 00000035              PQerrorMessage
+00000000      D  *UND* 00000000              Perl_newAV
+00000000      DF *UND* 000001aa  GLIBC_2.0   strcat
+00000000      D  *UND* 00000000              Perl_croak_nocontext
+00000000      D  *UND* 00000000              Perl_sv_grow
+00000000      DF *UND* 000000c6  GLIBC_2.1   __rawmemchr
+00000000      DF *UND* 00000011              PQnfields
+00000000      D  *UND* 00000000              Perl_av_pop
+00000000      DF *UND* 000000cd              lo_open
+00000000      D  *UND* 00000000              Perl_safesysmalloc
+00000000      D  *UND* 00000000              Perl_newSVpv
+00000000      D  *UND* 00000000              pow
+00000000      DF *UND* 00000034  GLIBC_2.0   sscanf
+00000000      D  *UND* 00000000              Perl_mg_size
+00000000      D  *UND* 00000000              Perl_av_push
+00000000      D  *UND* 00000000              Perl_Tna_ptr
+00000000      DF *UND* 000000f3  GLIBC_2.0   strncmp
+00000000      D  *UND* 00000000              PL_memory_wrap
+00000000      D  *UND* 00000000              Perl_croak
+00000000      D  *UND* 00000000              Perl_Isv_undef_ptr
+00000000      D  *UND* 00000000              Perl_safesysfree
+00000000      DF *UND* 00000011              PQport
+00000000      DF *UND* 0000003f              PQgetvalue
+00000000      DF *UND* 0000003b  GLIBC_2.0   snprintf
+00000000      D  *UND* 00000000              Perl_newXS
+00000000      DF *UND* 000000ba              lo_close
+00000000      D  *UND* 00000000              Perl_newSVuv
+00000000      D  *UND* 00000000              Perl_sv_2bool
+00000000      D  *UND* 00000000              Perl_newHV
+00000000      D  *UND* 00000000              Perl_Gthr_key_ptr
+00000000      DF *UND* 00000054  GLIBC_2.0   strcmp
+00000000  w   DF *UND* 00000176  GLIBC_2.1.3 __cxa_finalize
+00000000      D  *UND* 00000000              Perl_newSVpvn
+00000000      D  *UND* 00000000              Perl_markstack_grow
+00000000      DF *UND* 000000eb              lo_write
+00000000      DF *UND* 00000175              PQcmdTuples
+00000000      D  *UND* 00000000              Perl_newRV
+00000000      DF *UND* 0000004d              PQfsize
+00000000      D  *UND* 00000000              Perl_sv_backoff
+00000000      D  *UND* 00000000              Perl_dowantarray
+00000000      DF *UND* 0000006e              PQclear
+00000000      D  *UND* 00000000              Perl_sv_2pv_flags
+0000b0b0 g    DF .text 000001a6  Base        XS_DBD__Pg__db__ping
+00006bc0 g    DF .text 0000025f  Base        XS_DBD__Pg__db__pg_type_info
+0001cac0 g    DF .text 00000059  Base        dequote_bool
+00007f00 g    DF .text 0000026b  Base        XS_DBD__Pg__db_putline
+00007100 g    DF .text 000001a0  Base        XS_DBD__Pg__db_endcopy
+00006e20 g    DF .text 00000133  Base        XS_DBD__Pg__db_pg_server_untrace
+0000a750 g    DF .text 000002d3  Base        XS_DBD__Pg__db_pg_rollback_to
+00012e00 g    DF .text 00000211  Base        pg_db_release
+00018120 g    DF .text 00001707  Base        dbd_st_prepare
+000138a0 g    DF .text 00000234  Base        pg_db_getline
+00010800 g    DF .text 0000062a  Base        XS_DBD__Pg__db_selectall_arrayref
+0000ad10 g    DF .text 000001a6  Base        XS_DBD__Pg__db_pg_notifies
+00007990 g    DF .text 0000056c  Base        XS_DBD__Pg__db_pg_getline
+00013270 g    DF .text 0000020a  Base        pg_db_savepoint
+00009640 g    DF .text 00000619  Base        XS_DBD__Pg__db_lo_read
+00010e30 g    DF .text 00000413  Base        XS_DBD__Pg__db__login
+0001a890 g    DF .text 00000022  Base        dbd_db_rollback
+0001b150 g    DF .text 000006d7  Base        dbd_db_login
+00019a60 g    DF .text 000000ae  Base        dbd_db_getfd
+00019e60 g    DF .text 00000657  Base        dbd_db_FETCH_attrib
+0001d020 g    DF .text 000000b2  Base        quote_bool
+00010020 g    DF .text 0000020e  Base        XS_DBD__Pg__db_commit
+0001ca90 g    DF .text 00000028  Base        dequote_char
+00012cf0 g    DF .text 00000104  Base        pg_db_lo_creat
+00007440 g    DF .text 00000542  Base        XS_DBD__Pg__db_getline
+00006f60 g    DF .text 00000194  Base        XS_DBD__Pg__db_pg_server_trace
+00012be0 g    DF .text 00000103  Base        pg_db_lo_write
+0000db20 g    DF .text 00000608  Base        XS_DBD__Pg__st_blob_read
+0000aa30 g    DF .text 000002d3  Base        XS_DBD__Pg__db_pg_savepoint
+0000bcb0 g    DF .text 000002d8  Base        XS_DBD__Pg__st_execute
+0001d0e0 g    DF .text 00000156  Base        quote_bytea
+00008e70 g    DF .text 000003db  Base        XS_DBD__Pg__db_lo_lseek
+0001cb20 g    DF .text 000000c2  Base        quote_circle
+0000e950 g    DF .text 00000266  Base        XS_DBD__Pg__st_fetchall_arrayref
+0001d780 g    DF .text 0000009b  Base        sql_type_data
+00021c70 g    D  *ABS* 00000000  Base        _edata
+00015df0 g    DF .text 00000155  Base        dbd_st_finish
+0000d220 g    DF .text 000003f4  Base        XS_DBD__Pg__st_DESTROY
+0000aec0 g    DF .text 000001e5  Base        XS_DBD__Pg__db_getfd
+0001ccc0 g    DF .text 000000b2  Base        quote_geom
+0001d2e0 g    DF .text 00000497  Base        pg_type_data
+00015c30 g    DF .text 000001b5  Base        dbd_db_ping
+0001d854 g    DF .fini 00000000  Base        _fini
+00013560 g    DF .text 000000e7  Base        pg_db_pg_server_trace
+000127b0 g    DF .text 00000118  Base        pg_db_lo_open
+00003d00 g    DF .init 00000000  Base        _init
+0000e130 g    DF .text 0000022f  Base        XS_DBD__Pg__st_fetchrow_array
+0001cbf0 g    DF .text 000000c2  Base        quote_path
+00015930 g    DF .text 000002f9  Base        dbd_st_destroy
+00011450 g    DF .text 00000336  Base        XS_DBD__Pg_constant
+00014fb0 g    DF .text 0000029e  Base        dbd_st_STORE_attrib
+0000cac0 g    DF .text 000004bc  Base        XS_DBD__Pg__st_bind_param
+0000f190 g    DF .text 0000020e  Base        XS_DBD__Pg__db_rollback
+00004990 g    DF .text 00001e07  Base        boot_DBD__Pg
+00021c70 g    D  *ABS* 00000000  Base        __bss_start
+0001ca60 g    DF .text 00000028  Base        dequote_string
+0000d840 g    DF .text 000002d2  Base        XS_DBD__Pg__st_STORE
+00008170 g    DF .text 0000026b  Base        XS_DBD__Pg__db_pg_putline
+0001c790 g    DF .text 00000295  Base        pg_quickexec
+000072a0 g    DF .text 0000019f  Base        XS_DBD__Pg__db_pg_endcopy
+00008700 g    DF .text 0000028b  Base        XS_DBD__Pg__db_lo_import
+00019830 g    DF .text 0000022b  Base        dbd_db_pg_notifies
+00011ab0 g    DF .text 000000ee  Base        pg_db_lo_close
+0001ae70 g    DF .text 000001c6  Base        dbd_db_disconnect
+00021c74 g    D  *ABS* 00000000  Base        _end
+0000cf80 g    DF .text 000002a0  Base        XS_DBD__Pg__st_finish
+00019b10 g    DF .text 00000343  Base        dbd_discon_all
+00011790 g    DF .text 00000050  Base        dbd_init
+000117e0 g    DF .text 000000a9  Base        dbd_st_rows
+0001a8c0 g    DF .text 00000022  Base        dbd_db_commit
+00009ec0 g    DF .text 0000032b  Base        XS_DBD__Pg__db_lo_open
+0001ce70 g    DF .text 000000fe  Base        dequote_bytea
+0000ebc0 g    DF .text 000001f0  Base        XS_DBD__Pg__st_rows
+0000bf90 g    DF .text 0000056d  Base        XS_DBD__Pg__db_quote
+0001cfb0 g    DF .text 0000006c  Base        quote_integer
+0000d620 g    DF .text 0000021b  Base        XS_DBD__Pg__st_FETCH_attrib
+00013480 g    DF .text 000000e0  Base        pg_db_pg_server_untrace
+0000a1f0 g    DF .text 0000027c  Base        XS_DBD__Pg__db_lo_creat
+00009250 g    DF .text 000003eb  Base        XS_DBD__Pg__db_lo_write
+000067a0 g    DF .text 00000208  Base        XS_DBD__Pg__st_state
+0001ca30 g    DF .text 00000028  Base        null_dequote
+00013020 g    DF .text 00000250  Base        pg_db_rollback_to
+00010230 g    DF .text 000005cb  Base        XS_DBD__Pg__db_selectrow_arrayref
+00008990 g    DF .text 0000025b  Base        XS_DBD__Pg__db_lo_unlink
+000128d0 g    DF .text 00000104  Base        pg_db_lo_import
+0000fb30 g    DF .text 0000020a  Base        XS_DBD__Pg__db_FETCH
+00012af0 g    DF .text 000000ee  Base        pg_db_lo_tell
+0000a470 g    DF .text 000002d3  Base        XS_DBD__Pg__db_pg_release
+00011250 g    DF .text 000001fa  Base        XS_DBD__Pg__dr_discon_all_
+00013ce0 g    DF .text 000012cd  Base        dbd_st_FETCH_attrib
+0000b860 g    DF .text 00000450  Base        XS_DBD__Pg__db_do
+0000edb0 g    DF .text 000003d6  Base        XS_DBD__Pg__st__prepare
+0001d240 g    DF .text 0000003f  Base        quote_sql_binary
+0000fd40 g    DF .text 000002d2  Base        XS_DBD__Pg__db_STORE
+000083e0 g    DF .text 0000031b  Base        XS_DBD__Pg__db_lo_export
+0001cd80 g    DF .text 000000e4  Base        quote_string
+0000f3a0 g    DF .text 00000378  Base        XS_DBD__Pg__db_disconnect
+0000c500 g    DF .text 000005be  Base        XS_DBD__Pg__st_bind_param_inout
+0000f720 g    DF .text 0000040e  Base        XS_DBD__Pg__db_DESTROY
+00013ae0 g    DF .text 000001f4  Base        pg_db_putline
+00013650 g    DF .text 00000244  Base        pg_db_endcopy
+00016b40 g    DF .text 000015d1  Base        dbd_st_execute
+000129e0 g    DF .text 00000110  Base        pg_db_lo_unlink
+0001cf70 g    DF .text 00000038  Base        dequote_sql_binary
+00011890 g    DF .text 0000010a  Base        pg_db_lo_lseek
+0001d280 g    DF .text 00000055  Base        null_quote
+00008bf0 g    DF .text 0000027c  Base        XS_DBD__Pg__db_lo_tell
+0001a8f0 g    DF .text 00000579  Base        dbd_db_STORE_attrib
+0001b9a0 g    DF .text 00000def  Base        dbd_bind_ph
+000119a0 g    DF .text 00000103  Base        pg_db_lo_read
+00015f50 g    DF .text 000006ed  Base        dbd_st_fetch
+0000e360 g    DF .text 00000224  Base        XS_DBD__Pg__st_fetchrow_arrayref
+000069b0 g    DF .text 00000208  Base        XS_DBD__Pg__db_state
+00012690 g    DF .text 00000118  Base        pg_db_lo_export
+0001b040 g    DF .text 0000010f  Base        dbd_db_destroy
+00009c60 g    DF .text 0000025b  Base        XS_DBD__Pg__db_lo_close
+00011ea0 g    DF .text 00000379  Base        dbd_st_blob_read
+
+
diff --git a/scripts/t/200_Dpkg_Shlibs/objdump.ls b/scripts/t/200_Dpkg_Shlibs/objdump.ls
new file mode 100644 (file)
index 0000000..760d87e
--- /dev/null
@@ -0,0 +1,172 @@
+
+/bin/ls:     file format elf32-i386
+architecture: i386, flags 0x00000112:
+EXEC_P, HAS_SYMS, D_PAGED
+start address 0x08049b50
+
+Program Header:
+    PHDR off    0x00000034 vaddr 0x08048034 paddr 0x08048034 align 2**2
+         filesz 0x00000100 memsz 0x00000100 flags r-x
+  INTERP off    0x00000134 vaddr 0x08048134 paddr 0x08048134 align 2**0
+         filesz 0x00000013 memsz 0x00000013 flags r--
+    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
+         filesz 0x00012478 memsz 0x00012478 flags r-x
+    LOAD off    0x00012478 vaddr 0x0805b478 paddr 0x0805b478 align 2**12
+         filesz 0x000003b4 memsz 0x00000818 flags rw-
+ DYNAMIC off    0x0001248c vaddr 0x0805b48c paddr 0x0805b48c align 2**2
+         filesz 0x000000e8 memsz 0x000000e8 flags rw-
+    NOTE off    0x00000148 vaddr 0x08048148 paddr 0x08048148 align 2**2
+         filesz 0x00000020 memsz 0x00000020 flags r--
+EH_FRAME off    0x000123b0 vaddr 0x0805a3b0 paddr 0x0805a3b0 align 2**2
+         filesz 0x0000002c memsz 0x0000002c flags r--
+   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
+         filesz 0x00000000 memsz 0x00000000 flags rw-
+
+Dynamic Section:
+  NEEDED      librt.so.1
+  NEEDED      libacl.so.1
+  NEEDED      libselinux.so.1
+  NEEDED      libc.so.6
+  INIT        0x8049510
+  FINI        0x8056768
+  HASH        0x8048168
+  GNU_HASH    0x80484a4
+  STRTAB      0x8048bc0
+  SYMTAB      0x8048500
+  STRSZ       0x4a0
+  SYMENT      0x10
+  DEBUG       0x0
+  PLTGOT      0x805b57c
+  PLTRELSZ    0x300
+  PLTREL      0x11
+  JMPREL      0x8049210
+  REL         0x80491e8
+  RELSZ       0x28
+  RELENT      0x8
+  VERNEED     0x8049138
+  VERNEEDNUM  0x3
+  VERSYM      0x8049060
+
+Version References:
+  required from librt.so.1:
+    0x0d696912 0x00 08 GLIBC_2.2
+  required from libacl.so.1:
+    0x05822450 0x00 06 ACL_1.0
+  required from libc.so.6:
+    0x09691a73 0x00 09 GLIBC_2.2.3
+    0x0d696913 0x00 07 GLIBC_2.3
+    0x0d696911 0x00 05 GLIBC_2.1
+    0x09691f73 0x00 04 GLIBC_2.1.3
+    0x0d696912 0x00 03 GLIBC_2.2
+    0x0d696910 0x00 02 GLIBC_2.0
+
+DYNAMIC SYMBOL TABLE:
+00000000      DF *UND* 0000026e  GLIBC_2.0   abort
+00000000      DF *UND* 0000001d  GLIBC_2.0   __errno_location
+00000000      DF *UND* 0000004d  GLIBC_2.0   sigemptyset
+00000000      DF *UND* 00000034  GLIBC_2.0   sprintf
+00000000      DF *UND* 000001a2  GLIBC_2.2   localeconv
+00000000      DF *UND* 0000000a  GLIBC_2.0   dirfd
+00000000      DF *UND* 00000057  GLIBC_2.1.3 __cxa_atexit
+00000000      DF *UND* 00000037  GLIBC_2.0   strcoll
+00000000      DF *UND* 00000150  GLIBC_2.0   qsort
+00000000      DF *UND* 00000094  GLIBC_2.1   fputs_unlocked
+00000000      DF *UND* 0000001e  GLIBC_2.0   __ctype_get_mb_cur_max
+00000000      DF *UND* 000000d9  GLIBC_2.0   signal
+00000000      DF *UND* 0000006e  GLIBC_2.0   sigismember
+00000000  w   D  *UND* 00000000              __gmon_start__
+00000000  w   D  *UND* 00000000              _Jv_RegisterClasses
+00000000      DF *UND* 00000490  GLIBC_2.0   realloc
+00000000      DF *UND* 0000003f  GLIBC_2.2   __xstat64
+00000000      DF *UND* 00000035  GLIBC_2.0   localtime
+00000000      DF *UND* 00000132  GLIBC_2.0   getgrnam
+00000000      DF *UND* 00000167  GLIBC_2.0   strchr
+00000000      DF *UND* 000000dc  GLIBC_2.0   getenv
+00000000      DF *UND* 00000304  GLIBC_2.0   calloc
+00000000      DF *UND* 000000c6  GLIBC_2.0   strncpy
+00000000      DF *UND* 00000023              freecon
+00000000      DF *UND* 00000058  GLIBC_2.0   memset
+00000000      DF *UND* 000001b2  GLIBC_2.0   __libc_start_main
+00000000      DF *UND* 00000044  GLIBC_2.1   mempcpy
+00000000      DF *UND* 000000c9  GLIBC_2.0   _obstack_begin
+00000000      DF *UND* 000001b9  GLIBC_2.0   strrchr
+00000000      DF *UND* 00000038  GLIBC_2.0   chmod
+00000000      DF *UND* 00000150  GLIBC_2.0   __assert_fail
+00000000      DF *UND* 00000015  GLIBC_2.0   bindtextdomain
+00000000      DF *UND* 00000215  GLIBC_2.0   mbrtowc
+00000000      DF *UND* 00000046  ACL_1.0     acl_delete_def_file
+00000000      DF *UND* 00000038  GLIBC_2.0   gettimeofday
+00000000      DF *UND* 0000003c  GLIBC_2.3   __ctype_toupper_loc
+00000000      DF *UND* 0000003f  GLIBC_2.2   __lxstat64
+00000000      DF *UND* 00000195  GLIBC_2.0   _obstack_newchunk
+00000000      DF *UND* 00000066  GLIBC_2.0   __overflow
+00000000      DF *UND* 00000049  GLIBC_2.0   dcgettext
+00000000      DF *UND* 00000160  GLIBC_2.0   sigaction
+00000000      DF *UND* 00000127  GLIBC_2.1   strverscmp
+00000000      DF *UND* 00000092  GLIBC_2.0   opendir
+00000000      DF *UND* 00000047  GLIBC_2.0   getopt_long
+00000000      DF *UND* 0000003a  GLIBC_2.0   ioctl
+00000000      DF *UND* 0000003c  GLIBC_2.3   __ctype_b_loc
+00000000      DF *UND* 000000c9  GLIBC_2.0   iswcntrl
+00000000      DF *UND* 00000032  GLIBC_2.0   isatty
+00000000      DF *UND* 000001e8  GLIBC_2.1   fclose
+00000000      DF *UND* 00000019  GLIBC_2.0   mbsinit
+00000000      DF *UND* 00000036  GLIBC_2.0   _setjmp
+00000000      DF *UND* 00000038  GLIBC_2.0   tcgetpgrp
+00000000      DF *UND* 0000003c  GLIBC_2.0   mktime
+00000000      DF *UND* 000000af  GLIBC_2.2   readdir64
+00000000      DF *UND* 00000046  GLIBC_2.0   memcpy
+00000000      DF *UND* 000000af  GLIBC_2.0   strlen
+00000000      DF *UND* 00000132  GLIBC_2.0   getpwuid
+00000000      DF *UND* 00000094  ACL_1.0     acl_extended_file
+00000000      DF *UND* 00000195  ACL_1.0     acl_get_file
+00000000      DF *UND* 000006b5  GLIBC_2.0   setlocale
+00000000      DF *UND* 0000002a  ACL_1.0     acl_entries
+00000000      DF *UND* 00000024  GLIBC_2.0   strcpy
+00000000      DF *UND* 00000039  GLIBC_2.0   printf
+00000000      DF *UND* 0000008c  GLIBC_2.0   raise
+00000000      DF *UND* 000000a2  GLIBC_2.1   fwrite_unlocked
+00000000      DF *UND* 00000115  GLIBC_2.2   clock_gettime
+00000000      DF *UND* 00000075              getfilecon
+00000000      DF *UND* 00000055  GLIBC_2.0   closedir
+00000000      DF *UND* 00000024  GLIBC_2.0   fprintf
+00000000      DF *UND* 00000114  ACL_1.0     acl_set_file
+00000000      DF *UND* 0000009e  GLIBC_2.0   sigprocmask
+00000000      DF *UND* 0000002a  GLIBC_2.2   __fpending
+00000000      DF *UND* 00000075              lgetfilecon
+00000000      DF *UND* 000000d7  GLIBC_2.0   error
+00000000      DF *UND* 00000132  GLIBC_2.0   getgrgid
+00000000      DF *UND* 00000045  GLIBC_2.0   __strtoull_internal
+00000000      DF *UND* 0000006a  GLIBC_2.0   sigaddset
+00000000      DF *UND* 0000003a  GLIBC_2.0   readlink
+00000000      DF *UND* 0000008e  GLIBC_2.0   memmove
+00000000      DF *UND* 0000003c  GLIBC_2.3   __ctype_tolower_loc
+00000000      DF *UND* 00000045  GLIBC_2.0   __strtoul_internal
+00000000      DF *UND* 0000011d  GLIBC_2.0   textdomain
+00000000      DF *UND* 0000003f  GLIBC_2.2   __fxstat64
+00000000      DF *UND* 000002d9  GLIBC_2.2.3 fnmatch
+00000000      DF *UND* 000000f3  GLIBC_2.0   strncmp
+00000000      DF *UND* 00004373  GLIBC_2.0   vfprintf
+00000000      DF *UND* 0000006e  ACL_1.0     acl_free
+00000000      DF *UND* 00000042  GLIBC_2.0   fflush_unlocked
+00000000      DF *UND* 00000045  GLIBC_2.0   strftime
+00000000      DF *UND* 00000078  GLIBC_2.0   wcwidth
+00000000      DF *UND* 000000cb  GLIBC_2.0   iswprint
+00000000      DF *UND* 00000132  GLIBC_2.0   getpwnam
+00000000      DF *UND* 00000054  GLIBC_2.0   strcmp
+00000000      DF *UND* 000000fa  GLIBC_2.0   exit
+00000000      DF *UND* 000004bc  ACL_1.0     acl_from_text
+0805bc90 g    D  *ABS* 00000000  Base        _end
+0805b860 g    DO .bss  00000004  GLIBC_2.0   stdout
+0805b82c g    D  *ABS* 00000000  Base        _edata
+080567a4 g    DO .rodata       00000004  Base        _IO_stdin_used
+08049780      DF *UND* 000001e5  GLIBC_2.0   free
+0805b844 g    DO .bss  00000004  GLIBC_2.0   stderr
+0805b82c g    D  *ABS* 00000000  Base        __bss_start
+080499a0      DF *UND* 00000178  GLIBC_2.0   malloc
+08049510 g    DF .init 00000000  Base        _init
+08056768 g    DF .fini 00000000  Base        _fini
+0805b840 g    DO .bss  00000004  GLIBC_2.0   optind
+0805b864 g    DO .bss  00000004  GLIBC_2.0   optarg
+
+