On Mon, Jun 12, 2023 at 4:17 PM Dave Horsfall <dave@horsfall.org> wrote:
On Mon, 12 Jun 2023, Dan Cross wrote:

> The Unix tree shows it in 2nd Edition:
> https://www.tuhs.org/cgi-bin/utree.pl?file=V2/lib/crt0.s
> That would suggest it was more or less contemporaneous with C itself.

I've always thought of it as "C run time stage 0".
crt - C RunTme.   I always heard it expressed as C  runtime SYSTEM or START

WRT to BSS -- Block Start Symbol (and sometimes Block End Symbol in some later assemblers) I believe was (were) part of the original 704 assemblers from United Aircraft reserving a labeled block of uninitialized space in a "DUMMY SECTION" (or DSECT) for a hunk of storage.  The OS is going to load everything together. So, a big feature of the United Aircraft assembler was to help control memory layout and collect like (common) hunks of things together (i.e., code vs data).  The whole idea of BSS was to get the loader to reserve space that did not have to initialized.  As I understand it, the standard IBM FORTRAN (FAP) and Assembler (MAP) for the 709 and 7090/94 picked it up, with the new FORTRAN compiler being the big driver.