[Please CC me in your answers, I'm not subscribed to the list] Hello dear porters,
while working on http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps I discovered that ia64 has some strange behaviour. All libraries have much more "public" symbols. For instance, take libglib2.0. In the "objdump -T" output I see: 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 When you check the sources of glib, you'll discover that those functions are "static" and should thus not be exported. If you check on any other architecture, those functions do not appear in objdump's output. Can you explain me that behaviour and is that intended/normal or is that a bug? One might note that all those symbols are flagged "local", does that mean that the symbol can only be used within the library and that no app can use it ? Thank in advance for your answer. I need an answer to handle properly the case of ia64. Right now, the arch would be a pain to handle because the generated "symbols" file would differ greatly from other architectures and those differences would have to be manually tracked. If I can "extrapolate" a general rule that the "local" symbols can be ignored because they can't be used by applications, that would simplify the situation. Otherwise, it might also mean that the ia64 toolchain might need to be fixed so that those symbols do not end up in objdump's output. I don't know for sure. Cheers, -- Raphaël Hertzog Premier livre français sur Debian GNU/Linux : http://www.ouaza.com/livre/admin-debian/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

