[TUHS] crt0 -- what's in that name?

segaloco via TUHS tuhs at tuhs.org
Tue Jun 13 07:32:58 AEST 2023


> It may be that crt stood for "compiler run time" back when C was the
> only compiler in town.
> 
> -Paul W.

I don't know about this, only given the fact that B was already there and had a brt1 and brt2, crt0 seems like a natural follow-on to this naming scheme and I would suspect the c in crt0 referring to the language, not "compiler" was probably there from the genesis.  These are the single letter associations I've found:

    - a - assembly as in liba.a
    - b - B lang as in libb.a, brt1, bilib
    - c - C lang as in libc.a, crt0
    - e - Explor as in libe.a
    - f - Fortran as in fc, f77, libf.a, fr0
    - l - LIL as in lc (LIL compiler)
    - m - m6 as in /sys/lang/mdir

Of course letters get reused for things, this logic would imply the LIL language would have a libl.l but that instead is the lex library as appears a little later on.  Y of course eventually gets associated with yacc.  Not affirmative proof but I would be more inclined to suspect the c there is a language reference than standing for "compiler"

- Matt G.

P.S. The "bss" definition that lives in my head is "block-sized storage" but frankly I can't recall where I picked that up.  I feel like I didn't just make that up but Google returns nothing.


More information about the TUHS mailing list