diff options
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r-- | bfd/elf32-i386.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 52f4d3343c6..31c23aa9990 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2653,9 +2653,9 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec, symtab_hdr = &elf_tdata (abfd)->symtab_hdr; /* Load the relocations for this section. */ - internal_relocs = (_bfd_elf_link_read_relocs - (abfd, sec, NULL, (Elf_Internal_Rela *) NULL, - link_info->keep_memory)); + internal_relocs = (_bfd_elf_link_info_read_relocs + (abfd, link_info, sec, NULL, NULL, + _bfd_link_keep_memory (link_info))); if (internal_relocs == NULL) return FALSE; @@ -2741,12 +2741,13 @@ elf_i386_convert_mov_to_lea (bfd *abfd, asection *sec, if (contents != NULL && elf_section_data (sec)->this_hdr.contents != contents) { - if (!changed_contents && !link_info->keep_memory) + if (!changed_contents && !_bfd_link_keep_memory (link_info)) free (contents); else { /* Cache the section contents for elf_link_input_bfd. */ elf_section_data (sec)->this_hdr.contents = contents; + link_info->cache_size += sec->size; } } |