This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: selective[1245] xfail on x86-64


Hi Alan,

> > Hmm - well at the very least I think that you ought to add a comment
> > as well, explaining that it is relocs in the .eh_frame section that
> > are keeping the redundant symbols in the executables.  It would also
> > be good to add a FIXME note to the x86_64 sources somewhere saying
> > that this ought to be corrected some day.
> 
> It's not specific to x86_64.  I see the same thing on powerpc64, and
> I think other targets will suffer the same problem.

Ok - well then perhaps there ought to be a more generic test in
selective.exp.  Something like:

  # The following targets generate a .eh_frame section which
  # will contain relocs referencing all the functions in the
  # main program.  This prevents unused functions from being
  # removed via garbage collection, so that selective tests
  # 1, 2, 4, 5 will fail.
  if {[istarget "x86_64-*"] || [istarget "powerpc*64*-*"]} {
    set seltests {
      {selective3 C   2.c  {-u foo} {foo} {{foo 0}} {}}
      {selective6 C++ 5.cc {}       {start a A::bar()} {A::foo() B::foo() dropme1() dropme2()} {}}
      }
  } else {
    set seltests {
      {selective1 C   1.c  {}       {}    {dropme1 dropme2} {}}
      {selective2 C   2.c  {}       {}    {foo} {mips*-*}}
      {selective3 C   2.c  {-u foo} {foo} {{foo 0}} {mips*-*}}
      {selective4 C++ 3.cc {}       {start a A::foo() B::foo()} {A::bar()} {mips*-*}}
      {selective5 C++ 4.cc {}       {start a A::bar()} {A::foo() B::foo()} {mips*-*}}
      {selective6 C++ 5.cc {}       {start a A::bar()} {A::foo() B::foo() dropme1() dropme2()} {}}
      }
  }

Cheers
        Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]