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.