1
0
mirror of https://github.com/ioacademy-jikim/debugging synced 2026-08-30 01:09:34 +00:00

first commit

This commit is contained in:
jikim
2015-12-13 22:34:58 +09:00
commit 0b589c7986
9455 changed files with 4350134 additions and 0 deletions
@@ -0,0 +1,956 @@
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# memcheck/tests/amd64-solaris/Makefile. Generated from Makefile.in by configure.
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
# This file is used for tool tests, and also in perf/Makefile.am.
# This file should be included (directly or indirectly) by every
# Makefile.am that builds programs. And also the top-level Makefile.am.
#----------------------------------------------------------------------------
# Global stuff
#----------------------------------------------------------------------------
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/valgrind
pkgincludedir = $(includedir)/valgrind
pkglibdir = $(libdir)/valgrind
pkglibexecdir = $(libexecdir)/valgrind
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = i686-pc-linux-gnu
host_triplet = i686-pc-linux-gnu
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
$(top_srcdir)/depcomp
#am__append_1 = -Wno-cast-align -Wno-self-assign \
# -Wno-tautological-compare
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
# The Android toolchain includes all kinds of stdlib helpers present in
# bionic which is bad because we are not linking with it and the Android
# linker will panic.
#am__append_3 = -nostdlib
#am__append_4 = -DVGA_SEC_=1 \
# -DVGP_SEC_x86_linux=1
# Make sure that all test programs have threaded errno.
#am__append_5 = -D_REENTRANT
#am__append_6 = -Wno-format-extra-args \
# -Wno-literal-range \
# -Wno-tautological-constant-out-of-range-compare \
# -Wno-self-assign -Wno-string-plus-int \
# -Wno-uninitialized -Wno-unused-value # \
# clang 3.0.0
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
check_PROGRAMS = context_fpu$(EXEEXT) context_gpr$(EXEEXT) \
context_rflags$(EXEEXT) context_rflags2$(EXEEXT) \
context_sse$(EXEEXT) ldsoexec$(EXEEXT)
subdir = memcheck/tests/amd64-solaris
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
context_fpu_SOURCES = context_fpu.c
context_fpu_OBJECTS = context_fpu.$(OBJEXT)
context_fpu_LDADD = $(LDADD)
context_gpr_SOURCES = context_gpr.c
context_gpr_OBJECTS = context_gpr.$(OBJEXT)
context_gpr_LDADD = $(LDADD)
context_rflags_SOURCES = context_rflags.c
context_rflags_OBJECTS = context_rflags.$(OBJEXT)
context_rflags_LDADD = $(LDADD)
context_rflags2_SOURCES = context_rflags2.c
context_rflags2_OBJECTS = context_rflags2.$(OBJEXT)
context_rflags2_LDADD = $(LDADD)
context_sse_SOURCES = context_sse.c
context_sse_OBJECTS = context_sse.$(OBJEXT)
context_sse_LDADD = $(LDADD)
ldsoexec_SOURCES = ldsoexec.c
ldsoexec_OBJECTS = ldsoexec.$(OBJEXT)
ldsoexec_LDADD = $(LDADD)
SCRIPTS = $(dist_noinst_SCRIPTS)
AM_V_P = $(am__v_P_$(V))
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I. -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = context_fpu.c context_gpr.c context_rflags.c \
context_rflags2.c context_sse.c ldsoexec.c
DIST_SOURCES = context_fpu.c context_gpr.c context_rflags.c \
context_rflags2.c context_sse.c ldsoexec.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
AMTAR = $${TAR-tar}
AM_DEFAULT_VERBOSITY = 1
AR = /usr/bin/ar
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
AWK = gawk
BOOST_CFLAGS =
BOOST_LIBS =
CC = gcc
CCAS = gcc
CCASDEPMODE = depmode=gcc3
CCASFLAGS =
CCDEPMODE = depmode=gcc3
CFLAGS =
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXDEPMODE = depmode=gcc3
CXXFLAGS =
CYGPATH_W = echo
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
DIFF = diff -u
DIS_PATH =
ECHO_C =
ECHO_N = -n
ECHO_T =
EGREP = /bin/grep -E
EXEEXT =
FLAG_FNO_IPA_ICF = -fno-ipa-icf
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
FLAG_FSANITIZE =
FLAG_M32 = -m32
FLAG_M64 = -m64
FLAG_MIPS32 =
FLAG_MIPS64 =
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
FLAG_MMMX = -mmmx
FLAG_MSSE = -msse
FLAG_NO_BUILD_ID =
FLAG_OCTEON =
FLAG_OCTEON2 =
FLAG_T_TEXT = -Ttext-segment
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
FLAG_W_CAST_ALIGN = -Wcast-align
FLAG_W_CAST_QUAL = -Wcast-qual
FLAG_W_EMPTY_BODY = -Wempty-body
FLAG_W_EXTRA = -Wextra
FLAG_W_FORMAT = -Wformat
FLAG_W_FORMAT_SECURITY = -Wformat-security
FLAG_W_FORMAT_SIGNEDNESS =
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
FLAG_W_NO_INFINITE_RECURSION =
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
FLAG_W_NO_MISMATCHED_NEW_DELETE =
FLAG_W_NO_NONNULL = -Wno-nonnull
FLAG_W_NO_OVERFLOW = -Wno-overflow
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
FLAG_W_WRITE_STRINGS = -Wwrite-strings
GDB = /usr/bin/gdb
GLIBC_VERSION = 2.21
GREP = /bin/grep
HWCAP_HAS_ALTIVEC =
HWCAP_HAS_DFP =
HWCAP_HAS_HTM =
HWCAP_HAS_ISA_2_05 =
HWCAP_HAS_ISA_2_06 =
HWCAP_HAS_ISA_2_07 =
HWCAP_HAS_VSX =
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
LDFLAGS =
LDFLAGS_MPI = -fpic -shared
LIBOBJS =
LIBS =
LIB_UBSAN =
LN_S = ln -s
LTLIBOBJS =
MAINT = #
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
MKDIR_P = /bin/mkdir -p
MPI_CC = mpicc
OBJEXT = o
PACKAGE = valgrind
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
PACKAGE_NAME = Valgrind
PACKAGE_STRING = Valgrind 3.11.0
PACKAGE_TARNAME = valgrind
PACKAGE_URL =
PACKAGE_VERSION = 3.11.0
PATH_SEPARATOR = :
PERL = /usr/bin/perl
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
RANLIB = ranlib
SED = /bin/sed
SET_MAKE =
SHELL = /bin/bash
STRIP =
VALT_LOAD_ADDRESS_PRI = 0x38000000
VALT_LOAD_ADDRESS_SEC = 0xUNSET
VERSION = 3.11.0
VGCONF_ARCH_PRI = x86
VGCONF_ARCH_SEC =
VGCONF_OS = linux
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
VGCONF_PLATFORM_SEC_CAPS =
VGCONF_PLATVARIANT = vanilla
VG_TMPDIR = /tmp
abs_builddir = /root/03_day/valgrind-3.11.0/memcheck/tests/amd64-solaris
abs_srcdir = /root/03_day/valgrind-3.11.0/memcheck/tests/amd64-solaris
abs_top_builddir = /root/03_day/valgrind-3.11.0
abs_top_srcdir = /root/03_day/valgrind-3.11.0
ac_ct_CC = gcc
ac_ct_CXX = g++
am__include = include
am__leading_dot = .
am__quote =
am__tar = $${TAR-tar} chof - "$$tardir"
am__untar = $${TAR-tar} xf -
bindir = ${exec_prefix}/bin
build = i686-pc-linux-gnu
build_alias =
build_cpu = i686
build_os = linux-gnu
build_vendor = pc
builddir = .
datadir = ${datarootdir}
datarootdir = ${prefix}/share
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
dvidir = ${docdir}
exec_prefix = ${prefix}
host = i686-pc-linux-gnu
host_alias =
host_cpu = i686
host_os = linux-gnu
host_vendor = pc
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
mkdir_p = $(MKDIR_P)
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
program_transform_name = s,x,x,
psdir = ${docdir}
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
srcdir = .
sysconfdir = ${prefix}/etc
target_alias =
top_build_prefix = ../../../
top_builddir = ../../..
top_srcdir = ../../..
inplacedir = $(top_builddir)/.in_place
#----------------------------------------------------------------------------
# Flags
#----------------------------------------------------------------------------
# Baseline flags for all compilations. Aim here is to maximise
# performance and get whatever useful warnings we can out of gcc.
# -fno-builtin is important for defeating LLVM's idiom recognition
# that somehow causes VG_(memset) to get into infinite recursion.
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
-Wcast-align -Wcast-qual -Wwrite-strings \
-Wempty-body -Wformat \
-Wformat-security -Wignored-qualifiers \
-Wmissing-parameter-type -Wold-style-declaration \
-fno-stack-protector \
-fno-strict-aliasing -fno-builtin $(am__append_1)
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
-fpic -fno-builtin -fno-ipa-icf
# These flags are used for building the preload shared objects (PSOs).
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending
# into (and through) the preloads. Also, we must use any
# -mpreferred-stack-boundary flag to build the preload shared
# objects, since that risks misaligning the client's stack and
# results in segfaults like (eg) #324050.
#AM_CFLAGS_PSO_BASE = -dynamic \
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
# -fpic -fPIC -fno-builtin -fno-ipa-icf
# Flags for specific targets.
#
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
# For building the core, coregrind/Makefile.am files add some extra things.
AM_CPPFLAGS_X86_LINUX = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/VEX/pub \
-I$(top_builddir)/VEX/pub \
-DVGA_x86=1 \
-DVGO_linux=1 \
-DVGP_x86_linux=1 \
-DVGPV_x86_linux_vanilla=1
#AM_CPPFLAGS_ = \
# -I$(top_srcdir) \
# -I$(top_srcdir)/include \
# -I$(top_srcdir)/VEX/pub \
# -I$(top_builddir)/VEX/pub \
# -DVGA_=1 \
# -DVGO_linux=1 \
# -DVGP__linux=1 \
# -DVGPV__linux_vanilla=1
AM_FLAG_M3264_X86_LINUX = -m32
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_LINUX = -m32 -g
AM_FLAG_M3264_AMD64_LINUX = -m64
AM_CFLAGS_AMD64_LINUX = -m64 \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
AM_FLAG_M3264_PPC32_LINUX = -m32
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
AM_FLAG_M3264_PPC64BE_LINUX = -m64
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
AM_FLAG_M3264_PPC64LE_LINUX = -m64
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
AM_FLAG_M3264_ARM_LINUX = -m32
AM_CFLAGS_ARM_LINUX = -m32 \
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM_LINUX = -m32 \
-marm -mcpu=cortex-a8 -g
AM_FLAG_M3264_ARM64_LINUX = -m64
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
AM_FLAG_M3264_X86_DARWIN = -arch i386
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
-mmacosx-version-min=10.5 \
-fno-stack-protector -fno-pic -fno-PIC
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
-mmacosx-version-min=10.5 -fno-stack-protector
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
AM_FLAG_M3264_S390X_LINUX = -m64
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
AM_FLAG_M3264_MIPS32_LINUX = -m32
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
$(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
AM_FLAG_M3264_MIPS64_LINUX = -m64
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
$(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_FLAG_M3264_X86_SOLARIS = -m32
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
AM_FLAG_M3264_AMD64_SOLARIS = -m64
AM_CFLAGS_AMD64_SOLARIS = -m64 \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
# Flags for the primary target. These must be used to build the
# regtests and performance tests. In fact, these must be used to
# build anything which is built only once on a dual-arch build.
#
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
AM_FLAG_M3264_SEC =
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
# Baseline link flags for making vgpreload shared objects.
#
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
-Wl,-z,interpose,-z,initfirst $(am__append_3)
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
-Wl,-z,interpose,-z,initfirst $(am__append_2)
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
-DVGA_x86=1 -DVGO_linux=1 \
-DVGP_x86_linux=1 \
-DVGPV_x86_linux_vanilla=1 \
$(am__append_4)
# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
-fno-stack-protector $(am__append_5) $(am__append_6) \
-m64 $(am__empty)
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
-fno-stack-protector $(am__append_7) -m64
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
# automake; see comments in Makefile.all.am for more detail.
AM_CCASFLAGS = $(AM_CPPFLAGS) -m64
#noinst_DSYMS = $(check_PROGRAMS)
dist_noinst_SCRIPTS = filter_stderr
EXTRA_DIST = \
context_fpu.stderr.exp context_fpu.stdout.exp context_fpu.vgtest \
context_gpr.stderr.exp context_gpr.stdout.exp context_gpr.vgtest \
context_rflags.stderr.exp context_rflags.stdout.exp context_rflags.vgtest \
context_rflags2.stderr.exp context_rflags2.stdout.exp context_rflags2.vgtest \
context_sse.stderr.exp context_sse.stdout.exp context_sse.vgtest \
ldsoexec.stderr.exp ldsoexec.vgtest
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign memcheck/tests/amd64-solaris/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign memcheck/tests/amd64-solaris/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: # $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
context_fpu$(EXEEXT): $(context_fpu_OBJECTS) $(context_fpu_DEPENDENCIES) $(EXTRA_context_fpu_DEPENDENCIES)
@rm -f context_fpu$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_fpu_OBJECTS) $(context_fpu_LDADD) $(LIBS)
context_gpr$(EXEEXT): $(context_gpr_OBJECTS) $(context_gpr_DEPENDENCIES) $(EXTRA_context_gpr_DEPENDENCIES)
@rm -f context_gpr$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_gpr_OBJECTS) $(context_gpr_LDADD) $(LIBS)
context_rflags$(EXEEXT): $(context_rflags_OBJECTS) $(context_rflags_DEPENDENCIES) $(EXTRA_context_rflags_DEPENDENCIES)
@rm -f context_rflags$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_rflags_OBJECTS) $(context_rflags_LDADD) $(LIBS)
context_rflags2$(EXEEXT): $(context_rflags2_OBJECTS) $(context_rflags2_DEPENDENCIES) $(EXTRA_context_rflags2_DEPENDENCIES)
@rm -f context_rflags2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_rflags2_OBJECTS) $(context_rflags2_LDADD) $(LIBS)
context_sse$(EXEEXT): $(context_sse_OBJECTS) $(context_sse_DEPENDENCIES) $(EXTRA_context_sse_DEPENDENCIES)
@rm -f context_sse$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_sse_OBJECTS) $(context_sse_LDADD) $(LIBS)
ldsoexec$(EXEEXT): $(ldsoexec_OBJECTS) $(ldsoexec_DEPENDENCIES) $(EXTRA_ldsoexec_DEPENDENCIES)
@rm -f ldsoexec$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ldsoexec_OBJECTS) $(ldsoexec_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
include ./$(DEPDIR)/context_fpu.Po
include ./$(DEPDIR)/context_gpr.Po
include ./$(DEPDIR)/context_rflags.Po
include ./$(DEPDIR)/context_rflags2.Po
include ./$(DEPDIR)/context_sse.Po
include ./$(DEPDIR)/ldsoexec.Po
.c.o:
$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
$(am__mv) $$depbase.Tpo $$depbase.Po
# $(AM_V_CC)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(COMPILE) -c -o $@ $<
.c.obj:
$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
$(am__mv) $$depbase.Tpo $$depbase.Po
# $(AM_V_CC)source='$<' object='$@' libtool=no \
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(SCRIPTS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
# This used to be required when Vex had a handwritten Makefile. It
# shouldn't be needed any more, though.
#----------------------------------------------------------------------------
# noinst_PROGRAMS and noinst_DSYMS targets
#----------------------------------------------------------------------------
# On Darwin, for a program 'p', the DWARF debug info is stored in the
# directory 'p.dSYM'. This must be generated after the executable is
# created, with 'dsymutil p'. We could redefine LINK with a script that
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
# hook so that every time "make check" is run, we subsequently invoke
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
# newer than their corresponding .dSYM directory.
build-noinst_DSYMS: $(noinst_DSYMS)
for f in $(noinst_DSYMS); do \
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
echo "dsymutil $$f"; \
dsymutil $$f; \
fi; \
done
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
# It needs to be depended on by an 'all-local' rule.
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
mkdir -p $(inplacedir); \
for f in $(noinst_PROGRAMS) ; do \
rm -f $(inplacedir)/$$f; \
ln -f -s ../$(subdir)/$$f $(inplacedir); \
done
# Similar to inplace-noinst_PROGRAMS
inplace-noinst_DSYMS: build-noinst_DSYMS
mkdir -p $(inplacedir); \
for f in $(noinst_DSYMS); do \
rm -f $(inplacedir)/$$f.dSYM; \
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
done
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
# It needs to be depended on by an 'install-exec-local' rule.
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
for f in $(noinst_PROGRAMS); do \
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
done
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
# It needs to be depended on by an 'uninstall-local' rule.
uninstall-noinst_PROGRAMS:
for f in $(noinst_PROGRAMS); do \
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
done
# Similar to install-noinst_PROGRAMS.
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
# directories. XXX: not sure whether the resulting permissions will be
# correct when using 'cp -R'...
install-noinst_DSYMS: build-noinst_DSYMS
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
for f in $(noinst_DSYMS); do \
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
done
# Similar to uninstall-noinst_PROGRAMS.
uninstall-noinst_DSYMS:
for f in $(noinst_DSYMS); do \
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
done
# This needs to be depended on by a 'clean-local' rule.
clean-noinst_DSYMS:
for f in $(noinst_DSYMS); do \
rm -rf $$f.dSYM; \
done
check-local: build-noinst_DSYMS
clean-local: clean-noinst_DSYMS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
@@ -0,0 +1,25 @@
include $(top_srcdir)/Makefile.tool-tests.am
dist_noinst_SCRIPTS = filter_stderr
EXTRA_DIST = \
context_fpu.stderr.exp context_fpu.stdout.exp context_fpu.vgtest \
context_gpr.stderr.exp context_gpr.stdout.exp context_gpr.vgtest \
context_rflags.stderr.exp context_rflags.stdout.exp context_rflags.vgtest \
context_rflags2.stderr.exp context_rflags2.stdout.exp context_rflags2.vgtest \
context_sse.stderr.exp context_sse.stdout.exp context_sse.vgtest \
ldsoexec.stderr.exp ldsoexec.vgtest
check_PROGRAMS = \
context_fpu \
context_gpr \
context_rflags \
context_rflags2 \
context_sse \
ldsoexec
AM_CFLAGS += @FLAG_M64@
AM_CXXFLAGS += @FLAG_M64@
AM_CCASFLAGS += @FLAG_M64@
@@ -0,0 +1,956 @@
# Makefile.in generated by automake 1.14.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# This file is used for tool tests, and also in perf/Makefile.am.
# This file should be included (directly or indirectly) by every
# Makefile.am that builds programs. And also the top-level Makefile.am.
#----------------------------------------------------------------------------
# Global stuff
#----------------------------------------------------------------------------
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
$(top_srcdir)/depcomp
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
# The Android toolchain includes all kinds of stdlib helpers present in
# bionic which is bad because we are not linking with it and the Android
# linker will panic.
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
# Make sure that all test programs have threaded errno.
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
check_PROGRAMS = context_fpu$(EXEEXT) context_gpr$(EXEEXT) \
context_rflags$(EXEEXT) context_rflags2$(EXEEXT) \
context_sse$(EXEEXT) ldsoexec$(EXEEXT)
subdir = memcheck/tests/amd64-solaris
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
context_fpu_SOURCES = context_fpu.c
context_fpu_OBJECTS = context_fpu.$(OBJEXT)
context_fpu_LDADD = $(LDADD)
context_gpr_SOURCES = context_gpr.c
context_gpr_OBJECTS = context_gpr.$(OBJEXT)
context_gpr_LDADD = $(LDADD)
context_rflags_SOURCES = context_rflags.c
context_rflags_OBJECTS = context_rflags.$(OBJEXT)
context_rflags_LDADD = $(LDADD)
context_rflags2_SOURCES = context_rflags2.c
context_rflags2_OBJECTS = context_rflags2.$(OBJEXT)
context_rflags2_LDADD = $(LDADD)
context_sse_SOURCES = context_sse.c
context_sse_OBJECTS = context_sse.$(OBJEXT)
context_sse_LDADD = $(LDADD)
ldsoexec_SOURCES = ldsoexec.c
ldsoexec_OBJECTS = ldsoexec.$(OBJEXT)
ldsoexec_LDADD = $(LDADD)
SCRIPTS = $(dist_noinst_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = context_fpu.c context_gpr.c context_rflags.c \
context_rflags2.c context_sse.c ldsoexec.c
DIST_SOURCES = context_fpu.c context_gpr.c context_rflags.c \
context_rflags2.c context_sse.c ldsoexec.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BOOST_CFLAGS = @BOOST_CFLAGS@
BOOST_LIBS = @BOOST_LIBS@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAGS_MPI = @CFLAGS_MPI@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_SUPP = @DEFAULT_SUPP@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DIFF = @DIFF@
DIS_PATH = @DIS_PATH@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
FLAG_FSANITIZE = @FLAG_FSANITIZE@
FLAG_M32 = @FLAG_M32@
FLAG_M64 = @FLAG_M64@
FLAG_MIPS32 = @FLAG_MIPS32@
FLAG_MIPS64 = @FLAG_MIPS64@
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
FLAG_MMMX = @FLAG_MMMX@
FLAG_MSSE = @FLAG_MSSE@
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
FLAG_OCTEON = @FLAG_OCTEON@
FLAG_OCTEON2 = @FLAG_OCTEON2@
FLAG_T_TEXT = @FLAG_T_TEXT@
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
FLAG_W_EXTRA = @FLAG_W_EXTRA@
FLAG_W_FORMAT = @FLAG_W_FORMAT@
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
GDB = @GDB@
GLIBC_VERSION = @GLIBC_VERSION@
GREP = @GREP@
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LDFLAGS_MPI = @LDFLAGS_MPI@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_UBSAN = @LIB_UBSAN@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MPI_CC = @MPI_CC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
VERSION = @VERSION@
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
VGCONF_OS = @VGCONF_OS@
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
VG_TMPDIR = @VG_TMPDIR@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
inplacedir = $(top_builddir)/.in_place
#----------------------------------------------------------------------------
# Flags
#----------------------------------------------------------------------------
# Baseline flags for all compilations. Aim here is to maximise
# performance and get whatever useful warnings we can out of gcc.
# -fno-builtin is important for defeating LLVM's idiom recognition
# that somehow causes VG_(memset) to get into infinite recursion.
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
-fno-strict-aliasing -fno-builtin $(am__append_1)
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
# These flags are used for building the preload shared objects (PSOs).
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending
# into (and through) the preloads. Also, we must use any
# -mpreferred-stack-boundary flag to build the preload shared
# objects, since that risks misaligning the client's stack and
# results in segfaults like (eg) #324050.
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
# Flags for specific targets.
#
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
# For building the core, coregrind/Makefile.am files add some extra things.
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
-I$(top_srcdir) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/VEX/pub \
-I$(top_builddir)/VEX/pub \
-DVGA_@VGCONF_ARCH_PRI@=1 \
-DVGO_@VGCONF_OS@=1 \
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
-marm -mcpu=cortex-a8 -g
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_X86_DARWIN = -arch i386
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
-mmacosx-version-min=10.5 \
-fno-stack-protector -fno-pic -fno-PIC
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
-mmacosx-version-min=10.5 -fno-stack-protector
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
$(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
$(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
$(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
# Flags for the primary target. These must be used to build the
# regtests and performance tests. In fact, these must be used to
# build anything which is built only once on a dual-arch build.
#
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
# Baseline link flags for making vgpreload shared objects.
#
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
-Wl,-z,interpose,-z,initfirst $(am__append_3)
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
-Wl,-z,interpose,-z,initfirst $(am__append_2)
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
$(am__append_4)
# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6) \
@FLAG_M64@ $(am__empty)
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7) @FLAG_M64@
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
# automake; see comments in Makefile.all.am for more detail.
AM_CCASFLAGS = $(AM_CPPFLAGS) @FLAG_M64@
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
dist_noinst_SCRIPTS = filter_stderr
EXTRA_DIST = \
context_fpu.stderr.exp context_fpu.stdout.exp context_fpu.vgtest \
context_gpr.stderr.exp context_gpr.stdout.exp context_gpr.vgtest \
context_rflags.stderr.exp context_rflags.stdout.exp context_rflags.vgtest \
context_rflags2.stderr.exp context_rflags2.stdout.exp context_rflags2.vgtest \
context_sse.stderr.exp context_sse.stdout.exp context_sse.vgtest \
ldsoexec.stderr.exp ldsoexec.vgtest
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign memcheck/tests/amd64-solaris/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign memcheck/tests/amd64-solaris/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
context_fpu$(EXEEXT): $(context_fpu_OBJECTS) $(context_fpu_DEPENDENCIES) $(EXTRA_context_fpu_DEPENDENCIES)
@rm -f context_fpu$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_fpu_OBJECTS) $(context_fpu_LDADD) $(LIBS)
context_gpr$(EXEEXT): $(context_gpr_OBJECTS) $(context_gpr_DEPENDENCIES) $(EXTRA_context_gpr_DEPENDENCIES)
@rm -f context_gpr$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_gpr_OBJECTS) $(context_gpr_LDADD) $(LIBS)
context_rflags$(EXEEXT): $(context_rflags_OBJECTS) $(context_rflags_DEPENDENCIES) $(EXTRA_context_rflags_DEPENDENCIES)
@rm -f context_rflags$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_rflags_OBJECTS) $(context_rflags_LDADD) $(LIBS)
context_rflags2$(EXEEXT): $(context_rflags2_OBJECTS) $(context_rflags2_DEPENDENCIES) $(EXTRA_context_rflags2_DEPENDENCIES)
@rm -f context_rflags2$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_rflags2_OBJECTS) $(context_rflags2_LDADD) $(LIBS)
context_sse$(EXEEXT): $(context_sse_OBJECTS) $(context_sse_DEPENDENCIES) $(EXTRA_context_sse_DEPENDENCIES)
@rm -f context_sse$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(context_sse_OBJECTS) $(context_sse_LDADD) $(LIBS)
ldsoexec$(EXEEXT): $(ldsoexec_OBJECTS) $(ldsoexec_DEPENDENCIES) $(EXTRA_ldsoexec_DEPENDENCIES)
@rm -f ldsoexec$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(ldsoexec_OBJECTS) $(ldsoexec_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_fpu.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_gpr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_rflags.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_rflags2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_sse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldsoexec.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(SCRIPTS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-local mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
# This used to be required when Vex had a handwritten Makefile. It
# shouldn't be needed any more, though.
#----------------------------------------------------------------------------
# noinst_PROGRAMS and noinst_DSYMS targets
#----------------------------------------------------------------------------
# On Darwin, for a program 'p', the DWARF debug info is stored in the
# directory 'p.dSYM'. This must be generated after the executable is
# created, with 'dsymutil p'. We could redefine LINK with a script that
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
# hook so that every time "make check" is run, we subsequently invoke
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
# newer than their corresponding .dSYM directory.
build-noinst_DSYMS: $(noinst_DSYMS)
for f in $(noinst_DSYMS); do \
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
echo "dsymutil $$f"; \
dsymutil $$f; \
fi; \
done
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
# It needs to be depended on by an 'all-local' rule.
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
mkdir -p $(inplacedir); \
for f in $(noinst_PROGRAMS) ; do \
rm -f $(inplacedir)/$$f; \
ln -f -s ../$(subdir)/$$f $(inplacedir); \
done
# Similar to inplace-noinst_PROGRAMS
inplace-noinst_DSYMS: build-noinst_DSYMS
mkdir -p $(inplacedir); \
for f in $(noinst_DSYMS); do \
rm -f $(inplacedir)/$$f.dSYM; \
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
done
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
# It needs to be depended on by an 'install-exec-local' rule.
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
for f in $(noinst_PROGRAMS); do \
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
done
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
# It needs to be depended on by an 'uninstall-local' rule.
uninstall-noinst_PROGRAMS:
for f in $(noinst_PROGRAMS); do \
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
done
# Similar to install-noinst_PROGRAMS.
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
# directories. XXX: not sure whether the resulting permissions will be
# correct when using 'cp -R'...
install-noinst_DSYMS: build-noinst_DSYMS
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
for f in $(noinst_DSYMS); do \
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
done
# Similar to uninstall-noinst_PROGRAMS.
uninstall-noinst_DSYMS:
for f in $(noinst_DSYMS); do \
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
done
# This needs to be depended on by a 'clean-local' rule.
clean-noinst_DSYMS:
for f in $(noinst_DSYMS); do \
rm -rf $$f.dSYM; \
done
check-local: build-noinst_DSYMS
clean-local: clean-noinst_DSYMS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
@@ -0,0 +1,109 @@
/* Test if x87 FP valus are correctly propagated in and out of a signal
handler and also check that the same applies for uninitialised values and
their origins. */
#include <assert.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ucontext.h>
static siginfo_t si;
static ucontext_t uc;
static float inhandler[8];
static void sighandler(int sig, siginfo_t *sip, ucontext_t *ucp)
{
int i;
si = *sip;
uc = *ucp;
/* Reset the FP stack so it's possible to push other values onto it. (It
is fully filled in main() before triggering the signal handler). Note
that VEX also clears all FP values when the finit instruction is
executed. This provides another level of validation that the restore
code is correct. */
__asm__ __volatile__(
"finit\n");
/* Convert 80b values in mcontext to 32b values in the inhandler array. */
for (i = 0; i < 8; i++) {
__asm__ __volatile__(
"fldt %[in]\n"
"fstps %[out]\n"
: [out] "=m" (inhandler[i])
: [in] "m" (*(char*)&ucp->uc_mcontext.fpregs.fp_reg_set.fpchip_state.st[i]));
}
}
int main(void)
{
struct sigaction sa;
pid_t pid;
float out[8];
float x0;
/* Uninitialised, but we know px[0] is 0x0. */
float *px = malloc(sizeof(*px));
x0 = px[0];
sa.sa_handler = sighandler;
sa.sa_flags = SA_SIGINFO;
if (sigfillset(&sa.sa_mask)) {
perror("sigfillset");
return 1;
}
if (sigaction(SIGUSR1, &sa, NULL)) {
perror("sigaction");
return 1;
}
pid = getpid();
__asm__ __volatile__(
/* Set values in the FP stack. */
"flds %[x0]\n"
"fld1\n"
"flds %[x0]\n"
"fld1\n"
"flds %[x0]\n"
"fld1\n"
"flds %[x0]\n"
"fld1\n"
/* Trigger the signal handler. */
"syscall\n"
"fstps 0x00 + %[out]\n"
"fstps 0x04 + %[out]\n"
"fstps 0x08 + %[out]\n"
"fstps 0x0c + %[out]\n"
"fstps 0x10 + %[out]\n"
"fstps 0x14 + %[out]\n"
"fstps 0x18 + %[out]\n"
"fstps 0x1c + %[out]\n"
: [out] "=m" (out[0])
: "a" (SYS_kill), "D" (pid), "S" (SIGUSR1), [x0] "m" (x0)
: "rdx", "cc", "memory");
printf("Values in the signal handler:\n");
printf(" fp[0]=%f, fp[2]=%f, fp[4]=%f, fp[6]=%f\n",
inhandler[0], inhandler[2], inhandler[4], inhandler[6]);
/* Check that inhandler[1], inhandler[3], inhandler[5] and inhandler[7]
contain uninitialised values (origin is px[0]). */
if (inhandler[1] || inhandler[3] || inhandler[5] || inhandler[7])
assert(0);
printf("Values after the return from the signal handler:\n");
printf(" fp[0]=%f, fp[2]=%f, fp[4]=%f, fp[6]=%f\n",
out[0], out[2], out[4], out[6]);
/* Check that out[1], out[3], out[5] and out[7] contain uninitialised
values (origin is px[0]). */
if (out[1] || out[3] || out[5] || out[7])
assert(0);
return 0;
}
@@ -0,0 +1,96 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:96)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_fpu.c:104)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_fpu.c:50)
@@ -0,0 +1,4 @@
Values in the signal handler:
fp[0]=1.000000, fp[2]=1.000000, fp[4]=1.000000, fp[6]=1.000000
Values after the return from the signal handler:
fp[0]=1.000000, fp[2]=1.000000, fp[4]=1.000000, fp[6]=1.000000
@@ -0,0 +1,2 @@
prog: context_fpu
vgopts: -q --track-origins=yes
@@ -0,0 +1,95 @@
/* Test if values in rax, rbx, rcx, rdx, rsi and rdi are correctly propagated
into and out of a signal handler and also check that the same applies for
uninitialised values and their origins. */
#include <assert.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ucontext.h>
static siginfo_t si;
static ucontext_t uc;
/* x0 is always zero, but is visible to Valgrind as uninitialised. */
static long x0;
void break_out(void);
static void sighandler(int sig, siginfo_t *sip, ucontext_t *ucp)
{
si = *sip;
uc = *ucp;
ucp->uc_mcontext.gregs[REG_RCX] = x0;
/* Break out of the endless loop. */
*(uintptr_t*)&ucp->uc_mcontext.gregs[REG_RIP] = (uintptr_t)break_out;
}
int main(void)
{
struct sigaction sa;
long rax, rbx, rcx, rdx, rsi, rdi;
long y0;
/* Uninitialised, but we know px[0] is 0x0. */
long *px = malloc(sizeof(*px));
x0 = px[0];
/* Uninitialised, but we know py[0] is 0x0. */
long *py = malloc(sizeof(*py));
y0 = py[0];
sa.sa_handler = sighandler;
sa.sa_flags = SA_SIGINFO;
if (sigfillset(&sa.sa_mask)) {
perror("sigfillset");
return 1;
}
if (sigaction(SIGALRM, &sa, NULL)) {
perror("sigaction");
return 1;
}
alarm(2);
__asm__ __volatile__(
/* Set values in general purpose registers. */
"movq $0xf0, %%rax\n"
"movq %[y0], %%rbx\n"
"movq $0xf1, %%rcx\n"
"movq $0xf2, %%rdx\n"
"movq $0xf3, %%rsi\n"
"movq $0xf4, %%rdi\n"
/* Loopity loop, this is where the SIGALRM is triggered. */
"1:\n"
"jmp 1b\n"
"break_out:\n"
: "=a" (rax), "=b" (rbx), "=c" (rcx), "=d" (rdx), "=S" (rsi),
"=D" (rdi)
: [y0] "m" (y0)
: "cc", "memory");
printf("Values in the signal handler:\n");
printf(" rax=%#lx, rcx=%#lx, rdx=%#lx, rsi=%#lx, rdi=%#lx\n",
uc.uc_mcontext.gregs[REG_RAX], uc.uc_mcontext.gregs[REG_RCX],
uc.uc_mcontext.gregs[REG_RDX], uc.uc_mcontext.gregs[REG_RSI],
uc.uc_mcontext.gregs[REG_RDI]);
/* Check that rbx contains an uninitialised value (origin is py[0]). */
if (uc.uc_mcontext.gregs[REG_RBX])
assert(0);
printf("Values after the return from the signal handler:\n");
printf(" rax=%#lx, rdx=%#lx, rsi=%#lx, rdi=%#lx\n", rax, rdx, rsi, rdi);
/* Check that rbx and rcx contain uninitialised values (origin is py[0]
and px[0], respectively). */
if (rbx || rcx)
assert(0);
return 0;
}
@@ -0,0 +1,18 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_gpr.c:83)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_gpr.c:42)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_gpr.c:90)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_gpr.c:42)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_gpr.c:90)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_gpr.c:38)
@@ -0,0 +1,4 @@
Values in the signal handler:
rax=0xf0, rcx=0xf1, rdx=0xf2, rsi=0xf3, rdi=0xf4
Values after the return from the signal handler:
rax=0xf0, rdx=0xf2, rsi=0xf3, rdi=0xf4
@@ -0,0 +1,2 @@
prog: context_gpr
vgopts: -q --track-origins=yes
@@ -0,0 +1,67 @@
/* Test if rflags values are correctly propagated in and out of a signal
handler. Note that we actually test only the propagation of the overflow
and sign flags. */
#include <assert.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ucontext.h>
#define OBIT(rflags) (!!((rflags) & (1 << 11)))
#define SBIT(rflags) (!!((rflags) & (1 << 7)))
static siginfo_t si;
static ucontext_t uc;
static void sighandler(int sig, siginfo_t *sip, ucontext_t *ucp)
{
si = *sip;
uc = *ucp;
}
int main(void)
{
struct sigaction sa;
pid_t pid;
long rflags;
sa.sa_handler = sighandler;
sa.sa_flags = SA_SIGINFO;
if (sigfillset(&sa.sa_mask)) {
perror("sigfillset");
return 1;
}
if (sigaction(SIGUSR1, &sa, NULL)) {
perror("sigaction");
return 1;
}
pid = getpid();
__asm__ __volatile__(
/* Set overflow and sign flags. */
"movl $1, %%edx\n"
"addl $0x7fffffff, %%edx\n"
/* Trigger the signal handler. */
"syscall\n"
"pushfq\n"
"popq %%rdx\n"
: "=d" (rflags)
: "a" (SYS_kill), "D" (pid), "S" (SIGUSR1)
: "cc", "memory");
printf("Values in the signal handler:\n");
printf(" overflow=%d, sign=%d\n",
OBIT(uc.uc_mcontext.gregs[REG_RFL]),
SBIT(uc.uc_mcontext.gregs[REG_RFL]));
printf("Values after the return from the signal handler:\n");
printf(" overflow=%d, sign=%d\n", OBIT(rflags), SBIT(rflags));
return 0;
}
@@ -0,0 +1,4 @@
Values in the signal handler:
overflow=1, sign=1
Values after the return from the signal handler:
overflow=1, sign=1
@@ -0,0 +1,2 @@
prog: context_rflags
vgopts: -q --track-origins=yes
@@ -0,0 +1,90 @@
/* Test if definedness of rflags values is correctly propagated in and out
of a signal handler. Note that actually only the propagation of the
overflow and sign flags is tested.
This test must use alarm(2) to trigger the signal and not kill(2) as other
tests do because in the latter case the signal is actually delivered after
the syscall finished. This means that Valgrind had to save a correct carry
flag value (indicating if the syscall succeeded) in the rflags. This save
operation unfortunately makes all rflags initialised (due to imprecise
simulation). */
#include <assert.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ucontext.h>
#define OBIT(rflags) (!!((rflags) & (1 << 11)))
#define SBIT(rflags) (!!((rflags) & (1 << 7)))
static siginfo_t si;
static ucontext_t uc;
void break_out(void);
static void sighandler(int sig, siginfo_t *sip, ucontext_t *ucp)
{
si = *sip;
uc = *ucp;
/* Break out of the endless loop. */
*(uintptr_t*)&ucp->uc_mcontext.gregs[REG_RIP] = (uintptr_t)break_out;
}
int main(void)
{
struct sigaction sa;
long rflags;
int x1;
/* Uninitialised, but we know px[0] is 0x0. */
int *px = malloc(sizeof(*px));
x1 = px[0] + 1;
sa.sa_handler = sighandler;
sa.sa_flags = SA_SIGINFO;
if (sigfillset(&sa.sa_mask)) {
perror("sigfillset");
return 1;
}
if (sigaction(SIGALRM, &sa, NULL)) {
perror("sigaction");
return 1;
}
alarm(2);
__asm__ __volatile__(
/* Set overflow and sign flags. */
"movl %[x1], %%edx\n"
"addl $0x7fffffff, %%edx\n"
/* Loopity loop, this is where the SIGALRM is triggered. */
"1:\n"
"jmp 1b\n"
"break_out:\n"
"pushfq\n"
"popq %%rdx\n"
: "=d" (rflags)
: [x1] "m" (x1)
: "cc", "memory");
/* Check that the overflow and sign flags are uninitialised.
Note: This actually fails because the rflags are only approximate
(always initialised) in the signal handler. */
if (!OBIT(uc.uc_mcontext.gregs[REG_RFL]) ||
!SBIT(uc.uc_mcontext.gregs[REG_RFL]))
assert(0);
/* Check that the overflow and sign flags are uninitialised. */
if (!OBIT(rflags) || !SBIT(rflags))
assert(0);
return 0;
}
@@ -0,0 +1,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_rflags2.c:85)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_rflags2.c:44)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_rflags2.c:85)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_rflags2.c:44)
@@ -0,0 +1,2 @@
prog: context_rflags2
vgopts: -q --track-origins=yes
@@ -0,0 +1,100 @@
/* Test if SSE valus are correctly propagated into and out of a signal handler
and also check that the same applies for uninitialised values and their
origins. */
#include <assert.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/ucontext.h>
static siginfo_t si;
static ucontext_t uc;
/* x0 is always zero, but is visible to Valgrind as uninitialised. */
static upad128_t x0;
static upad128_t d0 = {0};
static void sighandler(int sig, siginfo_t *sip, ucontext_t *ucp)
{
si = *sip;
uc = *ucp;
ucp->uc_mcontext.fpregs.fp_reg_set.fpchip_state.xmm[0] = d0;
ucp->uc_mcontext.fpregs.fp_reg_set.fpchip_state.xmm[1] = x0;
}
int main(void)
{
struct sigaction sa;
pid_t pid;
upad128_t out[8];
upad128_t y0;
struct fpchip_state *fs = &uc.uc_mcontext.fpregs.fp_reg_set.fpchip_state;
/* Uninitialised, but we know px[0] is 0x0. */
upad128_t *px = malloc(sizeof(*px));
x0 = px[0];
/* Uninitialised, but we know py[0] is 0x0. */
upad128_t *py = malloc(sizeof(*py));
y0 = py[0];
sa.sa_handler = sighandler;
sa.sa_flags = SA_SIGINFO;
if (sigfillset(&sa.sa_mask)) {
perror("sigfillset");
return 1;
}
if (sigaction(SIGUSR1, &sa, NULL)) {
perror("sigaction");
return 1;
}
pid = getpid();
__asm__ __volatile__(
/* Set values in the SSE registers. */
"movups %[y0], %%xmm0\n"
"movups %[d0], %%xmm1\n"
"movups %[d0], %%xmm2\n"
"movups %[y0], %%xmm3\n"
"movups %[y0], %%xmm4\n"
"movups %[d0], %%xmm5\n"
"movups %[d0], %%xmm6\n"
"movups %[y0], %%xmm7\n"
/* Trigger the signal handler. */
"syscall\n"
"movups %%xmm0, 0x00 + %[out]\n"
"movups %%xmm1, 0x10 + %[out]\n"
"movups %%xmm2, 0x20 + %[out]\n"
"movups %%xmm3, 0x30 + %[out]\n"
"movups %%xmm4, 0x40 + %[out]\n"
"movups %%xmm5, 0x50 + %[out]\n"
"movups %%xmm6, 0x60 + %[out]\n"
"movups %%xmm7, 0x70 + %[out]\n"
: [out] "=m" (out[0])
: "a" (SYS_kill), "D" (pid), "S" (SIGUSR1), [y0] "m" (y0), [d0] "m" (d0)
: "rdx", "cc", "memory");
printf("Values in the signal handler:\n");
printf(" xmm1=%Lf, xmm2=%Lf, xmm5=%Lf, xmm6=%Lf\n",
fs->xmm[1]._q, fs->xmm[2]._q, fs->xmm[5]._q, fs->xmm[6]._q);
/* Check that fs->xmm[0], fs->xmm[3], fs->xmm[4] and fs->xmm[7] contain
uninitialised values (origin is py[0]). */
if (fs->xmm[0]._q || fs->xmm[3]._q || fs->xmm[4]._q || fs->xmm[7]._q)
assert(0);
printf("Values after the return from the signal handler:\n");
printf(" xmm0=%Lf, xmm2=%Lf, xmm5=%Lf, xmm6=%Lf\n",
out[0]._q, out[2]._q, out[5]._q, out[6]._q);
/* Check that out[1], out[3], out[4] and out[7] contain uninitialised
values (origin is px[0]). */
if (out[1]._q || out[3]._q || out[4]._q || out[7]._q)
assert(0);
return 0;
}
@@ -0,0 +1,96 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:87)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:37)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:37)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (context_sse.c:95)
Uninitialised value was created by a heap allocation
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (context_sse.c:41)
@@ -0,0 +1,4 @@
Values in the signal handler:
xmm1=0.000000, xmm2=0.000000, xmm5=0.000000, xmm6=0.000000
Values after the return from the signal handler:
xmm0=0.000000, xmm2=0.000000, xmm5=0.000000, xmm6=0.000000
@@ -0,0 +1,2 @@
prog: context_sse
vgopts: -q --track-origins=yes
@@ -0,0 +1,3 @@
#! /bin/sh
../filter_stderr "$@"
@@ -0,0 +1,3 @@
int main(void) {
return 0;
}
@@ -0,0 +1,2 @@
prog: /lib/64/ld.so.1 ./ldsoexec
vgopts: -q