aboutsummaryrefslogtreecommitdiff
path: root/grp
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2022-04-25 16:50:00 -0700
committerFangrui Song <maskray@google.com>2022-04-25 16:50:00 -0700
commitda683b1f1037bf63b0c42f79a8a46f58670b2fed (patch)
tree9089d992c32c7b6d3a462cd32d76a02a8b41e8af /grp
parentd3c732cb4383d02e5d3099d87766e5853acf9ff8 (diff)
downloadglibc-da683b1f1037bf63b0c42f79a8a46f58670b2fed.zip
glibc-da683b1f1037bf63b0c42f79a8a46f58670b2fed.tar.gz
glibc-da683b1f1037bf63b0c42f79a8a46f58670b2fed.tar.bz2
elf: Support DT_RELR relative relocation format
Adapted from https://sourceware.org/pipermail/libc-alpha/2022-April/138085.html ([PATCH v11 0/7] Support DT_RELR relative relocation format), which is expected to be included in glibc 2.36. glibc 2.35 has a fair amount of rtld changes to avoid nested functions (https://sourceware.org/PR27220). This patch is carefully crafted to make the minimal changes. Notebly, this commit * works around b/208156916 by not bumping DT_NUM. DT_RELR and DT_RELRSZ take the l_info slots at DT_VERSYM+1 and DT_VERSYM+2. * avoids changes to include/link.h * removes the time travel compatibility check (error if DT_RELR is used without GLIBC_ABI_DT_RELR version need). This needs link.h change and the detected case cannot happen if we correctly use -Wl,-z,pack-relative-relocs.
Diffstat (limited to 'grp')
0 files changed, 0 insertions, 0 deletions