From 4cf5b6d0d7c8dd40526375f384133262ed7b2ccc Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Thu, 26 Jun 2014 15:17:40 +0530 Subject: [PATCH] Fix Wundef warning for ELF_MACHINE_NO_RELA This patch defines ELF_MACHINE_NO_RELA on all architectures. Tested only on x86_64 to verify that the sources before and after are identical except for two instructions that pass the current line number in dl-machine.h to assert_fail. --- ChangeLog | 18 ++++++++++++++++++ elf/dl-runtime.c | 2 +- sysdeps/aarch64/dl-machine.h | 1 + sysdeps/hppa/dl-machine.h | 1 + sysdeps/ia64/dl-machine.h | 1 + sysdeps/m68k/dl-machine.h | 1 + sysdeps/microblaze/dl-machine.h | 1 + sysdeps/mips/dl-machine.h | 2 ++ sysdeps/powerpc/powerpc32/dl-machine.h | 1 + sysdeps/powerpc/powerpc64/dl-machine.h | 1 + sysdeps/s390/s390-32/dl-machine.h | 1 + sysdeps/s390/s390-64/dl-machine.h | 1 + sysdeps/sh/dl-machine.h | 1 + sysdeps/sparc/sparc32/dl-machine.h | 1 + sysdeps/sparc/sparc64/dl-machine.h | 1 + sysdeps/tile/dl-machine.h | 1 + sysdeps/x86_64/dl-machine.h | 1 + 17 files changed, 35 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 39d46a62d3..40b5f89972 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,23 @@ 2014-06-26 Siddhesh Poyarekar + * elf/dl-runtime.c: Check for value of ELF_MACHINE_NO_RELA + instead of whether it is defined. + * sysdeps/aarch64/dl-machine.h: Define ELF_MACHINE_NO_RELA. + * sysdeps/hppa/dl-machine.h: Likewise. + * sysdeps/ia64/dl-machine.h: Likewise. + * sysdeps/m68k/dl-machine.h: Likewise. + * sysdeps/microblaze/dl-machine.h: Likewise. + * sysdeps/mips/dl-machine.: Likewise. + * sysdeps/powerpc/powerpc32/dl-machine.h: Likewise. + * sysdeps/powerpc/powerpc64/dl-machine.h: Likewise. + * sysdeps/s390/s390-32/dl-machine.h: Likewise. + * sysdeps/s390/s390-64/dl-machine.h: Likewise. + * sysdeps/sh/dl-machine.h: Likewise. + * sysdeps/sparc/sparc32/dl-machine.h: Likewise. + * sysdeps/sparc/sparc64/dl-machine.h: Likewise. + * sysdeps/tile/dl-machine.h: Likewise. + * sysdeps/x86_64/dl-machine.h: Likewise. + * nscd/connections.c (enum usekey) [SEPARATE_KEY]: Remove code. (verify_persistent_db): Likewise. diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 773cb42610..11eba4a832 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -29,7 +29,7 @@ #include -#if (!defined ELF_MACHINE_NO_RELA && !defined ELF_MACHINE_PLT_REL) \ +#if (!ELF_MACHINE_NO_RELA && !defined ELF_MACHINE_PLT_REL) \ || ELF_MACHINE_NO_REL # define PLTREL ElfW(Rela) #else diff --git a/sysdeps/aarch64/dl-machine.h b/sysdeps/aarch64/dl-machine.h index 997c860ccb..6615b8f857 100644 --- a/sysdeps/aarch64/dl-machine.h +++ b/sysdeps/aarch64/dl-machine.h @@ -198,6 +198,7 @@ _dl_start_user: \n\ /* AArch64 uses RELA not REL */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 static inline ElfW(Addr) elf_machine_fixup_plt (struct link_map *map, lookup_t t, diff --git a/sysdeps/hppa/dl-machine.h b/sysdeps/hppa/dl-machine.h index ba21f07d7f..9c7471e938 100644 --- a/sysdeps/hppa/dl-machine.h +++ b/sysdeps/hppa/dl-machine.h @@ -488,6 +488,7 @@ asm ( \ /* We only use RELA. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Return the address of the entry point. */ #define ELF_MACHINE_START_ADDRESS(map, start) \ diff --git a/sysdeps/ia64/dl-machine.h b/sysdeps/ia64/dl-machine.h index 853e6fd349..7d3be0487f 100644 --- a/sysdeps/ia64/dl-machine.h +++ b/sysdeps/ia64/dl-machine.h @@ -320,6 +320,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* According to the IA-64 specific documentation, Rela is always used. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Return the address of the entry point. */ #define ELF_MACHINE_START_ADDRESS(map, start) \ diff --git a/sysdeps/m68k/dl-machine.h b/sysdeps/m68k/dl-machine.h index 3ec9862f8c..4e7c7db846 100644 --- a/sysdeps/m68k/dl-machine.h +++ b/sysdeps/m68k/dl-machine.h @@ -178,6 +178,7 @@ _dl_start_user:\n\ /* The m68k never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 static inline Elf32_Addr elf_machine_fixup_plt (struct link_map *map, lookup_t t, diff --git a/sysdeps/microblaze/dl-machine.h b/sysdeps/microblaze/dl-machine.h index 848e822106..d230a1b4e3 100644 --- a/sysdeps/microblaze/dl-machine.h +++ b/sysdeps/microblaze/dl-machine.h @@ -170,6 +170,7 @@ _dl_start_user:\n\ /* The microblaze never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 static inline Elf32_Addr elf_machine_fixup_plt (struct link_map *map, lookup_t t, diff --git a/sysdeps/mips/dl-machine.h b/sysdeps/mips/dl-machine.h index b5bf4ad6d3..eef0384e4e 100644 --- a/sysdeps/mips/dl-machine.h +++ b/sysdeps/mips/dl-machine.h @@ -60,6 +60,8 @@ | (((type) == R_MIPS_COPY) * ELF_RTYPE_CLASS_COPY)) #define ELF_MACHINE_PLT_REL 1 +#define ELF_MACHINE_NO_REL 0 +#define ELF_MACHINE_NO_RELA 0 /* Translate a processor specific dynamic tag to the index in l_info array. */ diff --git a/sysdeps/powerpc/powerpc32/dl-machine.h b/sysdeps/powerpc/powerpc32/dl-machine.h index 23b610fbf1..42fd3740d6 100644 --- a/sysdeps/powerpc/powerpc32/dl-machine.h +++ b/sysdeps/powerpc/powerpc32/dl-machine.h @@ -148,6 +148,7 @@ __elf_preferred_address(struct link_map *loader, size_t maplength, /* The PowerPC never uses REL relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Set up the loaded object described by MAP so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h index bc99183570..735a549f54 100644 --- a/sysdeps/powerpc/powerpc64/dl-machine.h +++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -294,6 +294,7 @@ BODY_PREFIX "_dl_start_user:\n" \ /* The PowerPC never uses REL relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Stuff for the PLT. */ #if _CALL_ELF != 2 diff --git a/sysdeps/s390/s390-32/dl-machine.h b/sysdeps/s390/s390-32/dl-machine.h index 4fd2745801..527233ba54 100644 --- a/sysdeps/s390/s390-32/dl-machine.h +++ b/sysdeps/s390/s390-32/dl-machine.h @@ -226,6 +226,7 @@ _dl_start_user:\n\ /* The S390 never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* We define an initialization functions. This is called very early in _dl_sysdep_start. */ diff --git a/sysdeps/s390/s390-64/dl-machine.h b/sysdeps/s390/s390-64/dl-machine.h index 2f3716987c..e48d355daa 100644 --- a/sysdeps/s390/s390-64/dl-machine.h +++ b/sysdeps/s390/s390-64/dl-machine.h @@ -205,6 +205,7 @@ _dl_start_user:\n\ /* The 64 bit S/390 never uses Elf64_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* We define an initialization functions. This is called very early in _dl_sysdep_start. */ diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h index 4f3db89ed3..81a417d9aa 100644 --- a/sysdeps/sh/dl-machine.h +++ b/sysdeps/sh/dl-machine.h @@ -251,6 +251,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, /* SH never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 #ifdef RESOLVE_MAP diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index e7d31b40b6..4b79cd69fc 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -197,6 +197,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* The SPARC never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Undo the sub %sp, 6*4, %sp; add %sp, 22*4, %o0 below to get at the value we want in __libc_stack_end. */ diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h index ef4ad4ce9e..d6d263e96c 100644 --- a/sysdeps/sparc/sparc64/dl-machine.h +++ b/sysdeps/sparc/sparc64/dl-machine.h @@ -119,6 +119,7 @@ elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc, /* The SPARC never uses Elf64_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ diff --git a/sysdeps/tile/dl-machine.h b/sysdeps/tile/dl-machine.h index d686a655ff..8be6758675 100644 --- a/sysdeps/tile/dl-machine.h +++ b/sysdeps/tile/dl-machine.h @@ -223,6 +223,7 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) /* TILE never uses Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* We define an initialization functions. This is called very early in _dl_sysdep_start. */ diff --git a/sysdeps/x86_64/dl-machine.h b/sysdeps/x86_64/dl-machine.h index 8df04a96ca..f9ee1f79b6 100644 --- a/sysdeps/x86_64/dl-machine.h +++ b/sysdeps/x86_64/dl-machine.h @@ -189,6 +189,7 @@ _dl_start_user:\n\ /* The x86-64 never uses Elf64_Rel/Elf32_Rel relocations. */ #define ELF_MACHINE_NO_REL 1 +#define ELF_MACHINE_NO_RELA 0 /* We define an initialization function. This is called very early in _dl_sysdep_start. */ -- 2.11.4.GIT