Revert "[ARM][BZ #17711] Fix extern protected data handling"
authorFangrui Song <maskray@google.com>
Mon, 23 May 2022 20:42:10 +0000 (13:42 -0700)
committerFangrui Song <maskray@google.com>
Mon, 23 May 2022 20:42:10 +0000 (13:42 -0700)
This reverts commit 3bcea719ddd6ce399d7bccb492c40af77d216e42.

Similar to commit e555954e026df1b85b8ef6c101d05f97b1520d7e for aarch64.

Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
sysdeps/arm/dl-machine.h
sysdeps/arm/dl-sysdep.h [deleted file]

index a7898bf..2a7f795 100644 (file)
@@ -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 (file)
index 7a99107..0000000
+++ /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
-   <https://www.gnu.org/licenses/>.  */
-
-#include_next <dl-sysdep.h>
-
-#define DL_EXTERN_PROTECTED_DATA