Skip to content

Commit 1907d3f

Browse files
nickdesaulnierswilldeacon
authored andcommitted
arm64: vdso32: drop the test for dmb ishld
Binutils added support for this instruction in commit e797f7e0b2bedc9328d4a9a0ebc63ca7a2dbbebc which shipped in 2.24 (just missing the 2.23 release) but was cherry-picked into 2.23 in commit 27a50d6755bae906bc73b4ec1a8b448467f0bea1. Thanks to Christian and Simon for helping me with the patch archaeology. According to Documentation/process/changes.rst, the minimum supported version of binutils is 2.23. Since all supported versions of GAS support this instruction, drop the assembler invocation, preprocessor flags/guards, and the cross assembler macro that's now unused. This also avoids a recursive self reference in a follow up cleanup patch. Cc: Christian Biesinger <[email protected]> Cc: Simon Marchi <[email protected]> Signed-off-by: Nick Desaulniers <[email protected]> Reviewed-by: Vincenzo Frascino <[email protected]> Reviewed-by: Nathan Chancellor <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Will Deacon <[email protected]>
1 parent 5816b3e commit 1907d3f

File tree

2 files changed

+1
-9
lines changed

2 files changed

+1
-9
lines changed

arch/arm64/include/asm/vdso/compat_barrier.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
#define dmb(option) __asm__ __volatile__ ("dmb " #option : : : "memory")
2222

23-
#if __LINUX_ARM_ARCH__ >= 8 && defined(CONFIG_AS_DMB_ISHLD)
23+
#if __LINUX_ARM_ARCH__ >= 8
2424
#define aarch32_smp_mb() dmb(ish)
2525
#define aarch32_smp_rmb() dmb(ishld)
2626
#define aarch32_smp_wmb() dmb(ishst)

arch/arm64/kernel/vdso32/Makefile

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ cc32-option = $(call try-run,\
2929
$(CC_COMPAT) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
3030
cc32-disable-warning = $(call try-run,\
3131
$(CC_COMPAT) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
32-
cc32-as-instr = $(call try-run,\
33-
printf "%b\n" "$(1)" | $(CC_COMPAT) $(VDSO_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3))
3432

3533
# We cannot use the global flags to compile the vDSO files, the main reason
3634
# being that the 32-bit compiler may be older than the main (64-bit) compiler
@@ -113,12 +111,6 @@ endif
113111
VDSO_AFLAGS := $(VDSO_CAFLAGS)
114112
VDSO_AFLAGS += -D__ASSEMBLY__
115113

116-
# Check for binutils support for dmb ishld
117-
dmbinstr := $(call cc32-as-instr,dmb ishld,-DCONFIG_AS_DMB_ISHLD=1)
118-
119-
VDSO_CFLAGS += $(dmbinstr)
120-
VDSO_AFLAGS += $(dmbinstr)
121-
122114
# From arm vDSO Makefile
123115
VDSO_LDFLAGS += -Bsymbolic --no-undefined -soname=linux-vdso.so.1
124116
VDSO_LDFLAGS += -z max-page-size=4096 -z common-page-size=4096

0 commit comments

Comments
 (0)