-DVGO_$(VG_OS)=1 \
-DVGP_$(VG_ARCH)_$(VG_OS)=1
+BASE_AM_CFLAGS = @ARCH_CORE_AM_CFLAGS@ -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
+
+PIC_AM_CFLAGS = $(BASE_AM_CFLAGS) -fpic -fno-omit-frame-pointer
+
AM_CPPFLAGS = $(add_includes)
+AM_CFLAGS = $(WERROR) @PIE_AM_CFLAGS@ $(BASE_AM_CFLAGS)
AM_CCASFLAGS = $(add_includes) @ARCH_CORE_AM_CCASFLAGS@ -Wa,-gstabs
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Winline -Wall -O -g
-
bin_PROGRAMS = valgrind-listener
valgrind_listener_SOURCES = valgrind-listener.c
fi
# Check for PIE support in the compiler and linker
+AC_SUBST(PIE_AM_CFLAGS)
AC_CACHE_CHECK([for PIE support], vg_cv_pie,
[AC_ARG_ENABLE(pie, [ --enable-pie platform supports PIE linking],
[vg_cv_pie=$enableval],
LDFLAGS=$safe_LDFLAGS])])
if test "$vg_cv_pie" = yes; then
AC_DEFINE([HAVE_PIE], 1, [can create position-independent executables])
+PIE_AM_CFLAGS="-fpie"
fi
AM_CONDITIONAL(USE_PIE, test "$vg_cv_pie" = "yes")
AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" \
-DKICKSTART_BASE=@KICKSTART_BASE@
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g @ARCH_CORE_AM_CFLAGS@
-AM_CFLAGS += -fno-omit-frame-pointer
-
default.supp: $(SUPP_FILES)
bin_PROGRAMS = \
## only referred to by tool shared objects).
stage2_extra2 = \
m_replacemalloc/libreplacemalloc_core.a
-
+
## Nb: older versions of automake don't seem to like having += within an
## if-then-else, so we have to use these variables for the common parts.
st2_DEPS_common = \
-Wl,-version-script $(srcdir)/valgrind.vs
if USE_PIE
-stage2_CFLAGS = $(AM_CFLAGS) -fpie
stage2_DEPENDENCIES = $(st2_DEPS_common)
stage2_LDFLAGS = \
$(st2_LDFLAGS_common) \
-Wl,--whole-archive $(stage2_extra2) -Wl,--no-whole-archive \
-pie
else
-stage2_CFLAGS = $(AM_CFLAGS)
stage2_DEPENDENCIES = $(st2_DEPS_common) ${VG_ARCH}/stage2.lds
stage2_LDFLAGS = \
$(st2_LDFLAGS_common) \
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g
-
noinst_HEADERS = \
core_platform.h \
vki_unistd.h
libplatform_a_SOURCES = \
core_platform.c
-
-if USE_PIE
-libplatform_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libplatform_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g
-
noinst_HEADERS = \
core_arch.h
jmp_with_stack.c \
state.c
-if USE_PIE
-libarch_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libarch_a_CFLAGS = $(AM_CFLAGS)
-endif
-
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
$(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g
-
noinst_HEADERS = \
core_platform.h \
vki_unistd.h
libplatform_a_SOURCES =
-if USE_PIE
-libplatform_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libplatform_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g
-
noinst_HEADERS = \
core_arch.h
libarch_a_SOURCES = \
state.c
-if USE_PIE
-libarch_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libarch_a_CFLAGS = $(AM_CFLAGS)
-endif
-
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
$(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
noinst_HEADERS = \
core_os.h
libos_a_SOURCES = \
core_os.c \
sema.c
-
-if USE_PIE
-libos_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libos_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
EXTRA_DIST = \
README_ASPACEMGR.txt
libaspacemgr_a_SOURCES = \
read_procselfmaps.c \
aspacemgr.c
-
-if USE_PIE
-libaspacemgr_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libaspacemgr_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-## Test repeated in both arms of the if-then-else because older versions of
-## automake don't seem to like having += within an if-then-else.
-if USE_PIE
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g -fpie
-else
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g
-endif
-
noinst_HEADERS = \
ansidecl.h \
dyn-string.h \
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
noinst_LIBRARIES = libdispatch.a
## XXX: this won't work with "make dist" -- only one dispatch-XXX.S file
## will be put in the tarball. Problem exists in various other Makefiles.
libdispatch_a_SOURCES = \
dispatch-@VG_ARCH@.S
-
-if USE_PIE
-libdispatch_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libdispatch_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
EXTRA_DIST = \
README_REPLACEMALLOC.txt
libreplacemalloc_core_a_SOURCES = \
replacemalloc_core.c
-if USE_PIE
-libreplacemalloc_core_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libreplacemalloc_core_a_CFLAGS = $(AM_CFLAGS)
-endif
-
libreplacemalloc_toolpreload_a_SOURCES = \
vg_replace_malloc.c
libreplacemalloc_toolpreload_a_CFLAGS = \
- $(AM_CFLAGS) -fpic -fno-omit-frame-pointer
+ $(PIC_AM_CFLAGS)
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
EXTRA_DIST = \
README_SIGFRAME.txt
libsigframe_a_SOURCES = \
sigframe-@VG_PLATFORM@.c
-
-if USE_PIE
-libsigframe_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libsigframe_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
EXTRA_DIST = \
README_SYSCALLS.txt
priv_syscalls-amd64-linux.h \
priv_syscalls-arm-linux.h \
priv_syscalls-x86-linux.h
-
+
noinst_LIBRARIES = libsyscalls.a
libsyscalls_a_SOURCES = \
syscalls.c \
syscalls-@VG_OS@.c \
syscalls-@VG_PLATFORM@.c
-
-if USE_PIE
-libsyscalls_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libsyscalls_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
noinst_HEADERS = \
core_platform.h \
vki_unistd.h
libplatform_a_SOURCES = \
core_platform.c
-
-if USE_PIE
-libplatform_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libplatform_a_CFLAGS = $(AM_CFLAGS)
-endif
include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g
-
noinst_HEADERS = \
core_arch.h
jmp_with_stack.c \
state.c
-if USE_PIE
-libarch_a_CFLAGS = $(AM_CFLAGS) -fpie
-else
-libarch_a_CFLAGS = $(AM_CFLAGS)
-endif
-
# Extract ld's default linker script and hack it to our needs
stage2.lds: Makefile
- $(CC) -Wl,--verbose -nostdlib 2>&1 | sed \
+ $(CC) $(AM_CFLAGS) -Wl,--verbose -nostdlib 2>&1 | sed \
-e '1,/^=====\+$$/d' \
-e '/^=====\+$$/d' \
-e 's/0x08048000/kickstart_base/g' > $@ || rm -f $@