Gdb, PIE and scan_dyntag(DT_DEBUG)
Robert Jarzmik
robert.jarzmik@free.fr
Tue Apr 1 21:00:00 GMT 2014
Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> On Tue, 01 Apr 2014 00:56:59 +0200, Robert Jarzmik wrote:
>> To be more precise, the ELF program headers of the unstripped binary and the
>> stripped binary didn't match,
>
> In general eu-strip (from elfutils; compared to binutils strip) is more
> preserving the binaries when they still should match each other.
> And Fedora is using eu-strip for the debug info packages separation.
> IIRC I have seen some other distro using regular strip for it.
And you're damn right about it. I checked the Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
*** unstripped app_process ***
[Requesting program interpreter: /system/bin/linker64]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000001788 0x0000000000001788 R E 1000
LOAD 0x0000000000001c20 0x0000000000002c20 0x0000000000002c20
0x00000000000003e0 0x00000000000003e8 RW 1000
*** binutils strip passed app_process ***
[Requesting program interpreter: /system/bin/linker64]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000001788 0x0000000000001788 R E 1000
LOAD 0x0000000000001c20 0x0000000000002c20 0x0000000000002c20
0x00000000000003d8 0x00000000000003e8 RW 1000
*** elfutils eu-strip passed app_process ***
[Requesting program interpreter: /system/bin/linker64]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000001788 0x0000000000001788 R E 1000
LOAD 0x0000000000001c20 0x0000000000002c20 0x0000000000002c20
0x00000000000003e0 0x00000000000003e8 RW 1000
So eu-strip makes my day :)
Thanks for the info, I didn't know there was a difference in strip between
binutils and elfutils.
Cheers.
--
Robert
More information about the Gdb
mailing list