[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/20393] .rela.plt info is pointing to .got.plt while it sho
From: |
amitgoel25aug at gmail dot com |
Subject: |
[Bug binutils/20393] .rela.plt info is pointing to .got.plt while it should point .plt (X86_64) |
Date: |
Thu, 21 Jul 2016 16:28:36 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=20393
--- Comment #3 from Amit Goel <amitgoel25aug at gmail dot com> ---
Here is the section information of binary compiled with older gcc version 4.8.4
binutil version 2.24. Info link of .rela.plt point to .plt section (serial
numner 12).
Section Headers:
[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[ 0] NULL 0000000000000000 00000000
0000000000000000 0000000000000000 0 0 0
[ 1] .interp PROGBITS 0000000000400238 00000238
000000000000001c 0000000000000000 A 0 0 1
[ 2] .note.ABI-tag NOTE 0000000000400254 00000254
0000000000000020 0000000000000000 A 0 0 4
[ 3] .note.gnu.build-i NOTE 0000000000400274 00000274
0000000000000024 0000000000000000 A 0 0 4
[ 4] .gnu.hash GNU_HASH 0000000000400298 00000298
0000000000000024 0000000000000000 A 5 0 8
[ 5] .dynsym DYNSYM 00000000004002c0 000002c0
0000000000000210 0000000000000018 A 6 1 8
[ 6] .dynstr STRTAB 00000000004004d0 000004d0
0000000000000125 0000000000000000 A 0 0 1
[ 7] .gnu.version VERSYM 00000000004005f6 000005f6
000000000000002c 0000000000000002 A 5 0 2
[ 8] .gnu.version_r VERNEED 0000000000400628 00000628
0000000000000040 0000000000000000 A 6 2 8
[ 9] .rela.dyn RELA 0000000000400668 00000668
0000000000000030 0000000000000018 A 5 0 8
----> [10] .rela.plt RELA 0000000000400698 00000698
0000000000000198 0000000000000018 A 5 12 8
[11] .init PROGBITS 0000000000400830 00000830
000000000000001a 0000000000000000 AX 0 0 4
----> [12] .plt PROGBITS 0000000000400850 00000850
0000000000000120 0000000000000010 AX 0 0 16
[13] .text PROGBITS 0000000000400970 00000970
0000000000000f42 0000000000000000 AX 0 0 16
[14] .fini PROGBITS 00000000004018b4 000018b4
0000000000000009 0000000000000000 AX 0 0 4
[15] .rodata PROGBITS 00000000004018c0 000018c0
0000000000001138 0000000000000000 A 0 0 8
[16] .eh_frame_hdr PROGBITS 00000000004029f8 000029f8
0000000000000044 0000000000000000 A 0 0 4
[17] .eh_frame PROGBITS 0000000000402a40 00002a40
0000000000000134 0000000000000000 A 0 0 8
[18] .init_array INIT_ARRAY 0000000000602df0 00002df0
0000000000000008 0000000000000000 WA 0 0 8
[19] .fini_array FINI_ARRAY 0000000000602df8 00002df8
0000000000000008 0000000000000000 WA 0 0 8
[20] .jcr PROGBITS 0000000000602e00 00002e00
0000000000000008 0000000000000000 WA 0 0 8
[21] .dynamic DYNAMIC 0000000000602e08 00002e08
00000000000001f0 0000000000000010 WA 6 0 8
[22] .got PROGBITS 0000000000602ff8 00002ff8
0000000000000008 0000000000000008 WA 0 0 8
----> [23] .got.plt PROGBITS 0000000000603000 00003000
00000000000000a0 0000000000000008 WA 0 0 8
[24] .data PROGBITS 00000000006030a0 000030a0
00000000000003e1 0000000000000000 WA 0 0 32
[25] .bss NOBITS 0000000000603490 00003481
0000000000000010 0000000000000000 WA 0 0 16
[26] .comment PROGBITS 0000000000000000 00003481
000000000000002b 0000000000000001 MS 0 0 1
[27] .shstrtab STRTAB 0000000000000000 000034ac
0000000000000108 0000000000000000 0 0 1
[28] .symtab SYMTAB 0000000000000000 00003d38
00000000000007c8 0000000000000018 29 47 8
[29] .strtab STRTAB 0000000000000000 00004500
0000000000000392 0000000000000000 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)
PLTGOT DT_TAG of dynsym section points to .got.plt (address 0x603000)
--------------------------------------------------
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000f (RPATH) Library rpath: [$ORIGIN]
0x000000000000000c (INIT) 0x400830
0x000000000000000d (FINI) 0x4018b4
0x0000000000000019 (INIT_ARRAY) 0x602df0
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x602df8
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x400298
0x0000000000000005 (STRTAB) 0x4004d0
0x0000000000000006 (SYMTAB) 0x4002c0
0x000000000000000a (STRSZ) 293 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
------>0x0000000000000003 (PLTGOT) 0x603000
0x0000000000000002 (PLTRELSZ) 408 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x400698
0x0000000000000007 (RELA) 0x400668
0x0000000000000008 (RELASZ) 48 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x400628
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0x4005f6
0x0000000000000000 (NULL) 0x0
If application is linked via 2.6 linker, both entry points to section .got.plt.
If it is not a bug, Can you please provide a way to point to .plt section from
elf header information when section names has been stripped?
--
You are receiving this mail because:
You are on the CC list for the bug.