From 61034b0b6acc6ff72def5f5ecdbe628edc5d67ea Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 18 Oct 2016 04:34:36 +0100 Subject: NDS32/BFD: Correct an aliasing error in `nds32_elf_check_relocs' Fix an aliasing build error: cc1: warnings being treated as errors .../bfd/elf32-nds32.c: In function 'nds32_elf_check_relocs': .../bfd/elf32-nds32.c:6644: warning: dereferencing type-punned pointer will break strict-aliasing rules make[3]: *** [elf32-nds32.lo] Error 1 in a way following commit 6edfbbad0864 ("Fix up gcc4.1 aliasing warnings"), . bfd/ * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning from GCC. --- bfd/elf32-nds32.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bfd/elf32-nds32.c') diff --git a/bfd/elf32-nds32.c b/bfd/elf32-nds32.c index 81195a4..fdeada7 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; -- cgit v1.1