mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-13 06:10:18 -04:00
x86/vdso: Always reject undefined references during linking
Instead of using a custom script to detect and fail on undefined references, use --no-undefined for all VDSO linker invocations. Drop the now unused checkundef.sh script. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20250306-vdso-checkundef-v2-1-a26cc315fd73@linutronix.de
This commit is contained in:
committed by
Ingo Molnar
parent
886653e366
commit
c080f2b8a2
@@ -32,7 +32,7 @@ targets += $(foreach x, 64 x32 32, vdso-image-$(x).c vdso$(x).so vdso$(x).so.dbg
|
||||
|
||||
CPPFLAGS_vdso.lds += -P -C
|
||||
|
||||
VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 --no-undefined \
|
||||
VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 -soname linux-vdso.so.1 \
|
||||
-z max-page-size=4096
|
||||
|
||||
$(obj)/vdso64.so.dbg: $(obj)/vdso.lds $(vobjs) FORCE
|
||||
@@ -151,10 +151,9 @@ $(obj)/vdso32.so.dbg: $(obj)/vdso32/vdso32.lds $(vobjs32) FORCE
|
||||
quiet_cmd_vdso = VDSO $@
|
||||
cmd_vdso = $(LD) -o $@ \
|
||||
$(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
|
||||
-T $(filter %.lds,$^) $(filter %.o,$^) && \
|
||||
sh $(src)/checkundef.sh '$(NM)' '$@'
|
||||
-T $(filter %.lds,$^) $(filter %.o,$^)
|
||||
|
||||
VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 \
|
||||
VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 --no-undefined \
|
||||
$(call ld-option, --eh-frame-hdr) -Bsymbolic -z noexecstack
|
||||
|
||||
quiet_cmd_vdso_and_check = VDSO $@
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/sh
|
||||
nm="$1"
|
||||
file="$2"
|
||||
$nm "$file" | grep '^ *U' > /dev/null 2>&1
|
||||
if [ $? -eq 1 ]; then
|
||||
exit 0
|
||||
else
|
||||
echo "$file: undefined symbols found" >&2
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user