X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf32-avr.c;h=857a4b7f41cea9f151c00de62d93656956efc6ca;hb=fb098a1efcc97442a25ec05fb705089095ca5f3f;hp=582cdaee9fab170f1a9a147a1899d1b3b65f543a;hpb=99700d6febe92cfcd0ce5b62cad8472020e6c248;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-avr.c b/bfd/elf32-avr.c index 582cdaee9f..857a4b7f41 100644 --- a/bfd/elf32-avr.c +++ b/bfd/elf32-avr.c @@ -545,8 +545,8 @@ static reloc_howto_type elf_avr_howto_table[] = 0xffffff, /* src_mask */ 0xffffff, /* dst_mask */ FALSE), /* pcrel_offset */ - /* hhi8-part to use in .byte hhi8(sym). */ - HOWTO (R_AVR_8_HHI8, /* type */ + /* hlo8-part to use in .byte hlo8(sym). */ + HOWTO (R_AVR_8_HLO8, /* type */ 16, /* rightshift */ 0, /* size (0 = byte, 1 = short, 2 = long) */ 8, /* bitsize */ @@ -554,7 +554,7 @@ static reloc_howto_type elf_avr_howto_table[] = 0, /* bitpos */ complain_overflow_dont,/* complain_on_overflow */ bfd_elf_generic_reloc, /* special_function */ - "R_AVR_8_HHI8", /* name */ + "R_AVR_8_HLO8", /* name */ FALSE, /* partial_inplace */ 0xffffff, /* src_mask */ 0xffffff, /* dst_mask */ @@ -600,7 +600,7 @@ static const struct avr_reloc_map avr_reloc_map[] = { BFD_RELOC_8, R_AVR_8 }, { BFD_RELOC_AVR_8_LO, R_AVR_8_LO8 }, { BFD_RELOC_AVR_8_HI, R_AVR_8_HI8 }, - { BFD_RELOC_AVR_8_HHI, R_AVR_8_HHI8 } + { BFD_RELOC_AVR_8_HLO, R_AVR_8_HLO8 } }; /* Meant to be filled one day with the wrap around address for the @@ -1558,7 +1558,7 @@ elf32_avr_relax_delete_bytes (bfd *abfd, irel = elf_section_data (isec)->relocs; /* PR 12161: Read in the relocs for this section if necessary. */ if (irel == NULL) - irel = _bfd_elf_link_read_relocs (abfd, isec, NULL, NULL, FALSE); + irel = _bfd_elf_link_read_relocs (abfd, isec, NULL, NULL, TRUE); for (irelend = irel + isec->reloc_count; irel < irelend; @@ -1617,9 +1617,6 @@ elf32_avr_relax_delete_bytes (bfd *abfd, /* else...Reference symbol is extern. No need for adjusting the addend. */ } - - if (elf_section_data (isec)->relocs == NULL) - free (irelend - isec->reloc_count); } }