Building GCC 1.27 (first GCC with x86 support) (2019)
kristerw.blogspot.com
kristerw.blogspot.com
I have to say, that gives me a funny sort of feeling. The linked 0.9 tarball appears to support the Motorola 68000 and Vax, and https://gcc.gnu.org/backends.html seems to indicate that both are still supported, which is kind of beautiful (though there's a note on vax that "A hardware implementation is not currently being manufactured":P). Just... disconcerting to imagine a world before gcc supported x86.
The 68k arch is still in production, so no reason not to support it. LLVM added 68k support in the last couple of years.
So RMS started using it for his gnu project since nobody else cared. It was just using up power in a small machine room on the 3rd (or 7th — I can’t remember) floor of tech square.
Complete happenstance.
But VAXen in general in 1987 weren't yet hopelessly slow, right?
I can understand if people didn't like VAXes for personal reasons. I had a pick of both a fast VAX and fast Sun workstations in 1987, the Suns were clear winners for me.
I think it was already obsolete when RMS started using it, and had probably never been used over the years by anyone. Nowadays that kinds of thing is unremarkable, but back then at most places it would have been shocking.
I/O and disk bandwidth is another matter of course.
So if you have the space and free electricity in 1987, sure, give me a fast VAX.
Not so much if you live in a student dorm, but I'm sure some have done that too.
This is the stuff of religious wars; and the VAX is the patron saint of the CISC school of ISA design. Large parts of the VAX ISA are very nice, and it's a lot of fun to program in assembler. There's (relatively for the time) lots of registers, and tons of addressing modes. But some of it is plain bonkers. How many variations of ADDL3 are there across all addressing modes? Dunno...thank gawd the doco is excellent. Then you get to things like INDEX and the numerous character string instructions and suddenly you got a migrane. You want BCD? Well of course you do. A CRC instruction? The customer is always right. Bit fields? Why wouldn't we? Didn't find something you like? We have the writable control store option so you can microcode your own instructions.
I don't disagree in general. Writing a disassembler must have been a real challenge.
It's a waste of gates in the CPU. You put a lot of unnecessary combinatorical logic on the critical path, which limits the clock speed.
RISC chips remove everything that is not needed for the output of a C compiler, making the chip smaller and faster.
But from the perspective of Stallman writing a C compiler and having to generate and read lots of assembly code, I can see how the VAX assembly was easy to deal with. He could skip past a lot of stuff like BCD/CRC.
I'm not intimately familiar with 386 assembly, but my impression is that you have a lot of interdependencies and special cases? That can't be fun when writing a compiler. But at least it's not an accumulator-based CPU architecture like the 6502 or the PIC16, where everything has to be done through a single register.
It's a waste of gates in the CPU.
Couple of things. First, VAX was designed when lots of stuff was still written in assembly, so they threw the kitchen sink at it. You didn't have a stdlib, you had huge numbers of assembly instructions. That wasn't how things evolved, but hindsight is 20-20, as they say. Second, C wasn't top-of-mind when designing VAX. The DEC systems programming language equivalent was BLISS, which is quite different than C. And FORTRAN & COBOL were probably more important.
And, yes, the folks who came up with RISC often cite the baroque nature of the VAX instruction set as inspiration for stripping things down. But there again, not driven by C per se; the first VLSI RISC, the IBM 801 (later PC RT), was targeted for a language called PL.8, a descendant of PL/I.
The 784 was more capable (with caveats), but 1) only a handful were ever built (less than 10?), and 2) it was huge, both in physical size and power consumption (it's basically 4 x 11/780s with a custom interconnect cabinet). And as I understand not terribly reliable. You might be thinking of the 785, which was an improved 780, so it was still big and power hungry, but lots more were built.
Yes, I wrote that wrong. I initially checked the VAX wikipedia page and thought 784 looked familiar. But I'm pretty sure it was a 785 now that you remind me.
> I/O was well engineered and well matched so it 'felt' responsive
Yeah, I remember back then how Dhrystones were pretty misleading when comparing things like a VAX 11/780 and a barebones 68000 system.
It was interesting working on VAXes. They had really good documentation (10 shelf-feet of orange binders :), and I liked the ";n" automatic file versioning. But having a personal Sun workstation with X11 was so much nicer, and Unix felt much more natural.
Yeah...always good for a laugh. Sure, your 68k can compute a Sieve of Eratosthenes 3 times faster than my 780 (or whatever)...but no 68k alive (at the time) could support 50+ interactive terminal users like we did all day every day (and provide email, netnews, ftp, etc. for the whole campus).
DEC VMS is indeed very nice, but we didn't run it. We ran a locally hacked version of BSD 4.2/4.3. At some point I got upgraded to a Sun 3/160 on my desk (well...next to it) so I hear you.
I was going to say that it was a nice thing to have fall into your lap, but considering that it weighed 100 kg, maybe not.
I got started with a Sun 3/50 when it was a few years old. It was slow, but surprisingly usable as an X11 development machine for C programming.
I see what you did there
edit: Oh but actually Richard Stallman is careful to clarify:
> Shortly before beginning the GNU project, I heard about the Free University Compiler Kit, also known as VUCK. (The Dutch word for "free" is written with a V.)
It isn’t a “weird translation” - “Free University” is a perfectly valid translation of Dutch “Vrije Universiteit”. You just have to understand the historical background, that the university was so named because it was free from control by State or Church, unlike other universities in the Netherlands at the time of its 19th century founding
As my parallel comment noted, there are some notable omissions in that list, quite unsurprising given its thousand year scope.
> As my parallel comment noted, there are some notable omissions in that list, quite unsurprising given its thousand year scope.
The only "Royal Australian" body it has is the Royal Australian Chemical Institute (RACI, to which my father belongs), which is the national professional body for chemistry. But, it is missing many other "Royal Australian” organisations, including all the “Royal Australian” medical professional colleges (e.g. the Royal Australian College of General Practice, to which belongs my mother). I know under Australian law, it is illegal to call yourself “Royal” without approval from Buckingham Palace. But, possibly, that approval isn’t technically considered a “royal charter”-since 1946, the Australian federal and state governments effectively control the use of “Royal”, the Australian government sends the paperwork to Buckingham Palace for the monarch’s signature, but the monarch will sign anything if the right person gives it to them. However, that’s out of the Privy Council’s jurisdiction (which is the UK only), so the Privy Council might not know about it. The RACI is on this list, because it was 1934, and that was before control over the use of the word “Royal” was transferred from the British government to the Australian ones, and hence the Privy Council would have processed the application. EDIT: One page on their website notes that getting permission to call yourself "Royal X" is technically a separate process from getting a royal charter, you can have one without the other
Another guess: the College of William and Mary got a letter from the eponymous monarchs approving its use of their names, but the Privy Council doesn’t technically consider that letter to be a “royal charter”, because it didn’t use the right magic code words to count as one
I did find it ironic that I moved from aus to a republic, only to attend a school with supposedly a royal charter.
> Another guess: ...but the Privy Council might not technically consider that letter to be a “royal charter”, because it didn’t use the right magic code words to count as one
If you're going to cast a magic spell you've gotta get it right.
Apparently not. According to a 1946 edict of Buckingham Palace (whose text does not appear to be publicly available, although there are public documents referencing it), the procedure is (a) request is approved by Prime Minister (for national orgs) or state Premier (for state-based orgs)–in their sole individual discretion, (b) PM/Premier advises GG/Governor to submit request to Buckingham Palace, (c) the King/Queen signs it and returns it. Although theoretically either the GG/Governor or the monarch could veto the request, it is almost inconceivable they ever would. I think, theoretically, Buckingham Palace could delegate the power to sign them to GG/Governor, but they likely worry that not having the monarch sign it personally would deprive it of its magical properties. Also, in 1983, the federal government adopted a policy that the PM would no longer consider applications for the title "Royal" from national orgs, so now only state-based ones can get it. Any future PM could decide to change that, but in over 40 years nobody has. Even Tony Abbott, who was such a devout monarchist that he had to (briefly) resurrect knighthoods, couldn't be bothered.
> If you're going to cast a magic spell you've gotta get it right.
As I mentioned in a sibling comment, there is a notice on the Privy Council's website saying their list is not exhaustive, and please contact them to report any omissions. So, a few hours ago, I contacted them to query whether the College of William and Mary's omission is intentional or a mistake. I'll see what they say. It helps they have a copy of their charter on their website: https://scrc-kb.libraries.wm.edu/royal-charter
Given that it was issued by the privy counsel it is interesting that it has some notable omissions (though how comprehensive can the records be over such a long period, anyway?). I thought at first it might have been limited to charters in the current UK, but it does have the Massachusetts Company (1629), though not Virginia's charter (1606). Has the East and West India Companies, but not the College of William and Mary (1693) -- there are images of that one on the web, though not the signature.
My school was also in the Massachusetts colony, the somewhat pompous Roxbury Latin, 1643, charter 1645 (the unfortunate Charles I). It's been more than 40 years since I clapped eyes on its charter - astonishing they haven't put it online. My memory that it was 1640 was corrected by a bit of web searching.
Really these things are archaic silly relics, like monarchies themselves.
> Please note that the attached list may not be exhaustive – please contact us if you believe any information is missing.
> When Tanenbaum advised him that the compiler was not free, and that only the university was free, Stallman decided to work on a different compiler.
Abraham Kuyper was a dissenter from the state church (Dutch Reformed), whom he believed had gone astray – after founding VU, he left the state church and founded his own conservative breakaway denomination (the Doleantie) – so although he did want VU to have a Reformed Protestant ethos, he also wanted it to not be controlled by any particular Protestant denomination. As such, the Vrije was meant to denote independence, not just from state control, but also independence from the church control
Somewhat ironically for someone who desired independence from state control, Kuyper later went on to control the state (as Prime Minister)
Also ironical that within the GKN, one aspect of his theology was imposed by the synod, leading to a schism - again people fleeing from church control. (And one schism further led to the church I grew up in.)
If you don't mind me asking, which church is that? Church schisms is just one of those topics that may seem very dry to most people, but I personally find fascinating
If it outputs code for a single cpu from 8086 or later in that family, any single one of them, then it is "an x86 compiler".
It also doesn't matter what they would have called it at the time. When the 8086 was new, there was not yet a family of *86 model numbers, so no one would call anything an x86 anything. But that doesn't change the fact that now, when the speaker you are incorrectly trying to correct spoke, there is a set with name "x86" and the 8086 is in it.
The 8086 is an x86 cpu, and gcc 1.27 is an x86 compiler.
If you didn't think that's how those words should be interpreted, well now you are better informed, and will hopefully confuse fewer people in your future communications, and wind up in fewer arguments like this one.
IIRC, I started hearing "x86" once the 486 came out in 1989.
However, there is (at least one) fork which adds 16-bit code support, see https://github.com/tkchia/gcc-ia16
I don't think the GCC maintainers have ever or will ever want to support 16-bit x86, because it is so limited, and adds a lot of messy corner cases, and nowadays is really only of hobbyist/retrocomputing interest.
Maybe there is some 16-bit x86 embedded system still being maintained–there were military spec versions of the 8086, and possibly some weapons system, aircraft, satellite, etc, still in use contains one. But I doubt they'd have any interest in adopting a 16-bit GCC – they'd already have some proprietary compiler they'd been using for decades, switching now would add a lot of risk, very late in the life of a legacy system, for no tangible benefit
I have no idea what to use it for, but hey.
https://www.youtube.com/watch?v=zBkNBP00wJE
Followed by,
"C++20 For The Commodore 64"
You can try one online at SDF, besides their SC-40 systems, which I think are also FPGA based.
https://mastodon.sdf.org/@SDF/109824572356590874
Or you may want to get a PiDP-10, they will have an FPGA version soon to replace the RPI.
https://retrocomputingforum.com/t/the-pidp-10-is-finally-don...