aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elf/do-rel.h3
-rw-r--r--elf/dynamic-link.h6
2 files changed, 6 insertions, 3 deletions
diff --git a/elf/do-rel.h b/elf/do-rel.h
index 69f2f0e467..05c03f7520 100644
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -49,7 +49,8 @@
auto inline void __attribute__ ((always_inline))
elf_dynamic_do_Rel (struct link_map *map,
ElfW(Addr) reladdr, ElfW(Addr) relsize,
- ElfW(Word) nrelative, int lazy, int skip_ifunc)
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative,
+ int lazy, int skip_ifunc)
{
const ElfW(Rel) *r = (const void *) reladdr;
const ElfW(Rel) *end = (const void *) (reladdr + relsize);
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 486408d3c5..9cdbee1e34 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -258,7 +258,8 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
# ifdef ELF_MACHINE_PLTREL_OVERLAP
# define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, skip_ifunc, test_rel) \
do { \
- struct { ElfW(Addr) start, size; ElfW(Word) nrelative; int lazy; } \
+ struct { ElfW(Addr) start, size; \
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative; int lazy; } \
ranges[3]; \
int ranges_index; \
\
@@ -299,7 +300,8 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
# else
# define _ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, skip_ifunc, test_rel) \
do { \
- struct { ElfW(Addr) start, size; ElfW(Word) nrelative; int lazy; } \
+ struct { ElfW(Addr) start, size; \
+ __typeof (((ElfW(Dyn) *) 0)->d_un.d_val) nrelative; int lazy; } \
ranges[2] = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }; \
\
if ((map)->l_info[DT_##RELOC]) \