]> err.no Git - dpkg/commitdiff
Fixed parsing of objdump's output on ia64
authorRaphael Hertzog <hertzog@debian.org>
Mon, 13 Aug 2007 21:08:27 +0000 (23:08 +0200)
committerRaphael Hertzog <hertzog@debian.org>
Mon, 13 Aug 2007 21:08:27 +0000 (23:08 +0200)
ia64 libraries tend to have more entries listed by objdump
with visibility attributes and no versions. This was unexpected
and ended up with the visibility being mistakenly used as symbol
version. This fixes that case and adds a corresponding
non-regression test.

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

index b635079b26e684eead9eebb4fd9e18564588a331..cd51f4273829cc30e6965434c06247bd8b433758 100644 (file)
@@ -204,6 +204,7 @@ sub _parse {
 # 00069960  w   DF .text  0000001e  GLIBC_2.0   bcmp
 # 00000000  w   D  *UND*  00000000              _pthread_cleanup_pop_restore
 # 0000b788 g    DF .text  0000008e  Base        .protected xine_close
+# 0000b788 g    DF .text  0000008e              .hidden IA__g_free
 # |        ||||||| |      |         |           |
 # |        ||||||| |      |         Version str (.visibility) + Symbol name
 # |        ||||||| |      Alignment
@@ -223,10 +224,15 @@ sub _parse {
 
 sub parse_dynamic_symbol {
     my ($self, $line) = @_;
-    my $vis = '(?:\s+(?:\.protected|\.hidden|\.internal|0x\S+))?';
-    if ($line =~ /^[0-9a-f]+ (.{7})\s+(\S+)\s+[0-9a-f]+\s+(\S+)?(?:$vis\s+(\S+))/) {
+    my $vis = '(?:\.protected|\.hidden|\.internal|0x\S+)';
+    if ($line =~ /^[0-9a-f]+ (.{7})\s+(\S+)\s+[0-9a-f]+\s+(\S+)?(?:(?:\s+$vis)?\s+(\S+))/) {
 
        my ($flags, $sect, $ver, $name) = ($1, $2, $3, $4);
+
+       # Special case if version is missing but extra visibility
+       # attribute replaces it in the match
+       $ver = '' if defined($ver) and $ver =~ /^$vis$/; 
+
        my $symbol = {
                name => $name,
                version => defined($ver) ? $ver : '',
index c2c5be7b6ba6dff04d67e63bb6bddf3008c60a9c..f19f83dd8e21fd398f259c513b47b369c27f6658 100644 (file)
@@ -1,6 +1,6 @@
 # -*- mode: cperl;-*-
 
-use Test::More tests => 24;
+use Test::More tests => 25;
 
 use strict;
 use warnings;
@@ -119,3 +119,19 @@ is_deeply($sym, { 'minver' => '1.0', 'dep_id' => 1, 'deprecated' => 0,
                  'depends' => 'libvirtualfake', 'soname' => 'libfake.so.1' }, 
            'overrides order with circular #include');
 
+# Check parsing of objdump output on ia64 (local symbols
+# without versions and with visibility attribute)
+$obj = Dpkg::Shlibs::Objdump::Object->new;
+
+open $objdump, '<', "t/200_Dpkg_Shlibs/objdump.glib-ia64"
+  or die "t/200_Dpkg_Shlibs/objdump.glib-ia64: $!";
+$obj->_parse($objdump);
+close $objdump;
+
+$sym = $obj->get_symbol('IA__g_free');
+is_deeply( $sym, { name => 'IA__g_free', version => '',
+                  soname => 'libglib-2.0.so.0', section => '.text', dynamic => 1,
+                  debug => '', type => 'F', weak => '',
+                  hidden => '', defined => 1 }, 
+                  'symbol with visibility without version' );
+
diff --git a/scripts/t/200_Dpkg_Shlibs/objdump.glib-ia64 b/scripts/t/200_Dpkg_Shlibs/objdump.glib-ia64
new file mode 100644 (file)
index 0000000..1b3d987
--- /dev/null
@@ -0,0 +1,347 @@
+
+/usr/lib/libglib-2.0.so.0:     file format elf64-little
+
+Program Header:
+    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**16
+         filesz 0x0000000000158820 memsz 0x0000000000158820 flags r-x
+    LOAD off    0x0000000000158820 vaddr 0x0000000000168820 paddr 0x0000000000168820 align 2**16
+         filesz 0x0000000000001498 memsz 0x0000000000001a90 flags rw-
+ DYNAMIC off    0x0000000000158948 vaddr 0x0000000000168948 paddr 0x0000000000168948 align 2**3
+         filesz 0x00000000000001f0 memsz 0x00000000000001f0 flags rw-
+   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
+         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
+0x70000001 off    0x0000000000150e28 vaddr 0x0000000000150e28 paddr 0x0000000000150e28 align 2**3
+         filesz 0x00000000000079f8 memsz 0x00000000000079f8 flags r--
+
+Dynamic Section:
+  NEEDED      libc.so.6.1
+  SONAME      libglib-2.0.so.0
+  INIT        0x15070
+  FINI        0x106360
+  INIT_ARRAY  0x168820
+  INIT_ARRAYSZ 0x18
+  FINI_ARRAY  0x168838
+  FINI_ARRAYSZ 0x8
+  HASH        0x158
+  GNU_HASH    0x25c8
+  STRTAB      0xc4c0
+  SYMTAB      0x4a38
+  STRSZ       0x5deb
+  SYMENT      0x18
+  0x70000000  0x168dd8
+  PLTGOT      0x168dd8
+  PLTRELSZ    0xcd8
+  PLTREL      0x7
+  JMPREL      0x14398
+  RELA        0x12d18
+  RELASZ      0x1680
+  RELAENT     0x18
+  VERNEED     0x12ce8
+  VERNEEDNUM  0x1
+  VERSYM      0x122ac
+  RELACOUNT   0x60
+
+Version References:
+  required from libc.so.6.1:
+    0x0d696913 0x00 03 GLIBC_2.3
+    0x0d696912 0x00 02 GLIBC_2.2
+
+DYNAMIC SYMBOL TABLE:
+00000000000bbaa0 l    DF .text 00000000000006b0              .hidden IA__g_thread_pool_new
+000000000007b730 l    DF .text 0000000000000200              .hidden IA__g_option_group_free
+00000000000b2f30 l    DF .text 0000000000000060              .hidden IA__g_str_equal
+00000000000cd0c0 l    DF .text 0000000000000010              .hidden IA__g_direct_hash
+0000000000095660 l    DF .text 00000000000001d0              .hidden IA__g_scanner_warn
+00000000001062e0 l    DF .text 0000000000000080              .hidden __do_global_ctors_aux
+0000000000071fe0 l    DF .text 00000000000000f0              .hidden IA__g_free
+0000000000074a30 l    DF .text 0000000000000370              .hidden _g_log_fallback_handler
+0000000000077080 l    DF .text 0000000000000a20              .hidden IA__g_log_default_handler
+00000000000afc90 l    DF .text 0000000000000090              .hidden IA__g_str_hash
+0000000000095830 l    DF .text 00000000000001f0              .hidden IA__g_scanner_error
+00000000000d4d60 l    DF .text 0000000000000290              g_io_unix_get_flags
+00000000000d4a60 l    DF .text 0000000000000120              g_io_unix_set_flags
+00000000000d4b80 l    DF .text 0000000000000020              g_io_unix_free
+00000000000d4ba0 l    DF .text 00000000000000c0              g_io_unix_create_watch
+00000000000d4c60 l    DF .text 0000000000000100              g_io_unix_close
+00000000000d4ff0 l    DF .text 00000000000001f0              g_io_unix_seek
+00000000000d51e0 l    DF .text 0000000000000150              g_io_unix_write
+00000000000d5330 l    DF .text 0000000000000180              g_io_unix_read
+00000000000d4820 l    DF .text 0000000000000030              g_io_unix_finalize
+00000000000d4950 l    DF .text 0000000000000110              g_io_unix_dispatch
+00000000000d4850 l    DF .text 0000000000000080              g_io_unix_check
+00000000000d48d0 l    DF .text 0000000000000080              g_io_unix_prepare
+00000000000cd720 l    DF .text 0000000000000090              language_names_cache_free
+00000000000c89f0 l    DF .text 0000000000000090              charset_cache_free
+00000000000c20f0 l    DF .text 0000000000000050              interval_compare
+00000000000bb270 l    DF .text 0000000000000830              g_thread_pool_thread_proxy
+00000000000b3360 l    DF .text 0000000000000050              g_thread_fail
+00000000000b33b0 l    DF .text 00000000000000c0              gettime
+00000000000b8c70 l    DF .text 00000000000004a0              g_thread_cleanup
+00000000000b6790 l    DF .text 00000000000003b0              g_thread_create_proxy
+00000000000a37a0 l    DF .text 0000000000000320              private_thread_memory_cleanup
+000000000009a7d0 l    DF .text 00000000000000e0              iter_compare
+0000000000094c10 l    DF .text 0000000000000060              g_scanner_destroy_symbol_table_entry
+0000000000095f50 l    DF .text 00000000000001b0              g_scanner_msg_handler
+0000000000096100 l    DF .text 00000000000000a0              g_scanner_key_equal
+0000000000093210 l    DF .text 0000000000000080              g_scanner_key_hash
+0000000000093290 l    DF .text 00000000000000c0              g_scanner_foreach_internal
+0000000000092510 l    DF .text 00000000000004a0              interpolate_replacement
+000000000008cd60 l    DF .text 0000000000000050              literal_replacement
+000000000008cd00 l    DF .text 0000000000000060              free_interpolation_data
+0000000000089190 l    DF .text 0000000000000040              relation_delete_value_tuple
+0000000000089c20 l    DF .text 0000000000000030              g_relation_free_array
+0000000000089690 l    DF .text 0000000000000210              g_relation_delete_tuple
+00000000000895a0 l    DF .text 00000000000000f0              g_relation_select_tuple
+0000000000088c30 l    DF .text 00000000000000a0              g_relation_print_index
+0000000000088cd0 l    DF .text 0000000000000170              g_relation_print_one
+00000000000889a0 l    DF .text 0000000000000020              tuple_hash_2
+0000000000088940 l    DF .text 0000000000000060              tuple_equal_2
+000000000007bc50 l    DF .text 0000000000000050              dgettext_swapped
+00000000000787b0 l    DF .text 0000000000000040              g_node_find_func
+0000000000071570 l    DF .text 0000000000000200              profiler_try_realloc
+0000000000071770 l    DF .text 0000000000000150              profiler_try_malloc
+0000000000073410 l    DF .text 0000000000000190              profiler_calloc
+00000000000718c0 l    DF .text 00000000000001c0              profiler_free
+0000000000073380 l    DF .text 0000000000000090              profiler_realloc
+00000000000735a0 l    DF .text 0000000000000090              profiler_malloc
+0000000000071a80 l    DF .text 00000000000000d0              fallback_calloc
+000000000005a2b0 l    DF .text 0000000000000040              g_source_callback_get
+000000000005d650 l    DF .text 00000000000000e0              g_source_callback_unref
+000000000005a290 l    DF .text 0000000000000020              g_source_callback_ref
+000000000005a340 l    DF .text 00000000000000c0              g_idle_dispatch
+000000000005a330 l    DF .text 0000000000000010              g_idle_check
+000000000005a310 l    DF .text 0000000000000020              g_idle_prepare
+000000000005a400 l    DF .text 00000000000000c0              g_child_watch_dispatch
+000000000005a5c0 l    DF .text 0000000000000020              g_child_watch_check
+000000000005a5e0 l    DF .text 0000000000000030              g_child_watch_prepare
+0000000000060390 l    DF .text 0000000000000160              g_timeout_dispatch
+00000000000604f0 l    DF .text 00000000000000f0              g_timeout_check
+00000000000605e0 l    DF .text 0000000000000310              g_timeout_prepare
+000000000005cc20 l    DF .text 0000000000000030              g_main_dispatch_free
+000000000005b130 l    DF .text 00000000000000b0              g_child_watch_signal_handler
+00000000000619f0 l    DF .text 00000000000002e0              child_watch_helper_thread
+000000000004d830 l    DF .text 00000000000000b0              g_key_file_key_value_pair_free
+0000000000041860 l    DF .text 0000000000000090              default_finalize_hook
+000000000002b370 l    DF .text 0000000000000090              filename_charset_cache_free
+000000000001fe80 l    DF .text 0000000000000440              text_raw_cb
+0000000000020660 l    DF .text 0000000000000480              end_element_raw_cb
+0000000000026110 l    DF .text 0000000000001cf0              start_element_raw_cb
+000000000001e790 l    DF .text 0000000000000060              parse_data_free
+000000000001e6e0 l    DF .text 00000000000000b0              bookmark_app_info_free
+000000000001e960 l    DF .text 0000000000000260              bookmark_item_free
+000000000001c300 l    DF .text 0000000000000020              stack_trace_sigchld
+0000000000019a00 l    DF .text 0000000000000070              g_async_queue_invert_compare
+0000000000016be0 l    DF .text 0000000000000080              __do_jv_register_classes
+0000000000016b20 l    DF .text 00000000000000b0              __do_global_dtors_aux
+0000000000016aa0 l    DF .text 0000000000000070              gmon_initializer
+0000000000000000      DF *UND* 0000000000000370  GLIBC_2.2   getpwuid
+0000000000000000      DF *UND* 0000000000000550  GLIBC_2.2   freopen
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   __strtod_internal
+0000000000000000      DF *UND* 0000000000000240  GLIBC_2.2   feof
+0000000000000000      DF *UND* 0000000000000450  GLIBC_2.2   localeconv
+0000000000000000      DF *UND* 00000000000001e0  GLIBC_2.2   strcpy
+0000000000000000      DF *UND* 0000000000000200  GLIBC_2.2   raise
+0000000000000000      DO *UND* 0000000000000008  GLIBC_2.2   environ
+0000000000000000      DF *UND* 0000000000000030  GLIBC_2.2   getuid
+0000000000000000      DF *UND* 0000000000000180  GLIBC_2.2   waitpid
+0000000000000000      DF *UND* 0000000000000100  GLIBC_2.2   strcasecmp
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   select
+0000000000000000      DF *UND* 0000000000000110  GLIBC_2.2   closedir
+0000000000000000      DF *UND* 0000000000000440  GLIBC_2.2   fwrite
+0000000000000000      DF *UND* 00000000000001d0  GLIBC_2.2   rewinddir
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   close
+0000000000000000      DF *UND* 0000000000000280  GLIBC_2.2   strstr
+0000000000000000      DF *UND* 0000000000000080  GLIBC_2.2   time
+0000000000000000      DF *UND* 0000000000000520  GLIBC_2.2   fdopen
+0000000000000000  w   D  *UND* 0000000000000000              __gmon_start__
+0000000000000000  w   D  *UND* 0000000000000000              _Jv_RegisterClasses
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   wcsxfrm
+0000000000000000      DF *UND* 00000000000000c0  GLIBC_2.2   strncasecmp
+0000000000000000      DF *UND* 00000000000000d0  GLIBC_2.2   remove
+0000000000000000      DF *UND* 00000000000004f0  GLIBC_2.2   malloc
+0000000000000000      DF *UND* 0000000000000080  GLIBC_2.2   execve
+0000000000000000      DF *UND* 00000000000000b0  GLIBC_2.2   fprintf
+0000000000000000      DF *UND* 0000000000000200  GLIBC_2.2   setpwent
+0000000000000000      DF *UND* 0000000000000100  GLIBC_2.2   nl_langinfo
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   chdir
+0000000000000000      DF *UND* 0000000000000100  GLIBC_2.2   gethostname
+0000000000000000  w   DO *UND* 0000000000000008  GLIBC_2.2   _environ
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   rmdir
+0000000000000000      DF *UND* 0000000000000390  GLIBC_2.2   fputc
+0000000000000000      DF *UND* 0000000000000170  GLIBC_2.2   poll
+0000000000000000      DF *UND* 00000000000003e0  GLIBC_2.2   getcwd
+0000000000000000      DO *UND* 0000000000000008  GLIBC_2.2   stdin
+0000000000000000      DF *UND* 00000000000004f0  GLIBC_2.2   getpwnam_r
+0000000000000000      DF *UND* 0000000000000520  GLIBC_2.2   memmove
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   __strtoul_internal
+0000000000000000      DO *UND* 0000000000000008  GLIBC_2.2   stdout
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   strncmp
+0000000000000000      DF *UND* 0000000000000320  GLIBC_2.2   vasprintf
+0000000000000000      DF *UND* 0000000000000210  GLIBC_2.2   endpwent
+0000000000000000      DF *UND* 00000000000001f0  GLIBC_2.2   fcntl
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   dup2
+0000000000000000      DF *UND* 00000000000007e0  GLIBC_2.2   fork
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   gmtime
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   readlink
+0000000000000000      DF *UND* 0000000000000080  GLIBC_2.3   __ctype_toupper_loc
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   lseek
+0000000000000000      DF *UND* 00000000000000c0  GLIBC_2.2   __fxstat
+0000000000000000      DF *UND* 00000000000000b0  GLIBC_2.2   fscanf
+0000000000000000      DO *UND* 0000000000000008  GLIBC_2.2   __environ
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   munmap
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   strftime
+0000000000000000      DF *UND* 00000000000003a0  GLIBC_2.2   fread
+0000000000000000      DF *UND* 0000000000007090  GLIBC_2.2   vfprintf
+0000000000000000      DF *UND* 00000000000000b0  GLIBC_2.2   snprintf
+0000000000000000      DF *UND* 0000000000000330  GLIBC_2.2   iconv_open
+0000000000000000      DF *UND* 0000000000000080  GLIBC_2.3   __ctype_b_loc
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   nanosleep
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   pipe
+0000000000000000      DF *UND* 0000000000000090  GLIBC_2.2   strpbrk
+0000000000000000      DF *UND* 0000000000000640  GLIBC_2.2   realloc
+0000000000000000      DF *UND* 0000000000000240  GLIBC_2.2   ferror
+0000000000000000      DF *UND* 00000000000004f0  GLIBC_2.2   getpwuid_r
+0000000000000000      DF *UND* 0000000000000030  GLIBC_2.2   strcmp
+0000000000000000      DF *UND* 00000000000000e0  GLIBC_2.2   setenv
+0000000000000000      DF *UND* 0000000000000650  GLIBC_2.2   fclose
+0000000000000000  w   DF *UND* 0000000000000220  GLIBC_2.2   __cxa_finalize
+0000000000000000      DF *UND* 0000000000000020  GLIBC_2.2   __errno_location
+0000000000000000      DF *UND* 00000000000002c0  GLIBC_2.2   exit
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   open
+0000000000000000      DF *UND* 0000000000000590  GLIBC_2.2   abort
+0000000000000000      DF *UND* 0000000000000400  GLIBC_2.2   fputs
+0000000000000000      DF *UND* 00000000000000a0  GLIBC_2.2   sigemptyset
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   localtime_r
+0000000000000000      DF *UND* 00000000000000b0  GLIBC_2.2   sprintf
+0000000000000000      DF *UND* 00000000000002c0  GLIBC_2.2   unsetenv
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   mmap
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   mkdir
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   creat
+0000000000000000      DF *UND* 00000000000000d0  GLIBC_2.2   getpid
+0000000000000000      DF *UND* 0000000000000170  GLIBC_2.2   strerror
+0000000000000000      DF *UND* 0000000000000220  GLIBC_2.2   memcmp
+0000000000000000      DF *UND* 0000000000000320  GLIBC_2.2   qsort
+0000000000000000      DF *UND* 0000000000000c70  GLIBC_2.2   sysconf
+0000000000000000      DF *UND* 0000000000000190  GLIBC_2.2   bsearch
+0000000000000000      DF *UND* 00000000000001b0  GLIBC_2.2   signal
+0000000000000000      DF *UND* 00000000000000c0  GLIBC_2.2   __xstat
+0000000000000000      DF *UND* 00000000000000c0  GLIBC_2.2   __lxstat
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   wcscoll
+0000000000000000      DF *UND* 0000000000000160  GLIBC_2.2   vsprintf
+0000000000000000      DF *UND* 0000000000000130  GLIBC_2.2   vsnprintf
+0000000000000000      DF *UND* 00000000000003e0  GLIBC_2.2   strncpy
+0000000000000000      DF *UND* 00000000000002e0  GLIBC_2.2   getenv
+0000000000000000      DF *UND* 0000000000000120  GLIBC_2.2   strchr
+0000000000000000      DF *UND* 00000000000008c0  GLIBC_2.2   calloc
+0000000000000000      DF *UND* 00000000000000a0  GLIBC_2.2   __cxa_atexit
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   write
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   stpcpy
+0000000000000000      DF *UND* 0000000000000450  GLIBC_2.2   fgets
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   rename
+0000000000000000      DF *UND* 0000000000000310  GLIBC_2.2   __uflow
+0000000000000000      DF *UND* 0000000000000410  GLIBC_2.2   memset
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   fopen
+0000000000000000      DF *UND* 0000000000000050  GLIBC_2.2   __strtol_internal
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   unlink
+0000000000000000      DF *UND* 0000000000000430  GLIBC_2.2   iconv
+0000000000000000      DF *UND* 00000000000001b0  GLIBC_2.2   perror
+0000000000000000      DF *UND* 0000000000000880  GLIBC_2.2   execvp
+0000000000000000      DF *UND* 0000000000000330  GLIBC_2.2   ungetc
+0000000000000000      DF *UND* 0000000000000140  GLIBC_2.2   _exit
+0000000000000000      DF *UND* 0000000000000080  GLIBC_2.3   __ctype_tolower_loc
+0000000000000000      DF *UND* 0000000000000070  GLIBC_2.2   bindtextdomain
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   chmod
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   timegm
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   read
+0000000000000000      DF *UND* 0000000000000300  GLIBC_2.2   readdir
+0000000000000000      DF *UND* 0000000000000300  GLIBC_2.2   free
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   dcgettext
+0000000000000000      DF *UND* 00000000000000e0  GLIBC_2.2   strrchr
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   access
+0000000000000000      DF *UND* 0000000000000390  GLIBC_2.2   fflush
+0000000000000000      DF *UND* 0000000000000070  GLIBC_2.2   bind_textdomain_codeset
+0000000000000000      DF *UND* 00000000000001c0  GLIBC_2.2   opendir
+0000000000000000      DF *UND* 0000000000000530  GLIBC_2.2   strsignal
+0000000000000000      DF *UND* 0000000000000070  GLIBC_2.2   isatty
+0000000000000000      DF *UND* 0000000000000130  GLIBC_2.2   posix_memalign
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   gettimeofday
+0000000000000000      DF *UND* 00000000000000a0  GLIBC_2.2   iconv_close
+0000000000000000      DF *UND* 0000000000000040  GLIBC_2.2   dup
+0000000000000000      DF *UND* 0000000000000540  GLIBC_2.2   memcpy
+0000000000000000      DO *UND* 0000000000000008  GLIBC_2.2   stderr
+0000000000000000      DF *UND* 0000000000000030  GLIBC_2.2   getppid
+0000000000000000      DF *UND* 0000000000000100  GLIBC_2.2   strlen
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   execv
+0000000000000000      DF *UND* 0000000000000f50  GLIBC_2.2   setlocale
+0000000000000000      DF *UND* 0000000000000060  GLIBC_2.2   sigaction
+00000000000909e0 g    DF .text 0000000000000310  Base        g_regex_match_full
+0000000000038400 g    DF .text 0000000000000660  Base        g_date_strftime
+0000000000017530 g    DF .text 00000000000000f0  Base        g_ptr_array_add
+00000000000c6930 g    DF .text 00000000000001e0  Base        g_utf8_strreverse
+0000000000039650 g    DF .text 0000000000000030  Base        g_date_set_time
+00000000000cab10 g    DF .text 0000000000000710  Base        g_utf8_collate_key_for_filename
+00000000000c26f0 g    DF .text 0000000000000160  Base        g_unichar_type
+000000000002a930 g    DF .text 0000000000000430  Base        g_uri_list_extract_uris
+00000000000cf850 g    DF .text 0000000000000350  Base        g_get_system_data_dirs
+000000000008b450 g    DF .text 0000000000000070  Base        g_rand_new_with_seed_array
+00000000000a7410 g    DF .text 0000000000000080  Base        g_slist_concat
+0000000000033c50 g    DF .text 0000000000000020  Base        g_date_valid_weekday
+000000000003f090 g    DF .text 0000000000000190  Base        g_hash_table_get_values
+0000000000058710 g    DF .text 0000000000000010  Base        g_list_pop_allocator
+000000000008c9a0 g    DF .text 00000000000000b0  Base        g_match_info_is_partial_match
+00000000000d3620 g    DF .text 0000000000000290  Base        g_get_user_name
+00000000000a84d0 g    DF .text 0000000000000030  Base        g_slist_free_1
+00000000000cccc0 g    DF .text 00000000000002b0  Base        g_unicode_canonical_decomposition
+00000000000656e0 g    DF .text 0000000000000550  Base        g_main_context_unref
+00000000000d42b0 g    DF .text 0000000000000100  Base        g_vsprintf
+0000000000079f90 g    DF .text 00000000000000e0  Base        g_node_get_root
+0000000000016df0 g    DF .text 0000000000000130  Base        g_ptr_array_remove_index_fast
+000000000007b3b0 g    DF .text 0000000000000080  Base        g_option_group_set_parse_hooks
+00000000000b2c80 g    DF .text 0000000000000170  Base        g_string_chunk_clear
+0000000000021620 g    DF .text 0000000000000040  Base        g_bookmark_file_error_quark
+0000000000088490 g    DF .text 0000000000000110  Base        g_queue_sort
+00000000000c7c00 g    DF .text 0000000000000530  Base        g_utf16_to_utf8
+00000000000197e0 g    DF .text 0000000000000050  Base        g_byte_array_prepend
+0000000000053510 g    DF .text 0000000000000580  Base        g_key_file_get_string_list
+0000000000169a40 g    DO .sdata        0000000000000008  Base        glib_mem_profiler_table
+00000000000a8760 g    DF .text 00000000000000d0  Base        g_slist_remove_link
+00000000000a8130 g    DF .text 0000000000000060  Base        g_slist_prepend
+0000000000063bf0 g    DF .text 0000000000000390  Base        g_main_context_find_source_by_user_data
+000000000005c540 g    DF .text 00000000000000d0  Base        g_main_loop_is_running
+000000000003c5e0 g    DF .text 0000000000000030  Base        g_mkstemp
+00000000000b0440 g    DF .text 0000000000000140  Base        g_string_set_size
+0000000000088160 g    DF .text 0000000000000110  Base        g_queue_insert_after
+00000000000738a0 g    DF .text 0000000000000150  Base        g_log_set_default_handler
+0000000000059c30 g    DF .text 00000000000000b0  Base        g_list_delete_link
+0000000000058a10 g    DF .text 0000000000000090  Base        g_list_position
+0000000000059110 g    DF .text 0000000000000100  Base        g_list_find_custom
+00000000000b0990 g    DF .text 00000000000000f0  Base        g_string_ascii_down
+00000000000629a0 g    DF .text 0000000000000130  Base        g_main_loop_new
+000000000005acb0 g    DF .text 00000000000000b0  Base        g_source_get_context
+0000000000033c00 g    DF .text 0000000000000020  Base        g_date_valid_year
+00000000000a7d90 g    DF .text 0000000000000030  Base        g_slist_insert_sorted
+000000000009f6a0 g    DF .text 0000000000000f20  Base        g_shell_parse_argv
+00000000000bca30 g    DF .text 00000000000000f0  Base        g_timer_stop
+0000000000099ec0 g    DF .text 0000000000000120  Base        g_scanner_peek_next_token
+000000000002d5a0 g    DF .text 00000000000000f0  Base        g_filename_display_basename
+00000000000305c0 g    DF .text 0000000000000580  Base        g_dataset_id_get_data
+0000000000064a50 g    DF .text 0000000000000480  Base        g_source_attach
+000000000003e5d0 g    DF .text 0000000000000360  Base        g_mkdir_with_parents
+000000000001de50 g    DF .text 0000000000000110  Base        g_bookmark_file_has_item
+0000000000065050 g    DF .text 00000000000001c0  Base        g_child_watch_add_full
+00000000000a8830 g    DF .text 0000000000000050  Base        g_freopen
+00000000000a8730 g    DF .text 0000000000000030  Base        g_slist_alloc
+0000000000054a60 g    DF .text 0000000000000480  Base        g_key_file_get_locale_string
+0000000000094fd0 g    DF .text 00000000000001b0  Base        g_scanner_input_file
+0000000000093660 g    DF .text 00000000000000a0  Base        g_scanner_set_scope
+0000000000022780 g    DF .text 0000000000000180  Base        g_bookmark_file_get_visited
+000000000002f280 g    DF .text 00000000000003a0  Base        g_datalist_id_get_data
+0000000000040000 g    DF .text 00000000000000e0  Base        g_hash_table_new_full
+00000000000d2f40 g    DF .text 0000000000000260  Base        g_get_user_config_dir
+0000000000059700 g    DF .text 0000000000000280  Base        g_list_insert_before
+0000000000079270 g    DF .text 00000000000000f0  Base        g_node_n_children
+00000000000d0680 g    DF .text 0000000000000460  Base        g_get_user_cache_dir
+000000000006a5a0 g    DF .text 00000000000000d0  Base        g_markup_parse_context_get_element
+00000000000aefe0 g    DF .text 00000000000000a0  Base        g_strndup
+
+