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"
> 

Reply via email to