On Sun, 20 Jan 2019 22:49:36 +0100 Jeremie Courreges-Anglas <j...@wxcvbn.org> wrote:
> Thanks a lot for this. Looks good on amd64 and sparc64 so far. I'd > like to hear about powerpc and mips64 (is the build successful, can the > resulting compiler build a few ports?). cc'ing the usual suspects. :) My powerpc machine is building other packages, so I can't build llvm 7 now. I might build it later. Within the last few hours, I got a link error from graphics/kdiagram with ports-clang 6: /usr/ports/pobj/kdiagram-2.6.1/build-powerpc/src/KGantt/libKGantt.so.0.0: undefi ned reference to `std::ostream& std::ostream::_M_insert<__float128>(__float128)' This looks like a 'long double' problem. There is more than one long double format on powerpc. clang has compiled long double as __float128 and might be using the weird 128-bit format from IBM AIX, but gcc might be using the 64-bit format (long double is double). In the next days, I might mail a diff that fixes games/dungeon-crawl on powerpc. This will work with ports-gcc, but will SIGBUS with ports-clang 6 when restoring a saved game. I suspect that clang emits wrong code that uses lfs or lfsx to load a misaligned float. The MPC7447A processor in my PowerBook G4 requires 4-byte alignment to load or store a 4-byte float or 8-byte double; there is no required alignment to load or store integers. I want to know if the long double and SIGBUS problems still exist in llvm 7. Such problems might harm ports using qt5, because x11/qt5/qt5.port.mk picks ports-clang before ports-gcc. -- George Koehler <kern...@gmail.com>