RISC-V/BFD: Correct a missing initializer error with pre-4.7 GCC

Correct a commit 9d06997adb ("RISC-V: Relax RISCV_PCREL_* to
RISCV_GPREL_*") regression and remove a `-Wmissing-field-initializers'
compilation error:

cc1: warnings being treated as errors
.../bfd/elfnn-riscv.c: In function '_bfd_riscv_relax_pc':
.../bfd/elfnn-riscv.c:3117: error: missing initializer
.../bfd/elfnn-riscv.c:3117: error: (near initialization for 'hi_reloc.hi_addend')
make[4]: *** [elf64-riscv.lo] Error 1

which for versions of GCC before 4.7 prevents support for RISC-V targets
from being built.  See also GCC PR c/36750.

	bfd/
	* elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
	initialize `hi_reloc'.
This commit is contained in:
Maciej W. Rozycki 2018-02-05 14:05:51 +00:00
parent 2d6dda7161
commit e65b1a7868
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2018-02-05 Maciej W. Rozycki <macro@mips.com>
* elfnn-riscv.c (_bfd_riscv_relax_pc): Use `memset' to
initialize `hi_reloc'.
2018-02-05 Maciej W. Rozycki <macro@mips.com>
* elfxx-mips.c (_bfd_mips_elf_section_processing): For

View File

@ -3143,7 +3143,8 @@ _bfd_riscv_relax_pc (bfd *abfd,
/* Chain the _LO relocs to their cooresponding _HI reloc to compute the
* actual target address. */
riscv_pcgp_hi_reloc hi_reloc = {0};
riscv_pcgp_hi_reloc hi_reloc;
memset (&hi_reloc, 0, sizeof (hi_reloc));
switch (ELFNN_R_TYPE (rel->r_info))
{
case R_RISCV_PCREL_LO12_I: