diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-03-05 17:09:37 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-03-05 17:09:37 +0000 |
commit | e237a7e2c51159a40c2a623a379c2086610b5e55 (patch) | |
tree | 781e9183eb94930ca5aa618271752ad9e2f969f8 /gdb/gdbserver/linux-low.c | |
parent | 275418ae46da3806f6f9f3f59f3f496052813082 (diff) | |
download | gdb-e237a7e2c51159a40c2a623a379c2086610b5e55.zip gdb-e237a7e2c51159a40c2a623a379c2086610b5e55.tar.gz gdb-e237a7e2c51159a40c2a623a379c2086610b5e55.tar.bz2 |
gdb/gdbserver/
* linux-low.c (get_dynamic): Don't warn when PT_PHDR isn't found.
New comment why.
Diffstat (limited to 'gdb/gdbserver/linux-low.c')
-rw-r--r-- | gdb/gdbserver/linux-low.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c index f062575..4f8ec6b 100644 --- a/gdb/gdbserver/linux-low.c +++ b/gdb/gdbserver/linux-low.c @@ -5250,7 +5250,16 @@ get_dynamic (const int pid, const int is_elf64) if (relocation == -1) { - warning ("Unexpected missing PT_PHDR"); + /* PT_PHDR is optional, but necessary for PIE in general. Fortunately + any real world executables, including PIE executables, have always + PT_PHDR present. PT_PHDR is not present in some shared libraries or + in fpc (Free Pascal 2.4) binaries but neither of those have a need for + or present DT_DEBUG anyway (fpc binaries are statically linked). + + Therefore if there exists DT_DEBUG there is always also PT_PHDR. + + GDB could find RELOCATION also from AT_ENTRY - e_entry. */ + return 0; } |