arm: Define elf_backend_extern_protected_data to 0 [PR 18705]

Similar to commit 4fb55bf6a9 for aarch64.

Commit b68a20d667 changed ld to produce
R_ARM_GLOB_DAT but that defeated the purpose of protected visibility
as an optimization.  Restore the previous behavior (which matches
ld.lld) by defining elf_backend_extern_protected_data to 0.
This commit is contained in:
Fangrui Song 2022-06-25 10:27:49 -07:00
parent 1fa2e2287e
commit af9bf9cb47
2 changed files with 2 additions and 2 deletions

View File

@ -20315,7 +20315,7 @@ elf32_arm_backend_symbol_processing (bfd *abfd, asymbol *sym)
#define elf_backend_dtrel_excludes_plt 1
#define elf_backend_got_header_size 12
#define elf_backend_extern_protected_data 1
#define elf_backend_extern_protected_data 0
#undef elf_backend_obj_attrs_vendor
#define elf_backend_obj_attrs_vendor "aeabi"

View File

@ -2,4 +2,4 @@
#ld: -shared
#readelf: -r -W
#...
.* R_ARM_GLOB_DAT .* var.*
.* R_ARM_RELATIVE .*