diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4dc5256fee..1e34b19a3b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2016-10-18 Maciej W. Rozycki + + * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning + from GCC. + 2016-10-18 Maciej W. Rozycki * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index 81195a45ec..fdeada7653 100644 --- a/bfd/elf32-nds32.c +++ b/bfd/elf32-nds32.c @@ -6629,6 +6629,7 @@ nds32_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, else { asection *s; + void *vpp; Elf_Internal_Sym *isym; isym = bfd_sym_from_r_symndx (&htab->sym_cache, abfd, r_symndx); @@ -6640,8 +6641,8 @@ nds32_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, if (s == NULL) return FALSE; - head = ((struct elf_nds32_dyn_relocs **) - &elf_section_data (s)->local_dynrel); + vpp = &elf_section_data (s)->local_dynrel; + head = (struct elf_nds32_dyn_relocs **) vpp; } p = *head;