GNU C語言的 擴充套件(七)__attribute__測試
阿新 • • 發佈:2019-02-20
beyes@linux-beyes:~/C/ELF> objdump -x test.o
test.o: file format elf32-i386
test.o
architecture: i386, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000002c 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .data 00000000 00000000 00000000 00000060 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000060 2**2
ALLOC
3 .xdata.text 00000004 00000000 00000000 00000060 2**2
CONTENTS, ALLOC, LOAD, DATA
4 .rodata 00000004 00000000 00000000 00000064 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .xxdata 00000020 00000000 00000000 00000068 2**0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
6 .comment 0000003a 00000000 00000000 00000088 2**0
CONTENTS, READONLY
7 .comment.SUSE.OPTs 00000005 00000000 00000000 000000c2 2**0
CONTENTS, READONLY
8 .note.GNU-stack 00000000 00000000 00000000 000000c7 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l df *ABS* 00000000 test.c
00000000 l d .text 00000000 .text
00000000 l d .data 00000000 .data
00000000 l d .bss 00000000 .bss
00000000 l d .xdata.text 00000000 .xdata.text
00000000 l d .rodata 00000000 .rodata
00000000 l d .xxdata 00000000 .xxdata
00000000 l d .comment.SUSE.OPTs 00000000 .comment.SUSE.OPTs
00000000 l d .note.GNU-stack 00000000 .note.GNU-stack
00000000 l d .comment 00000000 .comment
00000000 g O .xdata.text 00000004 var
00000000 g F .xxdata 00000020 func
00000000 *UND* 00000000 printf
00000000 g F .text 0000002c main
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
00000012 R_386_32 var
0000001a R_386_PC32 func
RELOCATION RECORDS FOR [.xxdata]:
OFFSET TYPE VALUE
00000010 R_386_32 .rodata
00000015 R_386_PC32 printf
test.o: file format elf32-i386
test.o
architecture: i386, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000002c 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
1 .data 00000000 00000000 00000000 00000060 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000060 2**2
ALLOC
3 .xdata.text 00000004 00000000 00000000 00000060 2**2
CONTENTS, ALLOC, LOAD, DATA
4 .rodata 00000004 00000000 00000000 00000064 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .xxdata 00000020 00000000 00000000 00000068 2**0
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
6 .comment 0000003a 00000000 00000000 00000088 2**0
CONTENTS, READONLY
7 .comment.SUSE.OPTs 00000005 00000000 00000000 000000c2 2**0
CONTENTS, READONLY
8 .note.GNU-stack 00000000 00000000 00000000 000000c7 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l df *ABS* 00000000 test.c
00000000 l d .text 00000000 .text
00000000 l d .data 00000000 .data
00000000 l d .bss 00000000 .bss
00000000 l d .xdata.text 00000000 .xdata.text
00000000 l d .rodata 00000000 .rodata
00000000 l d .xxdata 00000000 .xxdata
00000000 l d .comment.SUSE.OPTs 00000000 .comment.SUSE.OPTs
00000000 l d .note.GNU-stack 00000000 .note.GNU-stack
00000000 l d .comment 00000000 .comment
00000000 g O .xdata.text 00000004 var
00000000 g F .xxdata 00000020 func
00000000 *UND* 00000000 printf
00000000 g F .text 0000002c main
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
00000012 R_386_32 var
0000001a R_386_PC32 func
RELOCATION RECORDS FOR [.xxdata]:
OFFSET TYPE VALUE
00000010 R_386_32 .rodata
00000015 R_386_PC32 printf