git: 0ade1fd7a6cd - main - lang/rust-bootstrap: Try to unbreak powerpc build

Tobias Kortkamp tobik at FreeBSD.org
Fri May 14 16:45:36 UTC 2021


The branch main has been updated by tobik:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0ade1fd7a6cd7eef17d19cf118bf1ee15ec1c653

commit 0ade1fd7a6cd7eef17d19cf118bf1ee15ec1c653
Author:     Tobias Kortkamp <tobik at FreeBSD.org>
AuthorDate: 2021-05-14 11:25:17 +0000
Commit:     Tobias Kortkamp <tobik at FreeBSD.org>
CommitDate: 2021-05-14 16:44:58 +0000

    lang/rust-bootstrap: Try to unbreak powerpc build
    
    Use ld.bfd from powerpc-binutils similar to lang/rust.
    
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_item::h993c6db847753592: .text._ZN16rustc_hir_pretty5State10print_item17h993c6db847753592E+0x55C): relocation R_PPC_PLTREL24 out of range: -33554484 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_block_with_attrs::h3e09891900cd2aa9: .text._ZN16rustc_hir_pretty5State22print_block_with_attrs17h3e09891900cd2aa9E+0x2C): relocation R_PPC_PLTREL24 out of range: -33569004 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_item::h993c6db847753592: .text._ZN16rustc_hir_pretty5State10print_item17h993c6db847753592E+0x664): relocation R_PPC_PLTREL24 out of range: -33554732 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_block_maybe_unclosed::h3b0ddc7248032a61: .text._ZN16rustc_hir_pretty5State26print_block_maybe_unclosed17h3b0ddc7248032a61E+0xDC): relocation R_PPC_PLTREL24 out of range: -33570260 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_item::h993c6db847753592: .text._ZN16rustc_hir_pretty5State10print_item17h993c6db847753592E+0x698): relocation R_PPC_PLTREL24 out of range: -33554800 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_block_maybe_unclosed::h3b0ddc7248032a61: .text._ZN16rustc_hir_pretty5State26print_block_maybe_unclosed17h3b0ddc7248032a61E+0xE4): relocation R_PPC_PLTREL24 out of range: -33570108 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_item::h993c6db847753592: .text._ZN16rustc_hir_pretty5State10print_item17h993c6db847753592E+0x6EC): relocation R_PPC_PLTREL24 out of range: -33554884 is not in [-33554432, 33554431]
    ld: error: rustc_hir_pretty.7ep572vg-cgu.0:(function rustc_hir_pretty::State::print_item::h993c6db847753592: .text._ZN16rustc_hir_pretty5State10print_item17h993c6db847753592E+0x6F4): relocation R_PPC_PLTREL24 out of range: -33554732 is not in [-33554432, 33554431]
    
    http://package19.nyi.freebsd.org/data/122amd64-default-build-as-user/ab31b591e5a6/logs/powerpc-rust-bootstrap-1.52.1_1.log
---
 lang/rust-bootstrap/Makefile | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/lang/rust-bootstrap/Makefile b/lang/rust-bootstrap/Makefile
index 735bd717559b..cfe871f2a232 100644
--- a/lang/rust-bootstrap/Makefile
+++ b/lang/rust-bootstrap/Makefile
@@ -47,6 +47,7 @@ powerpc64_elfv1_BUILD_DEPENDS=	powerpc64-gcc9>0:devel/freebsd-gcc9 at powerpc64
 powerpc64_elfv2_PKGNAMEPREFIX=	powerpc64-elfv2-
 powerpc64le_PKGNAMEPREFIX=	powerpc64le-
 powerpc_PKGNAMEPREFIX=		powerpc-
+powerpc_BUILD_DEPENDS=		powerpc-binutils>0:devel/binutils at powerpc
 
 USES=		ninja:build perl5 python:3.6+,build tar:xz
 .if ${FLAVOR} == powerpc64_elfv1
@@ -213,6 +214,12 @@ do-configure:
 		> ${WRKDIR}/${_RUST_TARGET}-cc
 	@${PRINTF} '#!/bin/sh\nexec ${CXX} --sysroot=${WRKDIR} -mabi=elfv2 --target=${_RUST_LLVM_TRIPLE} -stdlib=libc++ "$$@"\n' \
 		> ${WRKDIR}/${_RUST_TARGET}-c++
+.elif ${FLAVOR} == powerpc
+	@bfd="$$(${ECHO_CMD} ${LOCALBASE}/bin/${_RUST_TARGET}*[0-9]-ld.bfd)"; \
+		${PRINTF} '#!/bin/sh\nexec ${CC} --sysroot=${WRKDIR} --target=${_RUST_LLVM_TRIPLE} -Wno-unused-command-line-argument -fuse-ld=%s "$$@"\n' "$${bfd}" \
+			> ${WRKDIR}/${_RUST_TARGET}-cc; \
+		${PRINTF} '#!/bin/sh\nexec ${CXX} --sysroot=${WRKDIR} --target=${_RUST_LLVM_TRIPLE} -Wno-unused-command-line-argument -fuse-ld=%s "$$@"\n' "$${bfd}" \
+			> ${WRKDIR}/${_RUST_TARGET}-c++
 .else
 	@${PRINTF} '#!/bin/sh\nexec ${CC} --sysroot=${WRKDIR} --target=${_RUST_LLVM_TRIPLE} "$$@"\n' \
 		> ${WRKDIR}/${_RUST_TARGET}-cc


More information about the dev-commits-ports-all mailing list