Revert changes in previous deltas that introduced new failures into

the linker testsuite.

	* aoutx.h (slurp_symbol_table): Revert previous delta.
	(slurp_reloc_table): Likewise.
	* compress.c (bfd_get_full_section_contents): Remove file size
	test.
	* coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs
	and do not complain about linker generated files.
This commit is contained in:
Nick Clifton
2014-11-06 14:39:58 +00:00
parent 1fe9dc4519
commit 834107255b
4 changed files with 17 additions and 19 deletions

View File

@@ -1622,7 +1622,10 @@ _bfd_coff_get_external_symbols (bfd *abfd)
/* PR binutils/17512: Do not even try to load
a symbol table bigger than the entire file... */
if (size >= (bfd_size_type) bfd_get_size (abfd))
{
fprintf (stderr, "XXX SIZE FAIL 1\n");
return FALSE;
}
syms = bfd_malloc (size);
if (syms == NULL)
@@ -1757,11 +1760,12 @@ coff_get_normalized_symtab (bfd *abfd)
return obj_raw_syments (abfd);
size = obj_raw_syment_count (abfd);
if (size == 0)
return NULL;
/* PR binutils/17512: Do not even try to load
a symbol table bigger than the entire file... */
if (size >= (bfd_size_type) bfd_get_size (abfd))
a symbol table bigger than the entire file...
Note - we do not fail on a size of 0. Linker created
bfds can have this property and they are not corrupt. */
if (size >= (bfd_size_type) bfd_get_size (abfd)
&& bfd_get_size (abfd) > 0)
return NULL;
size *= sizeof (combined_entry_type);