[mod.std.unix] extern identifier length

std-unix@ut-sally.UUCP (Moderator, John Quarterman) (10/28/86)

From: harvard!encore!vaxine!nw (Neil Webber)
Date: Tue, 28 Oct 86 09:52:37 est

> From: gwyn@brl.arpa (VLD/VMB)
> Date:     Mon, 20 Oct 86 9:44:19 EDT
>
> If it doesn't support 32-character extern name uniqueness, it isn't POSIX.
> 1003.1 imposes requirements on a C implementation beyond those of X3J11.
>
While I'm 100% behind this idea, I have to ask the question "how did this
come to be?"  As I recall, the major argument against providing longer
extern names in X3J11 was that it would preclude X3J11 conforming C
implementations on systems with restricted object file formats.  Is it
now impossible to provide a POSIX conforming implementation on those
systems?

This is only a problem for implementations layered on top of an existing
OS.  Being somewhat of a "young one", I haven't worked on any systems
with a 6-character extern limit.  (Life is tough, isn't it?) However, I'd
be interested in knowing what systems suffer from this restriction, and
why it doesn't matter that a POSIX environment can't be provided under
those systems.

Neil Webber     Automatix Inc.          Billerica MA
        {decvax,ihnp4,allegra}!encore!vaxine!nw

Volume-Number: Volume 8, Number 3

std-unix@ut-sally.UUCP (Moderator, John Quarterman) (11/04/86)

From: gwyn@brl.arpa (VLD/VMB) (Douglas A. Gwyn)
Date:     Mon, 3 Nov 86 11:42:19 EST

Neil Webber asked why POSIX does not suffer from the constraint that
led X3J11 to reluctantly require only 6-character monocase extern
identifier uniqueness.  I think the basic answer is that POSIX is
intended to be a UNIX, or UNIX look-alike, interface standard, and
that "layered" implementations on top of other operating systems,
while not precluded by POSIX, are not specifically catered to.
Thus, a much narrower class of operating system linkers and object
module formats is involved, and it is felt that those few that don't
already support long extern identifiers can be changed to do so,
since the POSIX implementors on such systems are in a position to
accomplish this (unlike implementors of many layered systems).

Volume-Number: Volume 8, Number 30