From: Fangrui Song Date: Mon, 23 May 2022 20:42:10 +0000 (-0700) Subject: Revert "[ARM][BZ #17711] Fix extern protected data handling" X-Git-Tag: glibc-2.36~252 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a7629b1c1b5ceb1e6e7629931ce037a476553d4b;p=thirdparty%2Fglibc.git Revert "[ARM][BZ #17711] Fix extern protected data handling" This reverts commit 3bcea719ddd6ce399d7bccb492c40af77d216e42. Similar to commit e555954e026df1b85b8ef6c101d05f97b1520d7e for aarch64. Reviewed-by: Szabolcs Nagy --- diff --git a/sysdeps/arm/dl-machine.h b/sysdeps/arm/dl-machine.h index a7898bf4201..2a7f795e46c 100644 --- a/sysdeps/arm/dl-machine.h +++ b/sysdeps/arm/dl-machine.h @@ -212,22 +212,18 @@ _dl_start_user:\n\ TLS variable, so undefined references should not be allowed to define the value. ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one - of the main executable's symbols, as for a COPY reloc. - ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA iff TYPE describes relocation against - protected data whose address may be external due to copy relocation. */ + of the main executable's symbols, as for a COPY reloc. */ #ifndef RTLD_BOOTSTRAP # define elf_machine_type_class(type) \ ((((type) == R_ARM_JUMP_SLOT || (type) == R_ARM_TLS_DTPMOD32 \ || (type) == R_ARM_TLS_DTPOFF32 || (type) == R_ARM_TLS_TPOFF32 \ || (type) == R_ARM_TLS_DESC) \ * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY) \ - | (((type) == R_ARM_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA)) + | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY)) #else #define elf_machine_type_class(type) \ ((((type) == R_ARM_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY) \ - | (((type) == R_ARM_GLOB_DAT) * ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA)) + | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY)) #endif /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ diff --git a/sysdeps/arm/dl-sysdep.h b/sysdeps/arm/dl-sysdep.h deleted file mode 100644 index 7a991074368..00000000000 --- a/sysdeps/arm/dl-sysdep.h +++ /dev/null @@ -1,21 +0,0 @@ -/* System-specific settings for dynamic linker code. Alpha version. - Copyright (C) 2002-2022 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include_next - -#define DL_EXTERN_PROTECTED_DATA