git: 3dd789ff4ac3 - main - devel/freebsd-sysroot: Add -mno-relax to the riscv64 wrapper scripts
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 13 Nov 2021 09:42:40 UTC
The branch main has been updated by tobik:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3dd789ff4ac3db21c9fde387acd5ba832989380a
commit 3dd789ff4ac3db21c9fde387acd5ba832989380a
Author: Tobias Kortkamp <tobik@FreeBSD.org>
AuthorDate: 2021-11-09 13:21:20 +0000
Commit: Tobias Kortkamp <tobik@FreeBSD.org>
CommitDate: 2021-11-13 09:08:42 +0000
devel/freebsd-sysroot: Add -mno-relax to the riscv64 wrapper scripts
$ FREEBSD_SYSROOT_CC=clang13 /usr/local/freebsd-sysroot/riscv64/bin/cc test.c
ld: error: test.c:(.text+0x0): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
On riscv64 base clang defaults to -mno-relax (per D25210). This
patch has not been applied to ports LLVM. In the wrapper scripts
pass -mno-relax explicitly to make it work as expected when
FREEBSD_SYSROOT_CC is set to ports clang.
---
devel/freebsd-sysroot/Makefile | 2 +-
devel/freebsd-sysroot/files/riscv64-c++.in | 4 ++++
devel/freebsd-sysroot/files/riscv64-cc.in | 4 ++++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/devel/freebsd-sysroot/Makefile b/devel/freebsd-sysroot/Makefile
index 151257f4b7fd..cae92c98e281 100644
--- a/devel/freebsd-sysroot/Makefile
+++ b/devel/freebsd-sysroot/Makefile
@@ -1,5 +1,5 @@
PORTNAME= freebsd-sysroot
-DISTVERSION= a2021-09-14
+DISTVERSION= a2021-11-09
CATEGORIES= devel
MASTER_SITES= LOCAL/tobik:${FLAVOR} \
${_SYSROOT_DIST:@f@https://download.freebsd.org/ftp/$f?dummy=/:${FLAVOR}@}
diff --git a/devel/freebsd-sysroot/files/riscv64-c++.in b/devel/freebsd-sysroot/files/riscv64-c++.in
new file mode 100644
index 000000000000..6148593cb1b0
--- /dev/null
+++ b/devel/freebsd-sysroot/files/riscv64-c++.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+: ${FREEBSD_SYSROOT_CXX:="%%FREEBSD_SYSROOT_CXX%%"}
+: ${FREEBSD_SYSROOT:="%%FREEBSD_SYSROOT%%"}
+exec "${FREEBSD_SYSROOT_CXX}" --sysroot="${FREEBSD_SYSROOT}" --target=%%FREEBSD_SYSROOT_LLVM_TRIPLE%% --stdlib=libc++ -mno-relax "$@"
diff --git a/devel/freebsd-sysroot/files/riscv64-cc.in b/devel/freebsd-sysroot/files/riscv64-cc.in
new file mode 100644
index 000000000000..8777c34d30f3
--- /dev/null
+++ b/devel/freebsd-sysroot/files/riscv64-cc.in
@@ -0,0 +1,4 @@
+#!/bin/sh
+: ${FREEBSD_SYSROOT_CC:="%%FREEBSD_SYSROOT_CC%%"}
+: ${FREEBSD_SYSROOT:="%%FREEBSD_SYSROOT%%"}
+exec "${FREEBSD_SYSROOT_CC}" --sysroot="${FREEBSD_SYSROOT}" --target=%%FREEBSD_SYSROOT_LLVM_TRIPLE%% -mno-relax "$@"