From 5d1646d90e1f2cceb9f0828f4b28318cd0ec7744 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 12:05:51 +0200 Subject: Adding upstream version 5.10.209. Signed-off-by: Daniel Baumann --- scripts/tools-support-relr.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 scripts/tools-support-relr.sh (limited to 'scripts/tools-support-relr.sh') diff --git a/scripts/tools-support-relr.sh b/scripts/tools-support-relr.sh new file mode 100755 index 000000000..cb55878bd --- /dev/null +++ b/scripts/tools-support-relr.sh @@ -0,0 +1,17 @@ +#!/bin/sh -eu +# SPDX-License-Identifier: GPL-2.0 + +tmp_file=$(mktemp) +trap "rm -f $tmp_file.o $tmp_file $tmp_file.bin" EXIT + +cat << "END" | $CC -c -x c - -o $tmp_file.o >/dev/null 2>&1 +void *p = &p; +END +$LD $tmp_file.o -shared -Bsymbolic --pack-dyn-relocs=relr \ + --use-android-relr-tags -o $tmp_file + +# Despite printing an error message, GNU nm still exits with exit code 0 if it +# sees a relr section. So we need to check that nothing is printed to stderr. +test -z "$($NM $tmp_file 2>&1 >/dev/null)" + +$OBJCOPY -O binary $tmp_file $tmp_file.bin -- cgit v1.2.3