mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-21 14:56:21 +00:00
184 lines
5.8 KiB
Makefile
184 lines
5.8 KiB
Makefile
|
|
include $(top_srcdir)/Makefile.tool-tests.am
|
|
|
|
dist_noinst_SCRIPTS = filter_cpuid filter_inf_nan filter_stderr gen_insn_test.pl
|
|
|
|
CLEANFILES = $(addsuffix .c,$(INSN_TESTS))
|
|
|
|
INSN_TESTS = insn_basic insn_cmov insn_mmx insn_mmxext
|
|
|
|
if !COMPILER_IS_CLANG
|
|
INSN_TESTS += insn_sse insn_sse2
|
|
if BUILD_SSSE3_TESTS
|
|
INSN_TESTS += insn_ssse3
|
|
endif
|
|
if BUILD_SSE3_TESTS
|
|
if !SOLARIS_SUN_STUDIO_AS
|
|
# Sun Studio assembler fails to build some tests (illegal mnemonic).
|
|
INSN_TESTS += insn_sse3
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
if !SOLARIS_SUN_STUDIO_AS
|
|
# Sun Studio assembler fails to build some tests (illegal mnemonic).
|
|
INSN_TESTS += insn_fpu
|
|
endif
|
|
|
|
# Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS,
|
|
# to avoid packaging screwups if 'make dist' is run on a machine
|
|
# which failed the BUILD_SSE3_TESTS test in configure.in.
|
|
|
|
## FIXME: move lzcnt32 to SSE4 conditionalisation, when that happens.
|
|
|
|
EXTRA_DIST = \
|
|
aad_aam.stdout.exp aad_aam.stderr.exp aad_aam.vgtest \
|
|
badseg.stderr.exp badseg.stdout.exp badseg.stdout.exp-solaris \
|
|
badseg.vgtest \
|
|
bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest \
|
|
bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \
|
|
bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \
|
|
bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest \
|
|
bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \
|
|
bug135421-x86.stderr.exp bug135421-x86.stdout.exp bug135421-x86.vgtest \
|
|
bug137714-x86.stderr.exp bug137714-x86.stdout.exp bug137714-x86.vgtest \
|
|
bug152818-x86.stderr.exp bug152818-x86.stdout.exp bug152818-x86.vgtest \
|
|
cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
|
|
cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
|
|
cse_fail.stderr.exp cse_fail.stdout.exp cse_fail.vgtest \
|
|
faultstatus.disabled faultstatus.stderr.exp \
|
|
fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \
|
|
fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \
|
|
fpu_lazy_eflags.vgtest \
|
|
fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
|
|
fxtract.stdout.exp-older-glibc \
|
|
getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
|
|
incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
|
|
int.stderr.exp int.stdout.exp int.disabled \
|
|
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
|
|
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
|
|
$(addsuffix .vgtest,$(INSN_TESTS)) \
|
|
insn_fpu.stdout.exp insn_fpu.stderr.exp insn_fpu.vgtest \
|
|
insn_sse.stdout.exp insn_sse.stderr.exp insn_sse.vgtest \
|
|
insn_sse2.stdout.exp insn_sse2.stderr.exp insn_sse2.vgtest \
|
|
insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \
|
|
insn_ssse3.stdout.exp insn_ssse3.stderr.exp insn_ssse3.vgtest \
|
|
jcxz.stdout.exp jcxz.stderr.exp jcxz.vgtest \
|
|
lahf.stdout.exp lahf.stderr.exp lahf.vgtest \
|
|
looper.stderr.exp looper.stdout.exp looper.vgtest \
|
|
lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \
|
|
movx.stderr.exp movx.stdout.exp movx.vgtest \
|
|
movbe.stderr.exp movbe.stdout.exp movbe.vgtest \
|
|
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
|
|
sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \
|
|
shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \
|
|
smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
|
|
ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \
|
|
ssse3_misaligned.vgtest ssse3_misaligned.c \
|
|
x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \
|
|
x87trigOOR.vgtest x87trigOOR.stdout.exp x87trigOOR.stderr.exp \
|
|
yield.stderr.exp yield.stdout.exp yield.disabled \
|
|
xadd.stdout.exp xadd.stderr.exp xadd.vgtest
|
|
|
|
check_PROGRAMS = \
|
|
aad_aam \
|
|
allexec \
|
|
badseg \
|
|
bt_everything \
|
|
bt_literal \
|
|
bug125959-x86 \
|
|
bug126147-x86 \
|
|
bug132813-x86 \
|
|
bug135421-x86 \
|
|
bug137714-x86 \
|
|
bug152818-x86 \
|
|
cmpxchg8b \
|
|
cpuid \
|
|
cse_fail \
|
|
fcmovnu \
|
|
fpu_lazy_eflags \
|
|
fxtract \
|
|
getseg \
|
|
incdec_alt \
|
|
$(INSN_TESTS) \
|
|
int \
|
|
jcxz \
|
|
lahf \
|
|
looper \
|
|
movx \
|
|
sbbmisc \
|
|
shift_ndep \
|
|
smc1 \
|
|
x86locked \
|
|
x87trigOOR \
|
|
yield \
|
|
xadd
|
|
if BUILD_SSSE3_TESTS
|
|
check_PROGRAMS += ssse3_misaligned
|
|
endif
|
|
if BUILD_LZCNT_TESTS
|
|
check_PROGRAMS += lzcnt32
|
|
endif
|
|
if BUILD_MOVBE_TESTS
|
|
check_PROGRAMS += movbe
|
|
endif
|
|
if !VGCONF_OS_IS_DARWIN
|
|
if !SOLARIS_SUN_STUDIO_AS
|
|
# Sun Studio assembler fails to assemble the bound instruction
|
|
if !COMPILER_IS_CLANG
|
|
# clang errors out complaining that %eax as the 1st operand in the bound
|
|
# insn is an invalid operand.
|
|
check_PROGRAMS += faultstatus
|
|
endif
|
|
endif
|
|
endif
|
|
if !SOLARIS_SUN_STUDIO_AS
|
|
# Sun Studio assembler fails to assemble pushw %fs, popw %fs
|
|
check_PROGRAMS += pushpopseg
|
|
endif
|
|
|
|
|
|
AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
|
|
AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
|
|
AM_CCASFLAGS += @FLAG_M32@
|
|
|
|
allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
|
|
|
|
if VGCONF_OS_IS_DARWIN
|
|
# Some of the tests (bug125959_x86, bug152818_x86, insn_*) need
|
|
# -mdynamic-no-pic. I tried setting *_CFLAGS separately for all of them,
|
|
# but it caused problems with the generation of insn_*.c. So just use this
|
|
# crude approach of setting -mdynamic-no-pic for all tests in this
|
|
# directory.
|
|
AM_CFLAGS += -mdynamic-no-pic
|
|
endif
|
|
|
|
cpuid_SOURCES = cpuid_c.c cpuid_s.S
|
|
# fpu_lazy_eflags must use these flags -- the bug only occurred with them.
|
|
fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro
|
|
fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@
|
|
fxtract_LDADD = -lm
|
|
insn_basic_SOURCES = insn_basic.def
|
|
insn_basic_LDADD = -lm
|
|
insn_fpu_SOURCES = insn_fpu.def
|
|
insn_fpu_LDADD = -lm
|
|
insn_cmov_SOURCES = insn_cmov.def
|
|
insn_cmov_LDADD = -lm
|
|
insn_mmx_SOURCES = insn_mmx.def
|
|
insn_mmx_LDADD = -lm
|
|
insn_mmxext_SOURCES = insn_mmxext.def
|
|
insn_mmxext_LDADD = -lm
|
|
insn_sse_SOURCES = insn_sse.def
|
|
insn_sse_LDADD = -lm
|
|
insn_sse2_SOURCES = insn_sse2.def
|
|
insn_sse2_LDADD = -lm
|
|
insn_sse3_SOURCES = insn_sse3.def
|
|
insn_sse3_LDADD = -lm
|
|
insn_ssse3_SOURCES = insn_ssse3.def
|
|
insn_ssse3_LDADD = -lm
|
|
x86locked_CFLAGS = $(AM_CFLAGS) -O
|
|
yield_LDADD = -lpthread
|
|
|
|
.def.c: $(srcdir)/gen_insn_test.pl
|
|
$(PERL) $(srcdir)/gen_insn_test.pl < $< > $@
|