Hello, On 06-Mar-01 23:16, Florian Weimer wrote: > * Andreas Jochens: > > Looking at the output of 'nm' I found that the symbols which are marked > > with 'T' on other architectures have a 'D' on ppc64 instead. However, > > there are also symbols which have a 'D' on other architectures and on > > ppc64 as well. I do not know how to filter out the correct list of > > symbols for the 'global:' section on ppc64. > > This smells like a binutils bug. The documentation is quite clear; > > * The symbol type. At least the following types are used; others > are, as well, depending on the object file format. If lowercase, > the symbol is local; if uppercase, the symbol is global (external). > [...] > `D' > The symbol is in the initialized data section. > [...] > `T' > The symbol is in the text (code) section. > > Or is the ppc64 documentation different?
not the documentation but the object file format indeed seems to be different on ppc64. Looking at the attached two outputs of 'objdump -t' for the file 'obj/.libs/db185.o' on ppc64 and amd64 it appears that the symbols that are in the '.text' section on amd64 are in a section named '.opd' on ppc64. I am not an object file format expert at all, but I would take this as an indication that the current method of parsing of the nm output to create the Versions script is not really portable. Regards Andreas Jochens ppc64:db4.4-4.4.20/obj/.libs# objdump -t db185.o db185.o: file format elf64-powerpc SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 db185.c 0000000000000000 l d .text 0000000000000000 .text 0000000000000000 l d .data 0000000000000000 .data 0000000000000000 l d .bss 0000000000000000 .bss 0000000000000000 l d .toc 0000000000000000 .toc 0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev 0000000000000000 l d .debug_info 0000000000000000 .debug_info 0000000000000000 l d .debug_line 0000000000000000 .debug_line 0000000000000000 l d .rodata.str1.8 0000000000000000 .rodata.str1.8 00000000000000d8 l F .opd 0000000000000080 db185_prefix 00000000000000c0 l F .opd 0000000000000080 db185_compare 00000000000000f0 l F .opd 0000000000000054 db185_hash 0000000000000018 l F .opd 000000000000009c db185_close 0000000000000030 l F .opd 000000000000010c db185_del 0000000000000048 l F .opd 000000000000006c db185_fd 0000000000000060 l F .opd 0000000000000120 db185_get 0000000000000078 l F .opd 00000000000003c0 db185_put 0000000000000090 l F .opd 00000000000001b0 db185_seq 00000000000000a8 l F .opd 00000000000000dc db185_sync 0000000000000000 l d .opd 0000000000000000 .opd 0000000000000000 l d .debug_frame 0000000000000000 .debug_frame 0000000000000000 l d .debug_loc 0000000000000000 .debug_loc 0000000000000000 l d .debug_pubnames 0000000000000000 .debug_pubnames 0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges 0000000000000000 l d .debug_str 0000000000000000 .debug_str 0000000000000000 l d .comment 0000000000000000 .comment 0000000000000000 g F .opd 0000000000000754 __db185_open 0000000000000000 *UND* 0000000000000000 db_create 0000000000000000 *UND* 0000000000000000 __os_calloc 0000000000000000 *UND* 0000000000000000 __os_free 0000000000000000 *UND* 0000000000000000 __os_set_errno 0000000000000000 *UND* 0000000000000000 __db_oflags 0000000000000000 *UND* 0000000000000000 __os_exists 0000000000000000 *UND* 0000000000000000 __os_openhandle 0000000000000000 *UND* 0000000000000000 __os_closehandle amd64:db4.4-4.4.20/obj/.libs# objdump -t db185.o db185.o: file format elf64-x86-64 SYMBOL TABLE: 0000000000000000 l df *ABS* 0000000000000000 db185.c 0000000000000000 l d .text 0000000000000000 .text 0000000000000000 l d .data 0000000000000000 .data 0000000000000000 l d .bss 0000000000000000 .bss 0000000000000000 l d .debug_abbrev 0000000000000000 .debug_abbrev 0000000000000000 l d .debug_info 0000000000000000 .debug_info 0000000000000000 l d .debug_line 0000000000000000 .debug_line 0000000000000000 l d .rodata.str1.8 0000000000000000 .rodata.str1.8 0000000000000000 l d .rodata.str1.1 0000000000000000 .rodata.str1.1 0000000000000c00 l F .text 000000000000003a db185_prefix 0000000000000bc0 l F .text 000000000000003a db185_compare 0000000000000590 l F .text 000000000000004f db185_close 00000000000005e0 l F .text 000000000000009b db185_del 0000000000000680 l F .text 0000000000000034 db185_fd 00000000000006c0 l F .text 00000000000000c4 db185_get 0000000000000790 l F .text 0000000000000278 db185_put 0000000000000a10 l F .text 0000000000000136 db185_seq 0000000000000b50 l F .text 000000000000006e db185_sync 0000000000000c40 l F .text 0000000000000016 db185_hash 0000000000000000 l d .rodata 0000000000000000 .rodata 0000000000000000 l d .debug_frame 0000000000000000 .debug_frame 0000000000000000 l d .eh_frame 0000000000000000 .eh_frame 0000000000000000 l d .debug_loc 0000000000000000 .debug_loc 0000000000000000 l d .debug_pubnames 0000000000000000 .debug_pubnames 0000000000000000 l d .debug_aranges 0000000000000000 .debug_aranges 0000000000000000 l d .debug_str 0000000000000000 .debug_str 0000000000000000 l d .note.GNU-stack 0000000000000000 .note.GNU-stack 0000000000000000 l .rodata.str1.8 0000000000000000 .LC0 0000000000000000 l .rodata.str1.1 0000000000000000 .LC1 0000000000000040 l .rodata.str1.8 0000000000000000 .LC2 0000000000000000 l d .comment 0000000000000000 .comment 0000000000000000 g F .text 0000000000000582 __db185_open 0000000000000000 *UND* 0000000000000000 _GLOBAL_OFFSET_TABLE_ 0000000000000000 *UND* 0000000000000000 db_create 0000000000000000 *UND* 0000000000000000 __os_calloc 0000000000000000 *UND* 0000000000000000 __os_free 0000000000000000 *UND* 0000000000000000 __os_set_errno 0000000000000000 *UND* 0000000000000000 __db_oflags 0000000000000000 *UND* 0000000000000000 __os_exists 0000000000000000 *UND* 0000000000000000 __os_openhandle 0000000000000000 *UND* 0000000000000000 __os_closehandle -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]