mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
check-uapi: link into shared objects
While testing ABI changes across all architectures, I found that abidiff sometimes produces nonsensical output. Further debugging identified missing or broken libelf support for architecture specific relocations in ET_REL binaries as the source of the problem[1]. Change the script to no longer produce a relocatable object file but instead create a shared library for each header. This makes abidiff work for all of the architectures in upstream linux kernels. Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33869 Cc: stable@vger.kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Nathan Chancellor <nathan@kernel.org> Link: https://patch.msgid.link/20260306163309.2015837-2-arnd@kernel.org Signed-off-by: Nicolas Schier <nsc@kernel.org>
This commit is contained in:
committed by
Nicolas Schier
parent
c9bb03ac2c
commit
a261f6dff3
@@ -178,8 +178,11 @@ do_compile() {
|
||||
local -r inc_dir="$1"
|
||||
local -r header="$2"
|
||||
local -r out="$3"
|
||||
printf "int main(void) { return 0; }\n" | \
|
||||
"$CC" -c \
|
||||
printf "int f(void) { return 0; }\n" | \
|
||||
"$CC" \
|
||||
-shared \
|
||||
-nostdlib \
|
||||
-fPIC \
|
||||
-o "$out" \
|
||||
-x c \
|
||||
-O0 \
|
||||
|
||||
Reference in New Issue
Block a user