(DIR) ..
 (TXT) 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.6