This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: testsuite results
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org, Nick Clifton <nickc at redhat dot com>
- Date: Thu, 6 Nov 2014 22:17:23 +1030
- Subject: Re: testsuite results
- Authentication-results: sourceware.org; auth=none
- References: <20141106092808 dot GH30857 at bubble dot grove dot modra dot org>
On Thu, Nov 06, 2014 at 07:58:08PM +1030, Alan Modra wrote:
> Looks like all the aout targets are broken, and sh-pe. In addition, I
> see:
> cris-elf +FAIL: ld-cris/undef2
> cris-elf +FAIL: ld-cris/warn3
> mmix +FAIL: ld-mmix/b-loc64k
>
> So far I've only investigated the aout failures which are all due to
>
> * aoutx.h (slurp_symbol_table): Check that computed table size is
> not bigger than the file from which is it being read.
>
> Nick, you're comparing the size of the *internal* symbol array with
> the file size. Obviously you ought to be looking at the external
> symbol table size if comparing against file size, but you've already
> read the external symbols by this stage so the check there doesn't
> make sense. A check in aout_get_external_symbols might make some
> sense, but why not just let bfd_malloc or bfd_seek/bfd_bread report
> the failure? bfd_get_size, ie. stat isn't free. What is it you're
> really trying to prevent?
>
> Another thing, the places where you return FALSE after failing sanity
> checks ought to be calling bfd_set_error.
The sh-pe fails are due to running foul of bfd_get_size checks on a
linker created bfd, and the fact that coff_get_normalized_symtab now
returns NULL if the sym count is zero.
The ld-cris fails went away after I reverted various bits in aoux.h
and coffgen.c..
The ld-mmix fail is due to mmix sections being converted from raw file
contents, so it is quite possible that a section in memory has a much
larger so than the file. Removing the bfd_get_size tests in
compress.c fix that one.
--
Alan Modra
Australia Development Lab, IBM