summaryrefslogtreecommitdiff
path: root/scripts/orc_hash.sh
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-06-25 10:00:17 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-06-25 10:00:17 -0700
commit300edd751b102715dda0fe44b4bf8442f6ccf9db (patch)
treea1fad15b2130b701686419ff5e6737129a80ecd7 /scripts/orc_hash.sh
parent661e723b6fc7247e8aa6704651c49cd25c559f75 (diff)
parentb9f174c811e3ae4ae8959dc57e6adb9990e913f4 (diff)
Merge tag 'objtool_urgent_for_v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull objtool fix from Borislav Petkov: - Add a ORC format hash to vmlinux and modules in order for other tools which use it, to detect changes to it and adapt accordingly * tag 'objtool_urgent_for_v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/unwind/orc: Add ELF section with ORC version identifier
Diffstat (limited to 'scripts/orc_hash.sh')
-rw-r--r--scripts/orc_hash.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/orc_hash.sh b/scripts/orc_hash.sh
new file mode 100644
index 000000000000..466611aa0053
--- /dev/null
+++ b/scripts/orc_hash.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (c) Meta Platforms, Inc. and affiliates.
+
+set -e
+
+printf '%s' '#define ORC_HASH '
+
+awk '
+/^#define ORC_(REG|TYPE)_/ { print }
+/^struct orc_entry {$/ { p=1 }
+p { print }
+/^}/ { p=0 }' |
+ sha1sum |
+ cut -d " " -f 1 |
+ sed 's/\([0-9a-f]\{2\}\)/0x\1,/g'