|
@@ -5,16 +5,26 @@ include ../lib.mk
|
|
|
|
|
|
.PHONY: all all_32 all_64 warn_32bit_failure clean
|
|
.PHONY: all all_32 all_64 warn_32bit_failure clean
|
|
|
|
|
|
-TARGETS_C_BOTHBITS := single_step_syscall sysret_ss_attrs syscall_nt ptrace_syscall test_mremap_vdso \
|
|
|
|
- check_initial_reg_state sigreturn ldt_gdt iopl mpx-mini-test ioperm \
|
|
|
|
|
|
+UNAME_M := $(shell uname -m)
|
|
|
|
+CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) trivial_32bit_program.c -m32)
|
|
|
|
+CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) trivial_64bit_program.c)
|
|
|
|
+
|
|
|
|
+TARGETS_C_BOTHBITS := single_step_syscall sysret_ss_attrs syscall_nt test_mremap_vdso \
|
|
|
|
+ check_initial_reg_state sigreturn iopl mpx-mini-test ioperm \
|
|
protection_keys test_vdso test_vsyscall
|
|
protection_keys test_vdso test_vsyscall
|
|
TARGETS_C_32BIT_ONLY := entry_from_vm86 syscall_arg_fault test_syscall_vdso unwind_vdso \
|
|
TARGETS_C_32BIT_ONLY := entry_from_vm86 syscall_arg_fault test_syscall_vdso unwind_vdso \
|
|
test_FCMOV test_FCOMI test_FISTTP \
|
|
test_FCMOV test_FCOMI test_FISTTP \
|
|
vdso_restorer
|
|
vdso_restorer
|
|
TARGETS_C_64BIT_ONLY := fsgsbase sysret_rip
|
|
TARGETS_C_64BIT_ONLY := fsgsbase sysret_rip
|
|
|
|
+# Some selftests require 32bit support enabled also on 64bit systems
|
|
|
|
+TARGETS_C_32BIT_NEEDED := ldt_gdt ptrace_syscall
|
|
|
|
|
|
-TARGETS_C_32BIT_ALL := $(TARGETS_C_BOTHBITS) $(TARGETS_C_32BIT_ONLY)
|
|
|
|
|
|
+TARGETS_C_32BIT_ALL := $(TARGETS_C_BOTHBITS) $(TARGETS_C_32BIT_ONLY) $(TARGETS_C_32BIT_NEEDED)
|
|
TARGETS_C_64BIT_ALL := $(TARGETS_C_BOTHBITS) $(TARGETS_C_64BIT_ONLY)
|
|
TARGETS_C_64BIT_ALL := $(TARGETS_C_BOTHBITS) $(TARGETS_C_64BIT_ONLY)
|
|
|
|
+ifeq ($(CAN_BUILD_I386)$(CAN_BUILD_X86_64),11)
|
|
|
|
+TARGETS_C_64BIT_ALL += $(TARGETS_C_32BIT_NEEDED)
|
|
|
|
+endif
|
|
|
|
+
|
|
BINARIES_32 := $(TARGETS_C_32BIT_ALL:%=%_32)
|
|
BINARIES_32 := $(TARGETS_C_32BIT_ALL:%=%_32)
|
|
BINARIES_64 := $(TARGETS_C_64BIT_ALL:%=%_64)
|
|
BINARIES_64 := $(TARGETS_C_64BIT_ALL:%=%_64)
|
|
|
|
|
|
@@ -23,10 +33,6 @@ BINARIES_64 := $(patsubst %,$(OUTPUT)/%,$(BINARIES_64))
|
|
|
|
|
|
CFLAGS := -O2 -g -std=gnu99 -pthread -Wall -no-pie
|
|
CFLAGS := -O2 -g -std=gnu99 -pthread -Wall -no-pie
|
|
|
|
|
|
-UNAME_M := $(shell uname -m)
|
|
|
|
-CAN_BUILD_I386 := $(shell ./check_cc.sh $(CC) trivial_32bit_program.c -m32)
|
|
|
|
-CAN_BUILD_X86_64 := $(shell ./check_cc.sh $(CC) trivial_64bit_program.c)
|
|
|
|
-
|
|
|
|
ifeq ($(CAN_BUILD_I386),1)
|
|
ifeq ($(CAN_BUILD_I386),1)
|
|
all: all_32
|
|
all: all_32
|
|
TEST_PROGS += $(BINARIES_32)
|
|
TEST_PROGS += $(BINARIES_32)
|