diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/dl-machine.c | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/dl-machine.h | 8 |
3 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 52bfa8ac7f..0280837858 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,12 @@ 2013-10-04 Alan Modra <amodra@gmail.com> * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): + Use stdint types in rather than __attribute__((mode())). + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise. + +2013-10-04 Alan Modra <amodra@gmail.com> + + * sysdeps/powerpc/powerpc32/dl-machine.c (__process_machine_rela): Correct handling of unaligned relocs for little-endian. * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Likewise. diff --git a/sysdeps/powerpc/powerpc32/dl-machine.c b/sysdeps/powerpc/powerpc32/dl-machine.c index f81899a0ac..aba3618561 100644 --- a/sysdeps/powerpc/powerpc32/dl-machine.c +++ b/sysdeps/powerpc/powerpc32/dl-machine.c @@ -418,8 +418,8 @@ __process_machine_rela (struct link_map *map, { union unaligned { - unsigned u2 __attribute__ ((mode (HI))); - unsigned u4 __attribute__ ((mode (SI))); + uint16_t u2; + uint32_t u4; } __attribute__((__packed__)); switch (rinfo) diff --git a/sysdeps/powerpc/powerpc64/dl-machine.h b/sysdeps/powerpc/powerpc64/dl-machine.h index b69a1ce06f..18cf15738a 100644 --- a/sysdeps/powerpc/powerpc64/dl-machine.h +++ b/sysdeps/powerpc/powerpc64/dl-machine.h @@ -563,10 +563,10 @@ elf_machine_rela (struct link_map *map, const Elf64_Sym *const refsym = sym; union unaligned { - unsigned u2 __attribute__ ((mode (HI))); - unsigned u4 __attribute__ ((mode (SI))); - unsigned u8 __attribute__ ((mode (DI))); - } __attribute__((__packed__)); + uint16_t u2; + uint32_t u4; + uint64_t u8; + } __attribute__ ((__packed__)); if (r_type == R_PPC64_RELATIVE) { |