toolbox/SOURCES/toolbox-Make-the-build-flag...

56 lines
2.1 KiB
Diff
Raw Permalink Normal View History

2023-09-21 20:35:39 +00:00
From aeaa8cd30a8c5ad33ee1fe6b9e84ecbb28f7264c Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
Date: Mon, 29 Jun 2020 17:57:47 +0200
2023-09-21 20:35:39 +00:00
Subject: [PATCH] build: Make the build flags match RHEL's %{gobuildflags}
2023-09-21 20:35:39 +00:00
The Go toolchain doesn't like the LDFLAGS environment variable as
exported by RHEL's %{meson} RPM macro, and RHEL's RPM toolchain doesn't
like the compressed DWARF data generated by the Go toolchain.
Note that these flags are meant for every CPU architecture other than
PPC64, and should be kept updated to match RHEL's Go guidelines. Use
2023-09-21 20:35:39 +00:00
'rpm --eval "%{gobuildflags}"' to expand the %{gobuildflags} macro.
---
2022-01-11 17:12:51 +00:00
src/go-build-wrapper | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/go-build-wrapper b/src/go-build-wrapper
2023-09-21 20:35:39 +00:00
index c572d6dfb02b..d39764fda0c1 100755
--- a/src/go-build-wrapper
+++ b/src/go-build-wrapper
2023-09-21 20:35:39 +00:00
@@ -33,9 +33,9 @@ if ! cd "$1"; then
exit 1
fi
2022-01-11 17:12:51 +00:00
-tags=""
2023-09-21 20:35:39 +00:00
+tags="-tags rpm_crashtraceback,${BUILDTAGS:-},libtrust_openssl"
if $7; then
2022-01-11 17:12:51 +00:00
- tags="-tags migration_path_for_coreos_toolbox"
+ tags="$tags,migration_path_for_coreos_toolbox"
fi
2023-09-21 20:35:39 +00:00
if ! libc_dir=$("$5" --print-file-name=libc.so); then
@@ -70,11 +70,17 @@ fi
2022-01-11 17:12:51 +00:00
dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basename"
+unset LDFLAGS
2022-01-11 17:12:51 +00:00
+
# shellcheck disable=SC2086
go build \
+ -buildmode pie \
+ -compiler gc \
$tags \
- -trimpath \
2023-09-21 20:35:39 +00:00
- -ldflags "-extldflags '-Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \
+ -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \
2022-01-11 17:12:51 +00:00
+ -a \
+ -v \
+ -x \
2023-09-21 20:35:39 +00:00
-o "$2/$3"
2022-01-11 17:12:51 +00:00
exit "$?"
--
2023-09-21 20:35:39 +00:00
2.39.2