11 ms·
Building GCC 1.27 (first GCC with x86 support) (2019)
- latenightcoding 3y agoOn that note I beleive GCC 2.95.3 (released 2001) is the last gcc written in C, therefore one of the most important versions and still used for bootstrapping
- jcranmer 3y agoNo, C++ wasn't used for gcc until 4.8 (released 2013). Source: https://gcc.gnu.org/gcc-4.8/changes.html https://gcc.gnu.org/gcc-4.8/changes.html
- sanxiyn 3y agoFor this reason, maintaining GCC 4.7 is one of long-term high-impact projects of Bootstrappable Builds project. https://bootstrappable.org/projects.html https://bootstrappable.org/projects.html
- lmk2009 3y agoI never understood why one would subject themselves to bootstrap a system using this method instead of simply cross compiling?
- yjftsjthsd-h 3y agoCross compiling only helps with a subset of uses. If you're doing it for security reasons (to counter the Trusting Trust attack), you aren't coming from another current-edition GCC/clang, you're coming from the simplest compiler you could find.
- tobinfricke 3y ago> In late 1983, in an effort to bootstrap the GNU operating system, Richard Stallman asked Andrew S. Tanenbaum, the author of the Amsterdam Compiler Kit (also known as the Free University Compiler Kit) 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.)
- sanxiyn 3y agoInterestingly, The Amsterdam Compiler Kit is now open source. https://tack.sourceforge.net/ https://tack.sourceforge.net/
- stoltzmann 3y agoThe "free" in VUCK doesn't stand for free as in freedom, or even free as in beer. Free University is a weird translation of the name of a specific institution - the Vrije Universiteit in Amsterdam. Tanenbaum was a professor there, giving classes on operating systems. So I'd say it should rather be called the VU Compiler Kit.
- skissane 3y ago> The "free" in VUCK doesn't stand for free as in freedom, or even free as in beer. Free University is a weird translation of the name of a specific institution - the Vrije Universiteit in Amsterdam. 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
- gumby 3y agoMy high school was a “free school” in the same sense of the term. Founded 1640 by royal charter.
- tobinfricke 3y agoI was curious what architectures were supported by the original GCC, if not x86. It seems the answer is vax and 68020: https://gcc.gnu.org/wiki/History https://gcc.gnu.org/wiki/History
- gumby 3y agoThat’s because Eric Ostrom had somehow gotten us a vax 750 for some inexplicable reason (years later he told me he was astonished that nobody appreciated it) as if anybody wanted a vax. 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.
- fl7305 3y agoA 750 wasn't very fast back in 1987 if I remember it correctly? But a 784 was still decent?
- rahen 3y agoNot very fast, but it was a bit of a standard in the BSD world as most development there happened on 750s at Berkeley. https://gunkies.org/wiki/4.1_BSD https://gunkies.org/wiki/4.1_BSD
- fl7305 3y agoYup. My point was that I can understand if someone rejects a 750 in 1987 because it is fairly slow. I think home computers like the Amiga and Atari ST had at least that much raw CPU power? 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.
- gumby 3y agoIt was delivered back when the 750 was new, but we had lispms and PDP-10s and didn't care about stuff like vaxes. 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.
- yjftsjthsd-h 3y ago> the first version of GCC supporting the x86 CPU 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 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.
- kjs3 3y agoThere's a pretty active retro community around the VAX arch, and a really decent emulator in SIMH, so the compiler still gets some love. The 68k arch is still in production, so no reason not to support it. LLVM added 68k support in the last couple of years.
- ajross 3y agoNitpick: calling this an "x86" compiler is a modernism. There were, indeed, multiple successor chips to the 8086 in the market. But gcc supported only one of them. This is a 386 compiler, not an x86 compiler.
- Brian_K_White 3y agoUnless it is not the first version that targets any x86, then there is no nit to pick.
- ajross 3y agoThe point to a nitpick is to point out something is correct, but misleading. In 1988, no one alive was calling this an "x86" compiler. It was specifically targeting the (then quite new -- about 1.5 years old) 80386 chip, which at the time was the only implementation of the architecture that we understand today as "x86".
- bluedino 3y agox86 was originally used to refer to any intel cpu of x86 name, even in the late 80's
- ajross 3y agoBy which definition, this is absolutely not an "x86" compiler, since it doesn't generate code for any of those other chips. Thus my nitpick.
- yjftsjthsd-h 3y agoModern GCC (AFAIK) can't target the 8086 or 80186 or 80286; does that disqualify it from being described as an x86 compiler?
- Brian_K_White 3y agoYou are inventing the requirement that all *86 must be supported for some inexplicable reason. It is not there in any ordinary interpretation of any language including English. 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.
- zoobab 3y agoegcs 0.95 is the best!
- anthk 3y agoInstead of x86, it would be interesting to have an FPGA based PDP10 clone with 32MB of RAM, ITS patches with DNS support and, maybe, a gopher and an IRC client could be built on it. 36 bit CPU's are very interesting.
- rahen 3y agoThat exists, that's the TOAD2 from XKL. It apparently even runs TOPS-20. 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 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-done-and-to-celebrate-i-put-up-a-web-site-covering-the-family-pidp-1-8-10-and-11/3981 https://retrocomputingforum.com/t/the-pidp-10-is-finally-don...
- anthk 3y agoThat's really cool. ITS with DNS and a faster CPU could do lots of 'modern' things such as maybe basic TLS and of course gopher would be a matter of spending a few months with Midas to create a client.
- rahen 3y agoI would love to see such a great retro environment brought back to life on modern compatible hardware. ITS and Bliss in particular.