This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: mips-elf regressions
Tristan Gingold wrote:
>
> On Oct 8, 2008, at 10:29 AM, Tristan Gingold wrote:
>> (Locals must be before Weaks and Weaks must be before Globals
>> according to gabi).
>> As a consequence the output don't match the expected result.
>
> Well according to elf32-mips.c, this is expected:
>
> /* Determine whether a symbol is global for the purposes of splitting
> the symbol table into global symbols and local symbols. At least
> on Irix 5, this split must be between section symbols and all other
> symbols. On most ELF targets the split is between static symbols
> and externally visible symbols. */
>
> static bfd_boolean
> mips_elf_sym_is_global (bfd *abfd ATTRIBUTE_UNUSED, asymbol *sym)
> {
> if (SGI_COMPAT (abfd))
> return (sym->flags & BSF_SECTION_SYM) == 0;
> else
> return ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0
> || bfd_is_und_section (bfd_get_section (sym))
> || bfd_is_com_section (bfd_get_section (sym)));
> }
>
> As SGI_COMPAT is true, this looks to be expected.
>
> Can someone confirm this ?
This is correct. mips-elf uses the SGI-ish object layout with
nonstandard (or pre-standard?) symbol sorting.
> If so, shouldn't we update the status of the failing tests (either
> disabling them on mips-elf or marking
> them as xfail) ?
I think the test needs to check for different expected output for
mips-elf and mips-sgi-irix*
Thiemo