From: Michael Meissner <meissner@spectacle-pond.org>
To: Horst von Brand <vonbrand@sleipnir.valparaiso.cl>
Cc: "Mike A. Harris" <mharris@opensourceadvocate.org>,
Wayne.Brown@altec.com, Hacksaw <hacksaw@hacksaw.org>,
Linux Kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: Not a typewriter
Date: Mon, 14 May 2001 11:25:54 -0400 [thread overview]
Message-ID: <20010514112554.A10909@munchkin.spectacle-pond.org> (raw)
In-Reply-To: <mharris@opensourceadvocate.org> <200105140103.f4E13U3r010249@sleipnir.valparaiso.cl>
In-Reply-To: <200105140103.f4E13U3r010249@sleipnir.valparaiso.cl>; from vonbrand@sleipnir.valparaiso.cl on Sun, May 13, 2001 at 09:03:30PM -0400
On Sun, May 13, 2001 at 09:03:30PM -0400, Horst von Brand wrote:
> "Mike A. Harris" <mharris@opensourceadvocate.org> said:
> > On Fri, 11 May 2001 Wayne.Brown@altec.com wrote:
>
> [...]
>
> > >why creat doesn't end in an "e;" and so forth. I tell the
>
> The old C compiler/old Unix linker guaranteed 6 chars in an external symbol
> name only, and C functions got an underscore prepended: _creat. I guess
> this is the reason for this wart. As to why 6 chars only, I'd guess some
> data structure in the linker was laid out that way. Machines had a few
> dozen Kbs of RAM then, space was precious.
IIRC, the 6 character linker requirement came from when the Bell Labs folk
ported the C compiler the IBM mainframe world, not from the early UNIX (tm)
world. During the original ANSI C meetings, I got the sense from the IBM rep,
that part of the problem was the linker was owned by the OS folk, and not the
language group, and it was hard to make a business case why the linker should
be extended to handle newer languages (since it was a different office that was
responsible). The 6 character limit came from the fact that the linker
actually supported 8 characters, but the first 2 characters were used to denote
different products (I recall IBM stuff all tended to be IE....). The VMS folk
also had a similar problem (but there they had a 31 character, one case limit),
though by the end of the process, the linker had been moved into the languages
group in that case.
The mainframe linker is also why the 1989 C standard required there to be only
one definition of a global variable (ie, only one module can say "int x;" while
others must say "extern int x"), even though the UNIX compilers have
traditionally used the common model (ie, "int x" creates a common relocation,
so that if there is no other non-common definition, the linker will create
one). Evidently, the mainframe linker decided to put each unique common
variable on its own page.
I vaguelly recall that somebody went back to Ritchie & Thompson and asked if
they could go back in time and make one change, what would it be. Ritchie's
answer was to make default chars be unsigned instead of signed (since it really
messes up internation character support), and Thompson's answer was to spell
"create" with an trailing e.
> > What is the reason for that? Also wondered why it is resolv.conf
> > and not resolve.conf or resolver.conf...
>
> Old FS handled only 14 chars in names, but that clearly isn't the reason
> here (11 chars). Some other operating system perhaps?
I would imagine you should ask the Berkely folks, since the TCP/IP support all
came from there, and not Bell Labs.
> > Were they afraid that "e" being the most widely used letter in
> > the English language was going to war out thir xpnsiv kyboards if
> > thy usd it all th tim?
>
> Funny conspiracy suscpicion, that... ;-)
--
Michael Meissner, Red Hat, Inc. (GCC group)
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work: meissner@redhat.com phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org fax: +1 978-692-4482
next prev parent reply other threads:[~2001-05-14 15:46 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-05-11 16:07 Wayne.Brown
2001-05-11 17:03 ` Joel Jaeggli
2001-05-11 21:43 ` Hacksaw
2001-05-13 23:39 ` Mike A. Harris
2001-05-12 4:18 ` John Alvord
2001-05-13 23:35 ` Mike A. Harris
2001-05-14 1:03 ` Horst von Brand
2001-05-14 14:31 ` John Kodis
2001-05-14 15:33 ` Not a typewriterg Michael Meissner
2001-05-14 15:25 ` Michael Meissner [this message]
2001-05-14 17:01 ` Not a typewriter Alan Cox
2001-05-14 17:16 ` Michael Meissner
2001-05-14 17:29 ` Jesse Pollard
2001-05-14 18:04 ` H. Peter Anvin
2001-05-14 1:31 ` Jonathan Lundell
-- strict thread matches above, loose matches on Subject: below --
2001-05-14 2:59 Wayne.Brown
2001-05-11 23:57 Bingner Sam J. Contractor RSIS
2001-05-11 23:18 Wayne.Brown
2001-05-14 22:22 ` Kai Henningsen
2001-05-11 18:37 Wayne.Brown
2001-05-10 23:06 Wayne.Brown
2001-05-10 23:20 ` Hacksaw
2001-05-10 23:52 ` Jonathan Lundell
2001-05-11 0:07 ` Alexander Viro
2001-05-11 2:01 ` Jonathan Lundell
2001-05-11 9:21 ` Malcolm Beattie
2001-05-11 0:10 ` H. Peter Anvin
2001-05-11 12:25 ` Richard B. Johnson
2001-05-11 1:31 ` David S. Miller
2001-05-11 1:32 ` Blue Lang
2001-05-11 9:31 ` Alan Cox
2001-05-11 9:37 ` Alan Cox
2001-05-15 14:01 ` Anuradha Ratnaweera
2001-05-10 21:42 Richard B. Johnson
2001-05-10 22:38 ` H. Peter Anvin
2001-05-11 7:22 ` Tom Leete
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20010514112554.A10909@munchkin.spectacle-pond.org \
--to=meissner@spectacle-pond.org \
--cc=Wayne.Brown@altec.com \
--cc=hacksaw@hacksaw.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mharris@opensourceadvocate.org \
--cc=vonbrand@sleipnir.valparaiso.cl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®