elf32-arm.c build breakage

* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
	for each BFD.  Don't goto error_ret_free_local from outside loop.
This commit is contained in:
Alan Modra 2016-05-18 15:44:46 +09:30
parent c69075ac09
commit 7f9919700d
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2016-05-18 Alan Modra <amodra@gmail.com>
* elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
for each BFD. Don't goto error_ret_free_local from outside loop.
2016-05-17 Maciej W. Rozycki <macro@imgtec.com>
* elf-s390-common.c (elf_s390_add_symbol_hook): Remove

View file

@ -5663,6 +5663,15 @@ elf32_arm_size_stubs (bfd *output_bfd,
!= 0)
goto error_ret_free_local;
}
if (local_syms != NULL
&& symtab_hdr->contents != (unsigned char *) local_syms)
{
if (!info->keep_memory)
free (local_syms);
else
symtab_hdr->contents = (unsigned char *) local_syms;
}
}
if (prev_num_a8_fixes != num_a8_fixes)
@ -5694,7 +5703,7 @@ elf32_arm_size_stubs (bfd *output_bfd,
a8_fixes[i].section, htab);
if (stub_sec == NULL)
goto error_ret_free_local;
return FALSE;
stub_sec->size
+= find_stub_size_and_template (a8_fixes[i].stub_type, NULL,