ld-elfvsb failures

Jakub Jelinek jakub@redhat.com
Mon Aug 2 18:06:00 GMT 2004


Hi!

I get
FAIL: visibility (hidden_normal) (non PIC)
FAIL: visibility (hidden_normal) (non PIC, load offset)
FAIL: visibility (hidden_normal) (PIC main, non PIC so)
FAIL: visibility (hidden_undef_def) (non PIC)
FAIL: visibility (hidden_undef_def) (non PIC, load offset)
FAIL: visibility (hidden_undef_def)
FAIL: visibility (hidden_undef_def) (PIC main, non PIC so)
FAIL: visibility (hidden_undef_def) (PIC main)
FAIL: visibility (hidden_weak) (non PIC)
FAIL: visibility (hidden_weak) (non PIC, load offset)
FAIL: visibility (hidden_weak) (PIC main, non PIC so)
FAIL: visibility (protected) (non PIC)
FAIL: visibility (protected) (non PIC, load offset)
FAIL: visibility (protected) (PIC main, non PIC so)
FAIL: visibility (protected_undef_def) (non PIC)
FAIL: visibility (protected_undef_def) (non PIC, load offset)
FAIL: visibility (protected_undef_def) (PIC main, non PIC so)
FAIL: visibility (protected_weak) (non PIC)
FAIL: visibility (protected_weak) (non PIC, load offset)
FAIL: visibility (protected_weak) (PIC main, non PIC so)
FAIL: visibility (normal) (non PIC)
FAIL: visibility (normal) (non PIC, load offset)
FAIL: visibility (normal) (PIC main, non PIC so)
on ppc64 when using gcc 3.4, while none of these failures when using gcc
3.3.  I haven't investigated all of them, but those that I have investigated
are clearly testsuite's fault.
Say compiling without -fpic/-fPIC:
extern int shlib_overriddencall2 ();

int
shlib_shlibcall2 ()
{
  return shlib_overriddencall2 ();
}

int
shlib_overriddencall2 ()
{
  return 7;
}
and overriding shlib_overriddencall2 is wrong, without -fpic/-fPIC
the compiler can assume (and assumes) the routine will not be overridden
as it is defined in the same file.
I think best would be to split some of the sources into smaller pieces,
so that the compiler can't make these assumptions.
Will work on it.

	Jakub



More information about the Binutils mailing list