[TUHS] What does `ld` stand for?
Arnold Robbins via TUHS
tuhs at tuhs.org
Thu Nov 5 04:49:01 AEST 2026
Hi All.
Douglas McIlroy via TUHS <tuhs at tuhs.org> wrote:
> Fortran came with source code. I stayed up with that one night
> debugging a bizarre error: failure on computed gotos with 74 mod 75
> branches. I wouldn't be surprised if our unlucky customer was the only
> user ever to stumble on that one.
I asked for more stories like this. Here's Doug's reply (by
permission). Followups should probably go to COFF.
> There's actually more to the Fortran-bug story. The bug involved a
> programming trick as bizarre as the symptom.
>
> The instruction set for the IBM 700 series had an index-register "tag"
> field.. A loop instruction (TIX) counted an index down to zero, with a
> conditional transfer on non-zero. A store-tag instruction was
> introduced in the 709. I never saw an STT in use--except for
> this bug.
>
> A loop that counted blocks of 75 computed-goto
> addresses for spilling to secondary storage was controlled by
> TIX, but in an extraordinary way. The fall-through was controlled
> by zeroing out the tag rather than by reaching zero. Since the
> condition was sensed elsewhere, it had to be detected on
> every path that led to the TIX, and the programmer had missed
> one.
>
> What, I wonder, inspired the creation of this baroque scheme?
More information about the TUHS
mailing list