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: MIPS multi-got link support


On Jan 14, 2003, cgd@broadcom.com wrote:

> At Tue, 14 Jan 2003 05:08:58 +0000 (UTC), "Alexandre Oliva" wrote:
>> Yeah, testcases, I hear someone screaming :-) Well, there's gdb, that
>> actually requires multi-got.

> "I don't scream, i speak loudly."  (It's like perspiration.  8-)

:-)

> So, i'd _think_ that it would be pretty easy to create a fairly large
> but simple (assembly) test case for the linker tests that would
> execute this...  Is that not correct?

Yes, it is, but it would cover just an insignificant number of the
cases that I actually ran into while getting ld.so, libc.so,
executables and statically-linked programs to work.  The devil is in
the details.

Oh, and there's one more detail that I had forgotten: it can't be a
single assembly input file, since it's a single input bfd, and
therefore it's not split into multiple GOTs.  Not that this is a
problem for linker tests, just one additional complication.

Things get really tricky when you put in symbol hiding.

And matching test results get very tricky considering the use of hash
tables that use pointers to bfds in hash codes, which means slight
differences of ld on the same host may get you different results.

I wish I had remembered all of the reasons why I had given up on
coding testcases by hand while writing the other post.  It wouldn't
have made it sound like I just didn't want to do it.  I really can't
see a way to do it, without redesigning the whole thing.  Perhaps
using pointer-based hash codes was a mistake?  Not that it would be
too hard to fix (I suppose), but...  How important is that?

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


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