gdb: Don't assume r_ldsomap when r_version > 1 on Linux
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Aug 2021 23:17:25 +0000 (16:17 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 17 Aug 2021 14:05:57 +0000 (07:05 -0700)
commitc0154a4a21a3aed01ef53877af05cf0109a0b124
tree206fc433b66b3caa20711524ec3beff97a4c8eb3
parent4eb629d50d449a079d3f5e22f26f45855939164f
gdb: Don't assume r_ldsomap when r_version > 1 on Linux

The r_ldsomap field is specific to Solaris (part of librtld_db), and
should never be accessed for Linux.  glibc is planning to add a field
to support multiple namespaces.  But there will be no r_ldsomap when
r_version is bumped to 2.  Add linux_[ilp32|lp64]_fetch_link_map_offsets
to set r_ldsomap_offset to -1 and use them for Linux targets.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28236
27 files changed:
gdb/aarch64-linux-tdep.c
gdb/alpha-linux-tdep.c
gdb/amd64-linux-tdep.c
gdb/arc-linux-tdep.c
gdb/arm-linux-tdep.c
gdb/cris-linux-tdep.c
gdb/csky-linux-tdep.c
gdb/hppa-linux-tdep.c
gdb/i386-linux-tdep.c
gdb/ia64-linux-tdep.c
gdb/linux-tdep.c
gdb/linux-tdep.h
gdb/m32r-linux-tdep.c
gdb/m68k-linux-tdep.c
gdb/microblaze-linux-tdep.c
gdb/mips-linux-tdep.c
gdb/mn10300-linux-tdep.c
gdb/nios2-linux-tdep.c
gdb/or1k-linux-tdep.c
gdb/ppc-linux-tdep.c
gdb/riscv-linux-tdep.c
gdb/s390-linux-tdep.c
gdb/sh-linux-tdep.c
gdb/sparc-linux-tdep.c
gdb/sparc64-linux-tdep.c
gdb/tilegx-linux-tdep.c
gdb/xtensa-linux-tdep.c