mips-elf regressions

Tristan Gingold gingold@adacore.com
Wed Oct 8 08:49:00 GMT 2008


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 ?
If so, shouldn't we update the status of the failing tests (either  
disabling them on mips-elf or marking
them as xfail) ?

Tristan.



More information about the Binutils mailing list