Subject: Re: Toolchain status list (17-Oct-2001)
To: Jason R Thorpe <thorpej@wasabisystems.com>
From: Todd Vierling <tv@wasabisystems.com>
List: tech-toolchain
Date: 10/17/2001 13:24:29
On Wed, 17 Oct 2001, Jason R Thorpe wrote:

: You do NOT need a cross-crunchide!

This bulleted item was copied from an earlier status list, and I didn't edit
it to reflect this.  I have a couple more host tools that still have to be
committed, but I'm fixing cross-groff first before sweeping them in.

:  >  - Fix ld.elf_so to work with newer MP-safe PLT format on alpha
:  >    (and change gcc/bfd/ld to use it on systems that are capable)
:
: "thread-safe", not "MP-safe" :-)  This is quite easy, if you ignore
: backwards compatibility (I have a diff which should do it).  But we
: need to detect which PLT format is being used on a per-shared object
: basis, and use the correct one.  That's a little harder.

Shouldn't be too hard to implement; if you want to try your hand, feel free.
Otherwise, I'll likely solicit your help on this when I reach this task.  :)

:  >  - Investigate why the "new" nop/unop sequence on alpha gives us pipeline
:  >    caching issues (this has been an issue since binutils 2.9.x)
:
: "pipeline caching issues"... err, can you explain exactly what the symptom
: is when the new sequence is used?

The problem manifested itself by function calls sometimes not having the
proper argument values (and randomly turning up NULL), which made things
like "printing to stderr goes nowhere" happen -- but it's now been 2 years
since I originally looked at it.  "pipeline caching problems" is all I
remember about the situation, from Ross's words.

I believe the difference is that the lead-in padding of a function changes
from just a string of "nop"s to a "nop/unop/unop/unop" sequence, ending with
"unop"  immediately before the function's first real instruction.  It may
have been that branches were jumping to the biddle of the sequence or
something like that, landing only on "unop"s.

I'll get back to you with more on this.

-- 
-- Todd Vierling <tv@wasabisystems.com>  *  Wasabi NetBSD:  Run with it.
-- CDs, Integration, Embedding, Support -- http://www.wasabisystems.com/