mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-25 00:36:29 +00:00
125 lines
4.7 KiB
Makefile
125 lines
4.7 KiB
Makefile
include $(top_srcdir)/Makefile.tool.am
|
|
|
|
EXTRA_DIST = docs/mc-manual.xml docs/mc-tech-docs.xml
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Headers
|
|
#----------------------------------------------------------------------------
|
|
|
|
pkginclude_HEADERS = \
|
|
memcheck.h
|
|
|
|
noinst_HEADERS = \
|
|
mc_include.h
|
|
|
|
#----------------------------------------------------------------------------
|
|
# memcheck-<platform>
|
|
#----------------------------------------------------------------------------
|
|
|
|
noinst_PROGRAMS = memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
noinst_PROGRAMS += memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@
|
|
endif
|
|
|
|
MEMCHECK_SOURCES_COMMON = \
|
|
mc_leakcheck.c \
|
|
mc_malloc_wrappers.c \
|
|
mc_main.c \
|
|
mc_translate.c \
|
|
mc_machine.c \
|
|
mc_errors.c
|
|
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = \
|
|
$(MEMCHECK_SOURCES_COMMON)
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = \
|
|
$(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -O2
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
|
|
$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = \
|
|
$(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = \
|
|
$(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
|
|
$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
|
|
@VALT_LOAD_ADDRESS_PRI@ \
|
|
$(LINK) \
|
|
$(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
|
|
$(memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
|
|
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = \
|
|
$(MEMCHECK_SOURCES_COMMON)
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = \
|
|
$(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -O2
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
|
|
$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD = \
|
|
$(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = \
|
|
$(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
|
|
$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
|
|
@VALT_LOAD_ADDRESS_SEC@ \
|
|
$(LINK) \
|
|
$(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
|
|
$(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
|
|
endif
|
|
|
|
# mc_main.c contains the helper function for memcheck that get called
|
|
# all the time. To maximise performance compile with -fomit-frame-pointer
|
|
# Primary beneficiary is x86.
|
|
mc_main.o: CFLAGS += -fomit-frame-pointer
|
|
|
|
#----------------------------------------------------------------------------
|
|
# vgpreload_memcheck-<platform>.so
|
|
#----------------------------------------------------------------------------
|
|
|
|
noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
noinst_PROGRAMS += vgpreload_memcheck-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
|
|
endif
|
|
|
|
if VGCONF_OS_IS_DARWIN
|
|
noinst_DSYMS = $(noinst_PROGRAMS)
|
|
endif
|
|
|
|
VGPRELOAD_MEMCHECK_SOURCES_COMMON = mc_replace_strmem.c
|
|
|
|
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = \
|
|
$(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
|
|
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \
|
|
$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_PRI_CAPS@) -O2
|
|
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_DEPENDENCIES = \
|
|
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
vgpreload_memcheck_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = \
|
|
$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
|
|
$(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
|
|
|
if VGCONF_HAVE_PLATFORM_SEC
|
|
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = \
|
|
$(VGPRELOAD_MEMCHECK_SOURCES_COMMON)
|
|
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \
|
|
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \
|
|
$(AM_CFLAGS_PSO_@VGCONF_PLATFORM_SEC_CAPS@) -O2
|
|
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \
|
|
$(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
vgpreload_memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = \
|
|
$(PRELOAD_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) \
|
|
$(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
|
endif
|
|
|
|
# mc_replace_strmem.c runs on the simulated CPU, and it often appears
|
|
# in stack traces shown to the user. It is built with
|
|
# -fno-omit-frame-pointer so as to guarantee robust backtraces on x86,
|
|
# on which CFI based unwinding is not the "normal" case and so is
|
|
# sometimes fragile.
|
|
mc_replace_strmem.o: CFLAGS += -fno-omit-frame-pointer
|
|
|