* Undocumented systems/standards PWB and 32V
@ 2026-01-01 4:45 Seth McDonald
2026-01-01 5:46 ` G. Branden Robinson
0 siblings, 1 reply; 6+ messages in thread
From: Seth McDonald @ 2026-01-01 4:45 UTC (permalink / raw)
To: Alejandro Colomar; +Cc: linux-man@vger.kernel.org
[-- Attachment #1.1: Type: text/plain, Size: 1055 bytes --]
Happy 2026!
Starting the year off strong, here's a classic bug report. The man page
for alloca(3) lists two systems/standards in its HISTORY: PWB and 32V.
$ man ./man3/alloca.3 | sed -n '/HISTORY/,/^$/p'
HISTORY
PWB, 32V.
After some Googling, I assume these are referring to the PWB/UNIX and
UNIX/32V operating systems, respectively. However, they aren't listed
in the standards(7) man page nor anywhere else in the docs.
$ grep -F -wr -e PWB -e 32V man
man/man3/alloca.3:PWB, 32V.
As such, the two systems should likely either be added to standards(7)
so they can be referenced, or be removed from the HISTORY of alloca(3)
and replaced with another system/standard. I would think they should be
added to standards(7), but perhaps they're too old be notable enough.
Wikipedia says they were released in 1977 & 1979, while the oldest
standards listed in standards(7) are K&R C (1978) and V7 (1979).
----
Seth McDonald.
sethmcmail at pm dot me (mailing lists)
2336 E8D2 FEB1 5300 692C 62A9 5839 6AD8 9243 D369
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 343 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Undocumented systems/standards PWB and 32V
2026-01-01 4:45 Undocumented systems/standards PWB and 32V Seth McDonald
@ 2026-01-01 5:46 ` G. Branden Robinson
2026-01-01 13:17 ` Alejandro Colomar
0 siblings, 1 reply; 6+ messages in thread
From: G. Branden Robinson @ 2026-01-01 5:46 UTC (permalink / raw)
To: Seth McDonald; +Cc: Alejandro Colomar, linux-man@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 5866 bytes --]
Hi Seth,
At 2026-01-01T04:45:28+0000, Seth McDonald wrote:
> Starting the year off strong, here's a classic bug report. The man
> page for alloca(3) lists two systems/standards in its HISTORY: PWB and
> 32V.
>
> $ man ./man3/alloca.3 | sed -n '/HISTORY/,/^$/p'
> HISTORY
> PWB, 32V.
>
> After some Googling, I assume these are referring to the PWB/UNIX and
> UNIX/32V operating systems, respectively.
Yes. Most likely. I have some remarks on nomenclature, orthography,
and history.
PWB stands for "Programmer's Workbench". It was a flavor of Unix
maintained and sustained outside of the Bell Labs Computing Science
Research Center (CSRC) in Murray Hill, New Jersey. The CSRC is where
Unix was born and where famous names like Ken Thompson, Dennis Ritchie,
and Brian Kernighan worked. Eventually, the flavor of Unix produced by
the CSRC came to be known as "Research Unix". In the late 1980s the
CSRC decided that the Unix system was an unrewarding vehicle for further
_research_, and shifted its emphasis to Plan 9. Over time, the Jack
Welch-ification of AT&T[1] meant that research at Bell Labs became less
ambitious and eventually halted.
PWB came in at least two revisions--the original, retro-branded PWB1,
and a second, sometimes called "PWB/UNIX 2.0".
Back then, AT&T corporate demanded that full capitals be used to spell
"Unix". This however was contrary to the preferences of the people who
actually invented and developed it.[2][3]
I'd say, if you want to side with the suits, say "UNIX".
If you want to side with the engineers, say "Unix".
Sources conflict on how to spell "32V". I've seen it thus but also as
"V32",[4] which may be an error by McIlroy in an otherwise authoritative
source. If it is an error, it's an understandable one arising from the
naming conventions applied to editions of CSRC Unix, starting with
(again, retrospectively) First Edition in 1971 up through Research Unix
Tenth Edition in 1989. These were, and still are, often keyed in as
"V1" through "V10" for short, and the "V" spoken as "version".
> However, they aren't listed in the standards(7) man page nor anywhere
> else in the docs.
The first few entries in this document aren't standards; they're more
like convenient _milestones_ from which we can infer a loose
specification.
Plain "PWB" won't do as a standard because, as noted above, it saw at
least two different releases.
Two more remarks on PWB Unix: the system with the best claim to being a
successor of PWB 2.0 is Unix System III (released internally within AT&T
in 1980, but not commercially until--so some sources say--1982.[4]
The reason for the delay would, one supposes, involve the divestiture
of AT&T, that is, its dissolution as a "legal" monopoly, a watershed
event in U.S. commerce.[5] It's one that was crucially important to
Unix history, because prior to divestiture, AT&T was legally prohibited
from operating commercially as a supplier of computer hardware or
software, per a 1956 consent decree it entered into with the U.S.
federal government.[6] In practice, AT&T violated the consent decree
with increasing overtness from the mid-1970s into the early 1980s,
marketing Unix System III and then System V as commercial products[7]
and charging ever higher license fees for Unix as software.[8]
"For example, John Lions, a faculty member in the Department of Computer
Science at the University of New South Wales, in Australia, reported
that his school was able to acquire a copy of research UNIX Edition 5
for $150 ($110 Australian) in December, 1974, including tape and
manuals. (See "An Interview with John Lions," in Unix Review, October,
1985, pg. 51)"[8]
(Aussies may be surprised to learn that that the AUD was once "stronger"
than the USD. As a former resident, I was!)
> As such, the two systems should likely either be added to standards(7)
> so they can be referenced,
Yes, maybe under a different heading. They weren't standards, but they
_are_ worthwhile benchmarks.
> or be removed from the HISTORY of alloca(3) and replaced with another
> system/standard.
There was no _standard_ for anything to do with Unix until the
/usr/group user group (get it?) produced one in 1984.[10]
> I would think they should be added to standards(7), but perhaps
> they're too old be notable enough. Wikipedia says they were released
> in 1977 & 1979, while the oldest standards listed in standards(7) are
> K&R C (1978) and V7 (1979).
Again, K&R C wasn't standardized; it had a reference manual, which is
not the same thing.
Maybe we should term such things "milestones".
I don't think age alone is a sufficient criterion to reject them, but
when citing non-standards in "STANDARDS" sections of man pages, we might
want to use English to clarify the matter.
To build on a point of Alex's, whether we can get at authoritative
documentation for citation purposes (and to settle or avoid arguments
over facts) is of more probative value than a standard or milestone's
novelty or lack thereof. Some things that are old are important, and
others aren't--just as with new things.
Regards,
Branden
[1] https://www.nhbr.com/a-lesson-from-ge/
[2] https://lists.gnu.org/archive/html/groff/2015-01/msg00026.html
[3] https://lists.gnu.org/archive/html/groff/2015-01/msg00029.html
[4] https://www.cs.dartmouth.edu/~doug/reader.pdf
[5] https://en.wikipedia.org/wiki/Breakup_of_the_Bell_System
[6] https://law.justia.com/cases/federal/district-courts/FSupp/552/131/1525975/
[7] https://www.tuhs.org/pipermail/tuhs/2025-December/032907.html
[8] https://github.com/thaliaarchi/unix-history/tree/main/licenses
[9] https://www.tuhs.org/Mirror/Hauben/unix-Part_II.html
[10] https://wiki.tuhs.org/doku.php?id=publications:standards
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Undocumented systems/standards PWB and 32V
2026-01-01 5:46 ` G. Branden Robinson
@ 2026-01-01 13:17 ` Alejandro Colomar
2026-01-01 23:53 ` origin of alloca(3) (was: Undocumented systems/standards PWB and 32V) G. Branden Robinson
2026-01-02 0:24 ` Undocumented systems/standards PWB and 32V Alejandro Colomar
0 siblings, 2 replies; 6+ messages in thread
From: Alejandro Colomar @ 2026-01-01 13:17 UTC (permalink / raw)
To: G. Branden Robinson; +Cc: Seth McDonald, linux-man@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 7634 bytes --]
Hi Branden, Seth,
On Wed, Dec 31, 2025 at 11:46:32PM -0600, G. Branden Robinson wrote:
> Hi Seth,
>
> At 2026-01-01T04:45:28+0000, Seth McDonald wrote:
> > Starting the year off strong, here's a classic bug report. The man
> > page for alloca(3) lists two systems/standards in its HISTORY: PWB and
> > 32V.
> >
> > $ man ./man3/alloca.3 | sed -n '/HISTORY/,/^$/p'
> > HISTORY
> > PWB, 32V.
> >
> > After some Googling, I assume these are referring to the PWB/UNIX and
> > UNIX/32V operating systems, respectively.
>
> Yes. Most likely. I have some remarks on nomenclature, orthography,
> and history.
>
> PWB stands for "Programmer's Workbench". It was a flavor of Unix
> maintained and sustained outside of the Bell Labs Computing Science
> Research Center (CSRC) in Murray Hill, New Jersey. The CSRC is where
> Unix was born and where famous names like Ken Thompson, Dennis Ritchie,
> and Brian Kernighan worked. Eventually, the flavor of Unix produced by
> the CSRC came to be known as "Research Unix". In the late 1980s the
> CSRC decided that the Unix system was an unrewarding vehicle for further
> _research_, and shifted its emphasis to Plan 9. Over time, the Jack
> Welch-ification of AT&T[1] meant that research at Bell Labs became less
> ambitious and eventually halted.
>
> PWB came in at least two revisions--the original, retro-branded PWB1,
> and a second, sometimes called "PWB/UNIX 2.0".
It would be good to check in which one alloca(3) was present.
> Back then, AT&T corporate demanded that full capitals be used to spell
> "Unix". This however was contrary to the preferences of the people who
> actually invented and developed it.[2][3]
>
> I'd say, if you want to side with the suits, say "UNIX".
>
> If you want to side with the engineers, say "Unix".
>
> Sources conflict on how to spell "32V". I've seen it thus but also as
> "V32",[4] which may be an error by McIlroy in an otherwise authoritative
> source. If it is an error, it's an understandable one arising from the
> naming conventions applied to editions of CSRC Unix, starting with
> (again, retrospectively) First Edition in 1971 up through Research Unix
> Tenth Edition in 1989. These were, and still are, often keyed in as
> "V1" through "V10" for short, and the "V" spoken as "version".
>
> > However, they aren't listed in the standards(7) man page nor anywhere
> > else in the docs.
>
> The first few entries in this document aren't standards; they're more
> like convenient _milestones_ from which we can infer a loose
> specification.
What is a standard?
From WordNet (r) 3.0 (2006) [wn]:
3: established or well-known or widely recognized as a model of
authority or excellence; "a standard reference work"; "the
classical argument between free trade and protectionism"
[ant: {nonstandard}]
And <https://www.dictionary.com/browse/standard>:
1 something considered by an authority or by general consent as
a basis of comparison; an approved model.
I'd certainly consider K&R C as a standard under that definition. And
probably V7 Unix too. None of them were developed as a standard, but
they have become standards after-the-fact.
> Plain "PWB" won't do as a standard because, as noted above, it saw at
> least two different releases.
PWB wouldn't be a standard, though. That one is just a milestone.
However, I'd be willing to document it if it's useful, though.
> Two more remarks on PWB Unix: the system with the best claim to being a
> successor of PWB 2.0 is Unix System III (released internally within AT&T
> in 1980, but not commercially until--so some sources say--1982.[4]
>
> The reason for the delay would, one supposes, involve the divestiture
> of AT&T, that is, its dissolution as a "legal" monopoly, a watershed
> event in U.S. commerce.[5] It's one that was crucially important to
> Unix history, because prior to divestiture, AT&T was legally prohibited
> from operating commercially as a supplier of computer hardware or
> software, per a 1956 consent decree it entered into with the U.S.
> federal government.[6] In practice, AT&T violated the consent decree
> with increasing overtness from the mid-1970s into the early 1980s,
> marketing Unix System III and then System V as commercial products[7]
> and charging ever higher license fees for Unix as software.[8]
>
> "For example, John Lions, a faculty member in the Department of Computer
> Science at the University of New South Wales, in Australia, reported
> that his school was able to acquire a copy of research UNIX Edition 5
> for $150 ($110 Australian) in December, 1974, including tape and
> manuals. (See "An Interview with John Lions," in Unix Review, October,
> 1985, pg. 51)"[8]
>
> (Aussies may be surprised to learn that that the AUD was once "stronger"
> than the USD. As a former resident, I was!)
>
> > As such, the two systems should likely either be added to standards(7)
> > so they can be referenced,
>
> Yes, maybe under a different heading. They weren't standards, but they
> _are_ worthwhile benchmarks.
In manual pages, I'd keep everything under STANDARDS.
In standards(7), we could have subsections for Standard C, POSIX, and
Unix systems.
>
> > or be removed from the HISTORY of alloca(3) and replaced with another
> > system/standard.
>
> There was no _standard_ for anything to do with Unix until the
> /usr/group user group (get it?) produced one in 1984.[10]
>
> > I would think they should be added to standards(7), but perhaps
> > they're too old be notable enough. Wikipedia says they were released
> > in 1977 & 1979, while the oldest standards listed in standards(7) are
> > K&R C (1978) and V7 (1979).
>
> Again, K&R C wasn't standardized; it had a reference manual, which is
> not the same thing.
>
> Maybe we should term such things "milestones".
>
> I don't think age alone is a sufficient criterion to reject them, but
> when citing non-standards in "STANDARDS" sections of man pages, we might
> want to use English to clarify the matter.
I think formal standards don't deserve any special treating. I'm
willing to keep both formal standards and de-facto standards documented
in the same STANDARDS section.
> To build on a point of Alex's, whether we can get at authoritative
> documentation for citation purposes (and to settle or avoid arguments
> over facts) is of more probative value than a standard or milestone's
> novelty or lack thereof. Some things that are old are important, and
> others aren't--just as with new things.
And some formal standards are pure bullshit, such as the SVID
specification of realloc(3), and later the ANSI C / ISO C one. :)
See also <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3752.txt>.
Have a lovely day!
Alex
>
> [1] https://www.nhbr.com/a-lesson-from-ge/
> [2] https://lists.gnu.org/archive/html/groff/2015-01/msg00026.html
> [3] https://lists.gnu.org/archive/html/groff/2015-01/msg00029.html
> [4] https://www.cs.dartmouth.edu/~doug/reader.pdf
> [5] https://en.wikipedia.org/wiki/Breakup_of_the_Bell_System
> [6] https://law.justia.com/cases/federal/district-courts/FSupp/552/131/1525975/
> [7] https://www.tuhs.org/pipermail/tuhs/2025-December/032907.html
> [8] https://github.com/thaliaarchi/unix-history/tree/main/licenses
> [9] https://www.tuhs.org/Mirror/Hauben/unix-Part_II.html
> [10] https://wiki.tuhs.org/doku.php?id=publications:standards
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* origin of alloca(3) (was: Undocumented systems/standards PWB and 32V)
2026-01-01 13:17 ` Alejandro Colomar
@ 2026-01-01 23:53 ` G. Branden Robinson
2026-01-02 0:27 ` Alejandro Colomar
2026-01-02 0:24 ` Undocumented systems/standards PWB and 32V Alejandro Colomar
1 sibling, 1 reply; 6+ messages in thread
From: G. Branden Robinson @ 2026-01-01 23:53 UTC (permalink / raw)
To: Alejandro Colomar; +Cc: Seth McDonald, linux-man@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 2356 bytes --]
Hi Alex,
At 2026-01-01T14:17:35+0100, Alejandro Colomar wrote:
> Hi Branden, Seth,
>
> On Wed, Dec 31, 2025 at 11:46:32PM -0600, G. Branden Robinson wrote:
> > Hi Seth,
> >
> > At 2026-01-01T04:45:28+0000, Seth McDonald wrote:
> > > Starting the year off strong, here's a classic bug report. The man
> > > page for alloca(3) lists two systems/standards in its HISTORY: PWB and
> > > 32V.
> > >
> > > $ man ./man3/alloca.3 | sed -n '/HISTORY/,/^$/p'
> > > HISTORY
> > > PWB, 32V.
> > >
> > > After some Googling, I assume these are referring to the PWB/UNIX and
> > > UNIX/32V operating systems, respectively.
> >
> > Yes. Most likely. I have some remarks on nomenclature, orthography,
> > and history.
> >
> > PWB stands for "Programmer's Workbench". It was a flavor of Unix
> > maintained and sustained outside of the Bell Labs Computing Science
> > Research Center (CSRC) in Murray Hill, New Jersey. The CSRC is where
> > Unix was born and where famous names like Ken Thompson, Dennis Ritchie,
> > and Brian Kernighan worked. Eventually, the flavor of Unix produced by
> > the CSRC came to be known as "Research Unix". In the late 1980s the
> > CSRC decided that the Unix system was an unrewarding vehicle for further
> > _research_, and shifted its emphasis to Plan 9. Over time, the Jack
> > Welch-ification of AT&T[1] meant that research at Bell Labs became less
> > ambitious and eventually halted.
> >
> > PWB came in at least two revisions--the original, retro-branded PWB1,
> > and a second, sometimes called "PWB/UNIX 2.0".
>
> It would be good to check in which one alloca(3) was present.
There's _an_ `alloca()` in PWB/Unix 1.0.
https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/util/alloca.s
It's not declared in any header file I can find, and as you can see it's
written in PDP-11 assembly, but it's there, and appears to do what a
modern C programmer would expect of it.[1]
It appeared to get stuck into a library called "libpw.a".
Static, of course, because there were no shared libraries back then.
https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/util/makefile
Close enough? :)
Regards,
Branden
[1] I see some other familiar stuff here...
https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/stdio
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Undocumented systems/standards PWB and 32V
2026-01-01 13:17 ` Alejandro Colomar
2026-01-01 23:53 ` origin of alloca(3) (was: Undocumented systems/standards PWB and 32V) G. Branden Robinson
@ 2026-01-02 0:24 ` Alejandro Colomar
1 sibling, 0 replies; 6+ messages in thread
From: Alejandro Colomar @ 2026-01-02 0:24 UTC (permalink / raw)
To: G. Branden Robinson; +Cc: Seth McDonald, linux-man@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 657 bytes --]
On Thu, Jan 01, 2026 at 02:17:38PM +0100, Alejandro Colomar wrote:
> In manual pages, I'd keep everything under STANDARDS.
>
> In standards(7), we could have subsections for Standard C, POSIX, and
> Unix systems.
Self-correction:
The only current formal standards are C23 and POSIX.1-2024, and those
are the only formal standards that should appear in STANDARDS.
I also consider standards GNU and the BSDs, and they appear in standards
for APIs not specified by either C23 nor POSIX.1-2024.
Old systems or standards, such as K&R C and V7 Unix belong in HISTORY.
Have a lovely night!
Alex
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: origin of alloca(3) (was: Undocumented systems/standards PWB and 32V)
2026-01-01 23:53 ` origin of alloca(3) (was: Undocumented systems/standards PWB and 32V) G. Branden Robinson
@ 2026-01-02 0:27 ` Alejandro Colomar
0 siblings, 0 replies; 6+ messages in thread
From: Alejandro Colomar @ 2026-01-02 0:27 UTC (permalink / raw)
To: G. Branden Robinson; +Cc: Seth McDonald, linux-man@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 1044 bytes --]
Hi Branden,
On Thu, Jan 01, 2026 at 05:53:10PM -0600, G. Branden Robinson wrote:
> > It would be good to check in which one alloca(3) was present.
>
> There's _an_ `alloca()` in PWB/Unix 1.0.
>
> https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/util/alloca.s
>
> It's not declared in any header file I can find, and as you can see it's
> written in PDP-11 assembly, but it's there, and appears to do what a
> modern C programmer would expect of it.[1]
>
> It appeared to get stuck into a library called "libpw.a".
>
> Static, of course, because there were no shared libraries back then.
>
> https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/util/makefile
>
> Close enough? :)
Yup; I guess we could change PWB to PWB1 in the HISTORY of alloca(3).
Thanks!
Cheers,
Alex
>
> Regards,
> Branden
>
> [1] I see some other familiar stuff here...
>
> https://minnie.tuhs.org/cgi-bin/utree.pl?file=PWB1/sys/source/s4/stdio
--
<https://www.alejandro-colomar.es>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-01-02 0:27 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-01 4:45 Undocumented systems/standards PWB and 32V Seth McDonald
2026-01-01 5:46 ` G. Branden Robinson
2026-01-01 13:17 ` Alejandro Colomar
2026-01-01 23:53 ` origin of alloca(3) (was: Undocumented systems/standards PWB and 32V) G. Branden Robinson
2026-01-02 0:27 ` Alejandro Colomar
2026-01-02 0:24 ` Undocumented systems/standards PWB and 32V Alejandro Colomar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox