Hi George,
On Sun, 24 Jan 2021 16:18:54 -0500
George Koehler <[email protected]> wrote:
> Hello ports list,
>
> We don't build devel/clang-tools-extra for macppc because,
>
> BROKEN-powerpc = no consumers on powerpc, save 25 build hours
> in bulks
>
> This reason (from cwen@ in Jul 2020) is still true; the consumers
> devel/kdevelop and devel/qt-creator don't exist on powerpc, because
> they depend on x11/qt5/qtwebengine, which is only for amd64 aarch64.
>
> If you remove the BROKEN line, then the powerpc build wastes some
> hours, then fails to link clang-tidy with "relocation truncated to
> fit" errors. I got the below diff from Brad Smith. It adds
> -Wl,--relax to fix the errors. With this diff, a 2700 MHz G5 built
> clang-tools-extra in just under 19 hours (18:43:47).
>
> Do we commit this diff?
>
Sadly it will take more than that in bulks, the bulk machines are way
slower (dual G4 1.0GHz). Similarly to guile2, if there are people using
it i think we should nonetheless.
> I would drop this diff and leave the port as is. The BROKEN reason
> is still true. If we add -Wl,--relax, we would delete -Wl,--relax
> when macppc switches from ld.bfd to ld.lld.
We miss a DPB_PROPERTIES for such a situation, but this is a very rare
one, iirc the only other one on macppc is cad/oce.
> Because I took 19 hours to build it, I feel that I should at least
> share the diff. I tried a few tools on macppc with a single C file in
> a CMake project (because cmake generates the compile_commands.json for
> these tools). clang-tidy warned of a magic number in my C, and
> clang-reorder-fields reordered my struct, but then clang-rename missed
> a spot when it renamed my struct. --George
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/clang-tools-extra/Makefile,v
> retrieving revision 1.11
> diff -u -p -r1.11 Makefile
> --- Makefile 7 Sep 2020 08:54:29 -0000 1.11
> +++ Makefile 24 Jan 2021 18:33:00 -0000
> @@ -9,7 +9,6 @@
> # patches: rm patches/patch-*lld*
>
> ONLY_FOR_ARCHS = ${LLVM_ARCHS}
> -BROKEN-powerpc = no consumers on powerpc, save 25 build hours
> in bulks
> COMMENT= Clang extra tools
>
> @@ -66,6 +65,11 @@ CONFIGURE_ARGS += -DCLANG_ENABLE_STATIC_
> -DLLVM_INCLUDE_EXAMPLES=OFF \
> -DLLVM_INCLUDE_TESTS=OFF \
> -DLLVM_INCLUDE_BENCHMARKS=OFF
> +
> +.if ${MACHINE_ARCH} == "powerpc"
> +CONFIGURE_ARGS += -DCMAKE_EXE_LINKER_FLAGS="-Wl,--relax"
> +CONFIGURE_ARGS += -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--relax"
> +.endif
>
> GCC_VER = 8.4.0
> .if ${MACHINE_ARCH} == "amd64"
>