hppa life | |
.. | |
Packages | |
In April 2019, I obtained my first PA-RISC machine, a J6700. | |
This page documents my progress running OpenBSD/hppa on it. | |
--- April 13, 2019 --- | |
o The simplest fix is always easiest. Instead of worrying about add | |
obsolete __sync_* functions to gcc-8.3.0, it is easier to convert | |
ports that use them to the new standard __atomic_* functions. | |
--- April 12, 2019 --- | |
o gcc-8.3.0 is still building, but it has passed the previous point | |
failure. Fingers crossed! | |
o gcc-8.3.0 failed again. But I have a better idea what is wrong. | |
o Got CMake working. libuv was BROKEN on hppa because libuv was usi | |
old __sync_* functions. I replaced those with standard __atomic_* | |
functions and switched to | |
COMPILER=base-clang ports-gcc | |
because the __atomic_* functions are only available on gcc-4.7+ o | |
--- April 11, 2019 --- | |
o I believe I have figured out why the __sync_* instructions are mi | |
from gcc-8.3.0; it will be a few days before the new gcc-8.3.0 bu | |
completes. | |
o I was correct with my analysis of the missing __sync_* instructio | |
However, the fix was not as simple as enabling them. It turns out | |
__sync_* instructions were implemented in a Linux-specific way, u | |
assembly instructions that hook into Linux kernel routines. This | |
means that there is no __sync_* support for hppa*-*-hpux* or any | |
hppa*-*-* target. I believe I have reimplemented the Linux-specif | |
assembly in generic C. This should get the __sync_* instructions | |
on OpenBSD (and by extension HP-UX). | |
--- April 10, 2019 --- | |
o gcc-8.3.0 throws an ICE when building Python. Both 2.7 and 3.6. | |
Fortunately, the fix is easy, add: | |
#ifdef __hppa__ | |
#pragma GCC optimize ("O0") | |
#endif | |
to the top of the files that don't build. This works, so it must | |
edge case with the optimizer. | |
o For some reason, even though I had libatomic built with gcc, I do | |
access to the __sync_* functions (aka the legacy atomic functions | |
will be a problem if I can't figure out why. | |
o I've managed to build about 250 ports. I've fixed about 10 along | |
--- April 9, 2019 --- | |
o gcc-8.3.0 finished building. Now I can build more ports. | |
--- April 8, 2019 --- | |
o I have begun trying to build as many ports as I can. This will be | |
difficult until gcc-8.3.0 finishes building. | |
--- April 7, 2019 --- | |
o The J6700 arrives! | |
o OpenBSD -current has been installed. Fortunately, the tree is loc | |
6.5 so what I have installed is effectively OpenBSD 6.5. | |
___________________________________________________________________ | |
Gophered by Gophernicus/3.1.1 on OpenBSD/amd64 7.4 |