Re:PowerPC Solaris on the RS/6000
by NCommander on Friday May 29, 2020 @07:10AM
(#23348581)
AIX at least has LLVM, and IBM had unofficial GCC ports for years.
If you want a dumpster fire for development work, I'd highly recommend HP-UX. HP-UX's stdio wasn't very std back in 1990s. What I remember is a bunch of syscalls seemingly existing but not actually working despite being OK with the same code on Solaris and Linux.
Somewhere around 2003-4, it appears all development basically consists of security patches and new Itanium hardware enablement, and aCC barely supported anything C++ related; its more like trying to use Borland C++, and GCC was really iffy, although it had the advantage that post PA-RISC, HP did adopt ELF.
Yeah, I've used HP-UX as well. All the fun of an OS and compiler no one uses, with the added bonus of all the quirks of a CPU that really no one uses. I wonder if the soldiers 1000s of libraries deep in the Oracle link line read HN and have some fun IA-64 porting tales.
As someone with lots of experience porting stuff to AIX, this is fairly accurate. AIX takes a malicious compliance stance to POSIX.
The worst part is that the AIX compatibility layer IBM created for i is closer to Unix normalcy than AIX itself.
You have to do the open-source work, though, because the vendor side is as close to abandonware as you can come. The OS is basically not touched unless they have to. For example, they gave up trying to actually fix their system headers to have C++ include guards, so they just hacked the compiler to extern C all system headers —- a terrible hack that GCC actually adopted as well to stay compatible. There’s no versioning of user-space library additions or changes, so you can’t easily make code forwards/backwards compat in the preprocessor. They gave up trying to follow modern C++ and pulled in a Clang front-end. User binaries remained broken for years until anyone complained about them. There are people there doing the bare minimum to add support for some new POSIX interface that comes out, but the headers are not “clean” in the same way that the Solaris ones are. Solaris headers and man pages are some of the best I’ve ever seen. They could constantly improve the system, but they don’t. They do what customers ask for and no more.
It might be great at taking some Fortran simulation and cranking the nodes up, but it’s not great at coming anywhere close to competing with Linux for general computing use.