[ELF] Add -z pack-relative-relocs
GNU ld 2.38 added -z pack-relative-relocs which is similar to --pack-dyn-relocs=relr but synthesizes the `GLIBC_ABI_DT_RELR` version dependency if a shared object named `libc.so.*` has a `GLIBC_2.*` version dependency. This is used to implement the (as some glibc folks call) version lockout mechanism. Add this option, because glibc does not want to support --pack-dyn-relocs=relr which does not add `GLIBC_ABI_DT_RELR`. See https://maskray.me/blog/2021-10-31-relative-relocations-and-relr for detail. Close https://github.com/llvm/llvm-project/issues/53775 Reviewed By: peter.smith Differential Revision: https://reviews.llvm.org/D120701
Loading
Please sign in to comment