bb903df05b
This patch adds support for fast tracepoints for aarch64-linux. With this implementation, a tracepoint can only be placed in a +/- 128MB range of the jump pad. This is due to the unconditional branch instruction being limited to a (26 bit << 2) offset from the current PC. Three target operations are implemented: - target_install_fast_tracepoint_jump_pad Building the jump pad the biggest change of this patch. We need to add functions to emit all instructions needed to save and restore the current state when the tracepoint is hit. As well as implementing a lock and creating a collecting_t object identifying the current thread. Steps performed by the jump pad: * Save the current state on the stack. * Push a collecting_t object on the stack. We read the special tpidr_el0 system register to get the thread ID. * Spin-lock on the shared memory location of all tracing threads. We write the address of our collecting_t object there once we have the lock. * Call gdb_collect. * Release the lock. * Restore the state. * Execute the replaced instruction which will have been relocated. * Jump back to the program. - target_get_thread_area As implemented in ps_get_thread_area, target_get_thread_area uses ptrace to fetch the NT_ARM_TLS register. At the architecture level, NT_ARM_TLS represents the tpidr_el0 system register. So this ptrace call (if lwpid is the current thread): ~~~ ptrace (PTRACE_GETREGSET, lwpid, NT_ARM_TLS, &iovec); ~~~ Is equivalent to the following instruction: ~~~ msr x0, tpidr_el0 ~~~ This instruction is used when creating the collecting_t object that GDBserver can read to know if a given thread is currently tracing. So target_get_thread_area must get the same thread IDs as what the jump pad writes into its collecting_t object. - target_get_min_fast_tracepoint_insn_len This just returns 4. gdb/gdbserver/ChangeLog: * Makefile.in (linux-aarch64-ipa.o, aarch64-ipa.o): New rules. * configure.srv (aarch64*-*-linux*): Add linux-aarch64-ipa.o and aarch64-ipa.o. * linux-aarch64-ipa.c: New file. * linux-aarch64-low.c: Include arch/aarch64-insn.h, inttypes.h and endian.h. (aarch64_get_thread_area): New target method. (extract_signed_bitfield): New helper function. (aarch64_decode_ldr_literal): New function. (enum aarch64_opcodes): New enum. (struct aarch64_register): New struct. (struct aarch64_operand): New struct. (x0): New static global. (x1): Likewise. (x2): Likewise. (x3): Likewise. (x4): Likewise. (w2): Likewise. (ip0): Likewise. (sp): Likewise. (xzr): Likewise. (aarch64_register): New helper function. (register_operand): Likewise. (immediate_operand): Likewise. (struct aarch64_memory_operand): New struct. (offset_memory_operand): New helper function. (preindex_memory_operand): Likewise. (enum aarch64_system_control_registers): New enum. (ENCODE): New macro. (emit_insn): New helper function. (emit_b): New function. (emit_bcond): Likewise. (emit_cb): Likewise. (emit_tb): Likewise. (emit_blr): Likewise. (emit_stp): Likewise. (emit_ldp_q_offset): Likewise. (emit_stp_q_offset): Likewise. (emit_load_store): Likewise. (emit_ldr): Likewise. (emit_ldrsw): Likewise. (emit_str): Likewise. (emit_ldaxr): Likewise. (emit_stxr): Likewise. (emit_stlr): Likewise. (emit_data_processing_reg): Likewise. (emit_data_processing): Likewise. (emit_add): Likewise. (emit_sub): Likewise. (emit_mov): Likewise. (emit_movk): Likewise. (emit_mov_addr): Likewise. (emit_mrs): Likewise. (emit_msr): Likewise. (emit_sevl): Likewise. (emit_wfe): Likewise. (append_insns): Likewise. (can_encode_int32_in): New helper function. (aarch64_relocate_instruction): New function. (aarch64_install_fast_tracepoint_jump_pad): Likewise. (aarch64_get_min_fast_tracepoint_insn_len): Likewise. (struct linux_target_ops): Install aarch64_get_thread_area, aarch64_install_fast_tracepoint_jump_pad and aarch64_get_min_fast_tracepoint_insn_len.
845 lines
34 KiB
Makefile
845 lines
34 KiB
Makefile
# Copyright (C) 1989-2015 Free Software Foundation, Inc.
|
|
|
|
# This file is part of GDB.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
host_alias = @host_noncanonical@
|
|
target_alias = @target_noncanonical@
|
|
program_transform_name = @program_transform_name@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
tooldir = $(libdir)/$(target_alias)
|
|
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
man2dir = $(mandir)/man2
|
|
man3dir = $(mandir)/man3
|
|
man4dir = $(mandir)/man4
|
|
man5dir = $(mandir)/man5
|
|
man6dir = $(mandir)/man6
|
|
man7dir = $(mandir)/man7
|
|
man8dir = $(mandir)/man8
|
|
man9dir = $(mandir)/man9
|
|
infodir = @infodir@
|
|
htmldir = $(prefix)/html
|
|
includedir = @includedir@
|
|
|
|
SHELL = @SHELL@
|
|
EXEEXT = @EXEEXT@
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
RANLIB = @RANLIB@
|
|
|
|
# The name of the compiler to use.
|
|
COMPILER = @COMPILER@
|
|
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
AR = @AR@
|
|
AR_FLAGS = rc
|
|
|
|
# Dependency tracking information.
|
|
DEPMODE = @CCDEPMODE@
|
|
DEPDIR = @DEPDIR@
|
|
depcomp = $(SHELL) $(srcdir)/../depcomp
|
|
|
|
# Note that these are overridden by GNU make-specific code below if
|
|
# GNU make is used. The overrides implement dependency tracking.
|
|
COMPILE.pre = $(COMPILER)
|
|
COMPILE.post = -c -o $@
|
|
COMPILE = $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post)
|
|
POSTCOMPILE = @true
|
|
|
|
# Directory containing source files. Don't clean up the spacing,
|
|
# this exact string is matched for by the "configure" script.
|
|
srcdir = @srcdir@
|
|
abs_top_srcdir=@abs_top_srcdir@
|
|
abs_srcdir=@abs_srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
# It is also possible that you will need to add -I/usr/include/sys to the
|
|
# CFLAGS section if your system doesn't have fcntl.h in /usr/include (which
|
|
# is where it should be according to Posix).
|
|
|
|
# Set this up with gcc if you have gnu ld and the loader will print out
|
|
# line numbers for undefinded refs.
|
|
#CC_LD=gcc -static
|
|
CC_LD=$(COMPILER)
|
|
|
|
# Where is the "include" directory? Traditionally ../include or ./include
|
|
INCLUDE_DIR = ${srcdir}/../../include
|
|
INCLUDE_DEP = $$(INCLUDE_DIR)
|
|
|
|
LIBIBERTY_BUILDDIR = build-libiberty-gdbserver
|
|
LIBIBERTY = $(LIBIBERTY_BUILDDIR)/libiberty.a
|
|
|
|
# Where is ust? These will be empty if ust was not available.
|
|
ustlibs = @ustlibs@
|
|
ustinc = @ustinc@
|
|
|
|
# gnulib
|
|
GNULIB_BUILDDIR = build-gnulib-gdbserver
|
|
LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a
|
|
INCGNU = -I$(srcdir)/../gnulib/import -I$(GNULIB_BUILDDIR)/import
|
|
|
|
# Generated headers in the gnulib directory. These must be listed
|
|
# so that they are generated before other files are compiled.
|
|
GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@
|
|
|
|
# All the includes used for CFLAGS and for lint.
|
|
# -I. for config files.
|
|
# -I${srcdir} for our headers.
|
|
# -I$(srcdir)/../regformats for regdef.h.
|
|
#
|
|
# We do not include ../target or ../nat in here because headers
|
|
# in those directories should be included with the subdirectory.
|
|
# e.g.: "target/wait.h".
|
|
#
|
|
INCLUDE_CFLAGS = -I. -I${srcdir} -I$(srcdir)/../common \
|
|
-I$(srcdir)/../regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \
|
|
$(INCGNU)
|
|
|
|
# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS
|
|
# from the config/ directory.
|
|
GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS}
|
|
#PROFILE_CFLAGS = -pg
|
|
|
|
WARN_CFLAGS = @WARN_CFLAGS@
|
|
WERROR_CFLAGS = @WERROR_CFLAGS@
|
|
|
|
WARN_CFLAGS_NO_FORMAT = `echo " $(WARN_CFLAGS) " \
|
|
| sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"`
|
|
|
|
# CFLAGS is specifically reserved for setting from the command line
|
|
# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
|
|
CFLAGS = @CFLAGS@
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
|
|
INTERNAL_CFLAGS_BASE = ${CFLAGS} ${GLOBAL_CFLAGS} \
|
|
${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS}
|
|
INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS)
|
|
INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER
|
|
|
|
# LDFLAGS is specifically reserved for setting from the command line
|
|
# when running make.
|
|
LDFLAGS = @LDFLAGS@
|
|
INTERNAL_LDFLAGS = $(LDFLAGS) @RDYNAMIC@
|
|
|
|
# All source files that go into linking GDB remote server.
|
|
|
|
SFILES= $(srcdir)/gdbreplay.c $(srcdir)/inferiors.c $(srcdir)/dll.c \
|
|
$(srcdir)/mem-break.c $(srcdir)/proc-service.c \
|
|
$(srcdir)/proc-service.list $(srcdir)/regcache.c \
|
|
$(srcdir)/remote-utils.c $(srcdir)/server.c $(srcdir)/target.c \
|
|
$(srcdir)/thread-db.c $(srcdir)/utils.c $(srcdir)/debug.c \
|
|
$(srcdir)/linux-aarch64-low.c \
|
|
$(srcdir)/linux-arm-low.c $(srcdir)/linux-bfin-low.c \
|
|
$(srcdir)/linux-cris-low.c $(srcdir)/linux-crisv32-low.c \
|
|
${srcdir}/x86-low.c $(srcdir)/i387-fp.c \
|
|
$(srcdir)/linux-ia64-low.c $(srcdir)/linux-low.c \
|
|
$(srcdir)/linux-m32r-low.c \
|
|
$(srcdir)/linux-m68k-low.c $(srcdir)/linux-mips-low.c \
|
|
$(srcdir)/linux-nios2-low.c \
|
|
$(srcdir)/linux-ppc-low.c $(srcdir)/nat/ppc-linux.c \
|
|
$(srcdir)/linux-s390-low.c \
|
|
$(srcdir)/linux-sh-low.c $(srcdir)/linux-sparc-low.c \
|
|
$(srcdir)/linux-x86-low.c \
|
|
$(srcdir)/linux-xtensa-low.c \
|
|
$(srcdir)/linux-tile-low.c \
|
|
$(srcdir)/win32-arm-low.c $(srcdir)/win32-i386-low.c \
|
|
$(srcdir)/win32-low.c $(srcdir)/wincecompat.c \
|
|
$(srcdir)/hostio.c $(srcdir)/hostio-errno.c \
|
|
$(srcdir)/common/vec.c $(srcdir)/common/gdb_vecs.c \
|
|
$(srcdir)/common/common-utils.c $(srcdir)/common/xml-utils.c \
|
|
$(srcdir)/nat/linux-osdata.c $(srcdir)/common/ptid.c \
|
|
$(srcdir)/nat/linux-personality.c \
|
|
$(srcdir)/common/buffer.c $(srcdir)/nat/linux-btrace.c \
|
|
$(srcdir)/common/filestuff.c $(srcdir)/target/waitstatus.c \
|
|
$(srcdir)/nat/mips-linux-watch.c $(srcdir)/common/print-utils.c \
|
|
$(srcdir)/common/rsp-low.c $(srcdir)/common/errors.c \
|
|
$(srcdir)/common/common-debug.c $(srcdir)/common/cleanups.c \
|
|
$(srcdir)/common/common-exceptions.c $(srcdir)/symbol.c \
|
|
$(srcdir)/common/btrace-common.c \
|
|
$(srcdir)/common/fileio.c $(srcdir)/nat/linux-namespaces.c
|
|
|
|
DEPFILES = @GDBSERVER_DEPFILES@
|
|
|
|
LIBOBJS = @LIBOBJS@
|
|
|
|
SOURCES = $(SFILES)
|
|
TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS}
|
|
|
|
OBS = agent.o ax.o inferiors.o regcache.o remote-utils.o server.o signals.o \
|
|
target.o waitstatus.o utils.o debug.o version.o vec.o gdb_vecs.o \
|
|
mem-break.o hostio.o event-loop.o tracepoint.o xml-utils.o \
|
|
common-utils.o ptid.o buffer.o format.o filestuff.o dll.o notif.o \
|
|
tdesc.o print-utils.o rsp-low.o errors.o common-debug.o cleanups.o \
|
|
common-exceptions.o symbol.o btrace-common.o fileio.o \
|
|
$(XML_BUILTIN) $(DEPFILES) $(LIBOBJS)
|
|
GDBREPLAY_OBS = gdbreplay.o version.o
|
|
GDBSERVER_LIBS = @GDBSERVER_LIBS@
|
|
XM_CLIBS = @LIBS@
|
|
CDEPS = $(srcdir)/proc-service.list
|
|
|
|
# XML files to compile in to gdbserver, if any.
|
|
XML_DIR = $(srcdir)/../features
|
|
XML_FILES = @srv_xmlfiles@
|
|
XML_BUILTIN = @srv_xmlbuiltin@
|
|
|
|
IPA_DEPFILES = @IPA_DEPFILES@
|
|
extra_libraries = @extra_libraries@
|
|
|
|
SUBDIRS = $(GNULIB_BUILDDIR) $(LIBIBERTY_BUILDDIR)
|
|
CLEANDIRS = $(SUBDIRS)
|
|
|
|
# List of subdirectories in the build tree that must exist.
|
|
# This is used to force build failures in existing trees when
|
|
# a new directory is added.
|
|
# The format here is for the `case' shell command.
|
|
REQUIRED_SUBDIRS = $(GNULIB_BUILDDIR) | $(LIBIBERTY_BUILDDIR)
|
|
|
|
FLAGS_TO_PASS = \
|
|
"prefix=$(prefix)" \
|
|
"exec_prefix=$(exec_prefix)" \
|
|
"infodir=$(infodir)" \
|
|
"datarootdir=$(datarootdir)" \
|
|
"docdir=$(docdir)" \
|
|
"htmldir=$(htmldir)" \
|
|
"pdfdir=$(pdfdir)" \
|
|
"libdir=$(libdir)" \
|
|
"mandir=$(mandir)" \
|
|
"datadir=$(datadir)" \
|
|
"includedir=$(includedir)" \
|
|
"against=$(against)" \
|
|
"DESTDIR=$(DESTDIR)" \
|
|
"AR=$(AR)" \
|
|
"AR_FLAGS=$(AR_FLAGS)" \
|
|
"CC=$(CC)" \
|
|
"CFLAGS=$(CFLAGS)" \
|
|
"CXX=$(CXX)" \
|
|
"CXXFLAGS=$(CXXFLAGS)" \
|
|
"DLLTOOL=$(DLLTOOL)" \
|
|
"LDFLAGS=$(LDFLAGS)" \
|
|
"RANLIB=$(RANLIB)" \
|
|
"MAKEINFO=$(MAKEINFO)" \
|
|
"MAKEHTML=$(MAKEHTML)" \
|
|
"MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \
|
|
"INSTALL=$(INSTALL)" \
|
|
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
|
"INSTALL_DATA=$(INSTALL_DATA)" \
|
|
"RUNTEST=$(RUNTEST)" \
|
|
"RUNTESTFLAGS=$(RUNTESTFLAGS)"
|
|
|
|
# All generated files which can be included by another file.
|
|
generated_files = config.h $(GNULIB_H)
|
|
|
|
.c.o:
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries)
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
# Traditionally "install" depends on "all". But it may be useful
|
|
# not to; for example, if the user has made some trivial change to a
|
|
# source file and doesn't care about rebuilding or just wants to save the
|
|
# time it takes for make to check that all is up to date.
|
|
# install-only is intended to address that need.
|
|
install: all
|
|
@$(MAKE) $(FLAGS_TO_PASS) install-only
|
|
|
|
install-only:
|
|
n=`echo gdbserver | sed '$(program_transform_name)'`; \
|
|
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
|
|
if [ x"$(IPA_DEPFILES)" != x ]; then \
|
|
$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir); \
|
|
$(INSTALL_PROGRAM) $(IPA_LIB) $(DESTDIR)$(libdir)/$(IPA_LIB); \
|
|
fi; \
|
|
$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \
|
|
$(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
|
|
# Note that we run install and not install-only, as the latter
|
|
# is not part of GNU standards and in particular not provided
|
|
# in libiberty.
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=install "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
uninstall: force
|
|
n=`echo gdbserver | sed '$(program_transform_name)'`; \
|
|
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
|
|
rm -f $(DESTDIR)/$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(man1dir)/$$n.1
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
installcheck:
|
|
check:
|
|
info dvi pdf:
|
|
install-info:
|
|
install-pdf:
|
|
html:
|
|
install-html:
|
|
clean-info: force
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS} $(LIBGNU) $(LIBIBERTY)
|
|
rm -f gdbserver$(EXEEXT)
|
|
$(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbserver$(EXEEXT) $(OBS) \
|
|
$(LIBGNU) $(LIBIBERTY) $(GDBSERVER_LIBS) $(XM_CLIBS)
|
|
|
|
$(LIBGNU) $(LIBIBERTY) $(GNULIB_H): all-lib
|
|
all-lib: $(GNULIB_BUILDDIR)/Makefile $(LIBIBERTY_BUILDDIR)/Makefile
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS="$(SUBDIRS)" subdir_do
|
|
.PHONY: all-lib
|
|
|
|
gdbreplay$(EXEEXT): $(GDBREPLAY_OBS) $(LIBGNU) $(LIBIBERTY)
|
|
rm -f gdbreplay$(EXEEXT)
|
|
$(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) \
|
|
$(XM_CLIBS) $(LIBGNU) $(LIBIBERTY)
|
|
|
|
IPA_OBJS=ax-ipa.o tracepoint-ipa.o format-ipa.o utils-ipa.o \
|
|
regcache-ipa.o remote-utils-ipa.o common-utils-ipa.o \
|
|
tdesc-ipa.o print-utils-ipa.o rsp-low-ipa.o errors-ipa.o \
|
|
${IPA_DEPFILES}
|
|
|
|
IPA_LIB=libinproctrace.so
|
|
|
|
$(IPA_LIB): $(IPA_OBJS) ${ADD_DEPS} ${CDEPS}
|
|
rm -f $(IPA_LIB)
|
|
$(CC_LD) -shared -fPIC -Wl,--no-undefined $(INTERNAL_CFLAGS) \
|
|
$(INTERNAL_LDFLAGS) -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread
|
|
|
|
# Put the proper machine-specific files first, so M-. on a machine
|
|
# specific routine gets the one for the correct machine.
|
|
# The xyzzy stuff below deals with empty DEPFILES
|
|
TAGS: ${TAGFILES}
|
|
etags `find ${srcdir}/../config -name $(DEPRECATED_TM_FILE) -print` \
|
|
`find ${srcdir}/../config -name ${XM_FILE} -print` \
|
|
`find ${srcdir}/../config -name ${NAT_FILE} -print` \
|
|
`for i in yzzy ${DEPFILES}; do \
|
|
if [ x$$i != xyzzy ]; then \
|
|
echo ${srcdir}/$$i | sed -e 's/\.o$$/\.c/' ; \
|
|
fi; \
|
|
done` \
|
|
${TAGFILES}
|
|
tags: TAGS
|
|
|
|
clean:
|
|
rm -f *.o ${ADD_FILES} *~
|
|
rm -f version.c
|
|
rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log
|
|
rm -f $(IPA_LIB)
|
|
rm -f aarch64.c
|
|
rm -f reg-arm.c reg-bfin.c i386.c reg-ia64.c reg-m32r.c reg-m68k.c
|
|
rm -f reg-sh.c reg-sparc.c reg-spu.c amd64.c i386-linux.c
|
|
rm -f reg-cris.c reg-crisv32.c amd64-linux.c reg-xtensa.c
|
|
rm -f reg-tilegx.c reg-tilegx32.c
|
|
rm -f arm-with-iwmmxt.c
|
|
rm -f arm-with-vfpv2.c arm-with-vfpv3.c arm-with-neon.c
|
|
rm -f mips-linux.c mips-dsp-linux.c
|
|
rm -f mips64-linux.c mips64-dsp-linux.c
|
|
rm -f nios2-linux.c
|
|
rm -f powerpc-32.c powerpc-32l.c powerpc-64l.c powerpc-e500l.c
|
|
rm -f powerpc-altivec32l.c powerpc-cell32l.c powerpc-vsx32l.c
|
|
rm -f powerpc-altivec64l.c powerpc-cell64l.c powerpc-vsx64l.c
|
|
rm -f powerpc-isa205-32l.c powerpc-isa205-64l.c
|
|
rm -f powerpc-isa205-altivec32l.c powerpc-isa205-vsx32l.c powerpc-isa205-altivec64l.c
|
|
rm -f powerpc-isa205-vsx64l.c
|
|
rm -f s390-linux32.c s390-linux64.c s390x-linux64.c
|
|
rm -f s390-linux32v1.c s390-linux32v2.c s390-linux64v1.c
|
|
rm -f s390-linux64v2.c s390x-linux64v1.c s390x-linux64v2.c
|
|
rm -f s390-te-linux64.c s390x-te-linux64.c
|
|
rm -f s390-vx-linux64.c s390x-vx-linux64.c
|
|
rm -f s390-tevx-linux64.c s390x-tevx-linux64.c
|
|
rm -f tic6x-c64xp-linux.c tic6x-c64x-linux.c tic6x-c62x-linux.c
|
|
rm -f xml-builtin.c stamp-xml
|
|
rm -f i386-avx.c i386-avx-linux.c
|
|
rm -f i386-mpx.c i386-mpx-linux.c
|
|
rm -f i386-avx512.c i386-avx512-linux.c
|
|
rm -f amd64-avx.c amd64-avx-linux.c
|
|
rm -f amd64-mpx.c amd64-mpx-linux.c
|
|
rm -f amd64-avx512.c amd64-avx512-linux.c
|
|
rm -f i386-mmx.c i386-mmx-linux.c
|
|
rm -f x32.c x32-linux.c
|
|
rm -f x32-avx.c x32-avx-linux.c
|
|
rm -f x32-avx512.c x32-avx512-linux.c
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
|
|
maintainer-clean realclean distclean: clean
|
|
@$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do
|
|
rm -rf $(GNULIB_BUILDDIR)
|
|
rm -f Makefile config.status config.h stamp-h config.log
|
|
rm -f Makefile
|
|
|
|
subdir_do: force
|
|
@for i in $(DODIRS); do \
|
|
case $$i in \
|
|
$(REQUIRED_SUBDIRS)) \
|
|
if [ ! -f ./$$i/Makefile ] ; then \
|
|
echo "Missing $$i/Makefile" >&2 ; \
|
|
exit 1 ; \
|
|
fi ;; \
|
|
esac ; \
|
|
if [ -f ./$$i/Makefile ] ; then \
|
|
if (cd ./$$i; \
|
|
$(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
|
|
else exit 1 ; fi ; \
|
|
else true ; fi ; \
|
|
done
|
|
|
|
config.h: stamp-h ; @true
|
|
stamp-h: config.in config.status
|
|
CONFIG_FILES="" CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
|
|
|
|
Makefile: Makefile.in config.status
|
|
CONFIG_HEADERS="" $(SHELL) ./config.status
|
|
|
|
$(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../gnulib/Makefile.in config.status
|
|
@cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \
|
|
CONFIG_COMMANDS="depfiles" \
|
|
CONFIG_HEADERS= \
|
|
CONFIG_LINKS= \
|
|
$(SHELL) config.status
|
|
|
|
config.status: configure configure.srv $(srcdir)/../../bfd/development.sh
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
# automatic rebuilding in automake-generated Makefiles requires
|
|
# this rule in the toplevel Makefile, which, with GNU make, causes
|
|
# the desired updates through the implicit regeneration of the Makefile
|
|
# and all of its prerequisites.
|
|
am--refresh:
|
|
@:
|
|
|
|
force:
|
|
|
|
version.c: Makefile $(srcdir)/../version.in $(srcdir)/../../bfd/version.h $(srcdir)/../common/create-version.sh
|
|
$(SHELL) $(srcdir)/../common/create-version.sh $(srcdir)/.. \
|
|
$(host_alias) $(target_alias) version.c
|
|
|
|
xml-builtin.c: stamp-xml; @true
|
|
stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES)
|
|
rm -f xml-builtin.tmp
|
|
$(SHELL) $(XML_DIR)/feature_to_c.sh xml-builtin.tmp $(XML_FILES)
|
|
$(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin.c
|
|
echo stamp > stamp-xml
|
|
|
|
.PRECIOUS: xml-builtin.c
|
|
|
|
# GNU Make has an annoying habit of putting *all* the Makefile variables
|
|
# into the environment, unless you include this target as a circumvention.
|
|
# Rumor is that this will be fixed (and this target can be removed)
|
|
# in GNU Make 4.0.
|
|
.NOEXPORT:
|
|
|
|
# GNU Make 3.63 has a different problem: it keeps tacking command line
|
|
# overrides onto the definition of $(MAKE). This variable setting
|
|
# will remove them.
|
|
MAKEOVERRIDES=
|
|
|
|
regdat_sh = $(srcdir)/../regformats/regdat.sh
|
|
|
|
UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION
|
|
|
|
# Note, we only build the IPA if -fvisibility=hidden is supported in
|
|
# the first place.
|
|
IPAGENT_CFLAGS = $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
|
|
-fPIC -DIN_PROCESS_AGENT \
|
|
-fvisibility=hidden
|
|
|
|
IPAGENT_COMPILE = $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post)
|
|
|
|
# In-process agent object rules
|
|
ax-ipa.o: ax.c
|
|
$(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
|
|
$(POSTCOMPILE)
|
|
tracepoint-ipa.o: tracepoint.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
utils-ipa.o: utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
format-ipa.o: ../common/format.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-utils-ipa.o: ../common/common-utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
remote-utils-ipa.o: remote-utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
regcache-ipa.o: regcache.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
i386-linux-ipa.o: i386-linux.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-i386-ipa.o: linux-i386-ipa.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-amd64-ipa.o: linux-amd64-ipa.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
amd64-linux-ipa.o: amd64-linux.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-aarch64-ipa.o: linux-aarch64-ipa.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
aarch64-ipa.o: aarch64.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
tdesc-ipa.o: tdesc.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
print-utils-ipa.o: ../common/print-utils.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
rsp-low-ipa.o: ../common/rsp-low.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
errors-ipa.o: ../common/errors.c
|
|
$(IPAGENT_COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
ax.o: ax.c
|
|
$(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $<
|
|
$(POSTCOMPILE)
|
|
|
|
signals.o: ../common/signals.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
print-utils.o: ../common/print-utils.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
rsp-low.o: ../common/rsp-low.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-utils.o: ../common/common-utils.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
posix-strerror.o: ../common/posix-strerror.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
mingw-strerror.o: ../common/mingw-strerror.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
vec.o: ../common/vec.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
gdb_vecs.o: ../common/gdb_vecs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
xml-utils.o: ../common/xml-utils.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
ptid.o: ../common/ptid.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
buffer.o: ../common/buffer.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
format.o: ../common/format.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
filestuff.o: ../common/filestuff.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
agent.o: ../common/agent.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
errors.o: ../common/errors.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-debug.o: ../common/common-debug.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
cleanups.o: ../common/cleanups.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
common-exceptions.o: ../common/common-exceptions.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
waitstatus.o: ../target/waitstatus.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
fileio.o: ../common/fileio.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
# Native object files rules from ../nat
|
|
|
|
x86-dregs.o: ../nat/x86-dregs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-btrace.o: ../nat/linux-btrace.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-osdata.o: ../nat/linux-osdata.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-procfs.o: ../nat/linux-procfs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-ptrace.o: ../nat/linux-ptrace.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-waitpid.o: ../nat/linux-waitpid.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
mips-linux-watch.o: ../nat/mips-linux-watch.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
ppc-linux.o: ../nat/ppc-linux.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-personality.o: ../nat/linux-personality.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
aarch64-linux-hw-point.o: ../nat/aarch64-linux-hw-point.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
aarch64-linux.o: ../nat/aarch64-linux.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
btrace-common.o: ../common/btrace-common.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
x86-linux.o: ../nat/x86-linux.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
x86-linux-dregs.o: ../nat/x86-linux-dregs.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
linux-namespaces.o: ../nat/linux-namespaces.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
# Architecture specific object files rules from ../arch
|
|
|
|
aarch64-insn.o: ../arch/aarch64-insn.c
|
|
$(COMPILE) $<
|
|
$(POSTCOMPILE)
|
|
|
|
aarch64.c : $(srcdir)/../regformats/aarch64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/aarch64.dat aarch64.c
|
|
reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
|
|
arm-with-iwmmxt.c : $(srcdir)/../regformats/arm-with-iwmmxt.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-iwmmxt.dat arm-with-iwmmxt.c
|
|
arm-with-vfpv2.c : $(srcdir)/../regformats/arm-with-vfpv2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv2.dat arm-with-vfpv2.c
|
|
arm-with-vfpv3.c : $(srcdir)/../regformats/arm-with-vfpv3.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-vfpv3.dat arm-with-vfpv3.c
|
|
arm-with-neon.c : $(srcdir)/../regformats/arm-with-neon.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/arm-with-neon.dat arm-with-neon.c
|
|
reg-bfin.c : $(srcdir)/../regformats/reg-bfin.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-bfin.dat reg-bfin.c
|
|
reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cris.dat reg-cris.c
|
|
reg-crisv32.c : $(srcdir)/../regformats/reg-crisv32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-crisv32.dat reg-crisv32.c
|
|
i386.c : $(srcdir)/../regformats/i386/i386.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386.dat i386.c
|
|
i386-linux.c : $(srcdir)/../regformats/i386/i386-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-linux.dat i386-linux.c
|
|
i386-avx.c : $(srcdir)/../regformats/i386/i386-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx.dat i386-avx.c
|
|
i386-avx-linux.c : $(srcdir)/../regformats/i386/i386-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx-linux.dat i386-avx-linux.c
|
|
i386-avx512.c : $(srcdir)/../regformats/i386/i386-avx512.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx512.dat i386-avx512.c
|
|
i386-avx512-linux.c : $(srcdir)/../regformats/i386/i386-avx512-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-avx512-linux.dat i386-avx512-linux.c
|
|
i386-mpx.c : $(srcdir)/../regformats/i386/i386-mpx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx.dat i386-mpx.c
|
|
i386-mpx-linux.c : $(srcdir)/../regformats/i386/i386-mpx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mpx-linux.dat i386-mpx-linux.c
|
|
i386-mmx.c : $(srcdir)/../regformats/i386/i386-mmx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx.dat i386-mmx.c
|
|
i386-mmx-linux.c : $(srcdir)/../regformats/i386/i386-mmx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386-mmx-linux.dat i386-mmx-linux.c
|
|
reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
|
|
reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m32r.dat reg-m32r.c
|
|
reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c
|
|
reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c
|
|
mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c
|
|
mips-dsp-linux.c : $(srcdir)/../regformats/mips-dsp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-dsp-linux.dat mips-dsp-linux.c
|
|
mips64-linux.c : $(srcdir)/../regformats/mips64-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
|
|
mips64-dsp-linux.c : $(srcdir)/../regformats/mips64-dsp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-dsp-linux.dat mips64-dsp-linux.c
|
|
nios2-linux.c : $(srcdir)/../regformats/nios2-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/nios2-linux.dat nios2-linux.c
|
|
powerpc-32.c : $(srcdir)/../regformats/rs6000/powerpc-32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32.dat powerpc-32.c
|
|
powerpc-32l.c : $(srcdir)/../regformats/rs6000/powerpc-32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-32l.dat powerpc-32l.c
|
|
powerpc-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec32l.dat powerpc-altivec32l.c
|
|
powerpc-cell32l.c : $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell32l.dat powerpc-cell32l.c
|
|
powerpc-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx32l.dat powerpc-vsx32l.c
|
|
powerpc-isa205-32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-32l.dat powerpc-isa205-32l.c
|
|
powerpc-isa205-altivec32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec32l.dat powerpc-isa205-altivec32l.c
|
|
powerpc-isa205-vsx32l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx32l.dat powerpc-isa205-vsx32l.c
|
|
powerpc-e500l.c : $(srcdir)/../regformats/rs6000/powerpc-e500l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-e500l.dat powerpc-e500l.c
|
|
powerpc-64l.c : $(srcdir)/../regformats/rs6000/powerpc-64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-64l.dat powerpc-64l.c
|
|
powerpc-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-altivec64l.dat powerpc-altivec64l.c
|
|
powerpc-cell64l.c : $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-cell64l.dat powerpc-cell64l.c
|
|
powerpc-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-vsx64l.dat powerpc-vsx64l.c
|
|
powerpc-isa205-64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-64l.dat powerpc-isa205-64l.c
|
|
powerpc-isa205-altivec64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-altivec64l.dat powerpc-isa205-altivec64l.c
|
|
powerpc-isa205-vsx64l.c : $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/rs6000/powerpc-isa205-vsx64l.dat powerpc-isa205-vsx64l.c
|
|
s390-linux32.c : $(srcdir)/../regformats/s390-linux32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32.dat s390-linux32.c
|
|
s390-linux32v1.c : $(srcdir)/../regformats/s390-linux32v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v1.dat s390-linux32v1.c
|
|
s390-linux32v2.c : $(srcdir)/../regformats/s390-linux32v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32v2.dat s390-linux32v2.c
|
|
s390-linux64.c : $(srcdir)/../regformats/s390-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64.dat s390-linux64.c
|
|
s390-linux64v1.c : $(srcdir)/../regformats/s390-linux64v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v1.dat s390-linux64v1.c
|
|
s390-linux64v2.c : $(srcdir)/../regformats/s390-linux64v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64v2.dat s390-linux64v2.c
|
|
s390-te-linux64.c : $(srcdir)/../regformats/s390-te-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-te-linux64.dat s390-te-linux64.c
|
|
s390-vx-linux64.c : $(srcdir)/../regformats/s390-vx-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-vx-linux64.dat s390-vx-linux64.c
|
|
s390-tevx-linux64.c : $(srcdir)/../regformats/s390-tevx-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-tevx-linux64.dat s390-tevx-linux64.c
|
|
s390x-linux64.c : $(srcdir)/../regformats/s390x-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64.dat s390x-linux64.c
|
|
s390x-linux64v1.c : $(srcdir)/../regformats/s390x-linux64v1.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v1.dat s390x-linux64v1.c
|
|
s390x-linux64v2.c : $(srcdir)/../regformats/s390x-linux64v2.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64v2.dat s390x-linux64v2.c
|
|
s390x-te-linux64.c : $(srcdir)/../regformats/s390x-te-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-te-linux64.dat s390x-te-linux64.c
|
|
s390x-vx-linux64.c : $(srcdir)/../regformats/s390x-vx-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-vx-linux64.dat s390x-vx-linux64.c
|
|
s390x-tevx-linux64.c : $(srcdir)/../regformats/s390x-tevx-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-tevx-linux64.dat s390x-tevx-linux64.c
|
|
|
|
tic6x-c64xp-linux.c : $(srcdir)/../regformats/tic6x-c64xp-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64xp-linux.dat tic6x-c64xp-linux.c
|
|
tic6x-c64x-linux.c : $(srcdir)/../regformats/tic6x-c64x-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c64x-linux.dat tic6x-c64x-linux.c
|
|
tic6x-c62x-linux.c : $(srcdir)/../regformats/tic6x-c62x-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/tic6x-c62x-linux.dat tic6x-c62x-linux.c
|
|
|
|
reg-sh.c : $(srcdir)/../regformats/reg-sh.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sh.dat reg-sh.c
|
|
reg-sparc64.c : $(srcdir)/../regformats/reg-sparc64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sparc64.dat reg-sparc64.c
|
|
reg-spu.c : $(srcdir)/../regformats/reg-spu.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-spu.dat reg-spu.c
|
|
amd64.c : $(srcdir)/../regformats/i386/amd64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64.dat amd64.c
|
|
amd64-linux.c : $(srcdir)/../regformats/i386/amd64-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-linux.dat amd64-linux.c
|
|
amd64-avx.c : $(srcdir)/../regformats/i386/amd64-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx.dat amd64-avx.c
|
|
amd64-avx-linux.c : $(srcdir)/../regformats/i386/amd64-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx-linux.dat amd64-avx-linux.c
|
|
amd64-avx512.c : $(srcdir)/../regformats/i386/amd64-avx512.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx512.dat amd64-avx512.c
|
|
amd64-avx512-linux.c : $(srcdir)/../regformats/i386/amd64-avx512-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-avx512-linux.dat amd64-avx512-linux.c
|
|
amd64-mpx.c : $(srcdir)/../regformats/i386/amd64-mpx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx.dat amd64-mpx.c
|
|
amd64-mpx-linux.c : $(srcdir)/../regformats/i386/amd64-mpx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64-mpx-linux.dat amd64-mpx-linux.c
|
|
x32.c : $(srcdir)/../regformats/i386/x32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32.dat x32.c
|
|
x32-linux.c : $(srcdir)/../regformats/i386/x32-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-linux.dat x32-linux.c
|
|
x32-avx.c : $(srcdir)/../regformats/i386/x32-avx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx.dat x32-avx.c
|
|
x32-avx-linux.c : $(srcdir)/../regformats/i386/x32-avx-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx-linux.dat x32-avx-linux.c
|
|
x32-avx512.c : $(srcdir)/../regformats/i386/x32-avx512.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx512.dat x32-avx512.c
|
|
x32-avx512-linux.c : $(srcdir)/../regformats/i386/x32-avx512-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/x32-avx512-linux.dat x32-avx512-linux.c
|
|
reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
|
|
reg-tilegx.c : $(srcdir)/../regformats/reg-tilegx.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx.dat reg-tilegx.c
|
|
reg-tilegx32.c : $(srcdir)/../regformats/reg-tilegx32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-tilegx32.dat reg-tilegx32.c
|
|
|
|
#
|
|
# Dependency tracking. Most of this is conditional on GNU Make being
|
|
# found by configure; if GNU Make is not found, we fall back to a
|
|
# simpler scheme.
|
|
#
|
|
|
|
@GMAKE_TRUE@ifeq ($(DEPMODE),depmode=gcc3)
|
|
# Note that we put the dependencies into a .Tpo file, then move them
|
|
# into place if the compile succeeds. We need this because gcc does
|
|
# not atomically write the dependency output file.
|
|
@GMAKE_TRUE@override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
|
|
@GMAKE_TRUE@ -MF $(DEPDIR)/$(basename $(@F)).Tpo
|
|
@GMAKE_TRUE@override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
|
|
@GMAKE_TRUE@ $(DEPDIR)/$(basename $(@F)).Po
|
|
@GMAKE_TRUE@else
|
|
@GMAKE_TRUE@override COMPILE.pre = source='$<' object='$@' libtool=no \
|
|
@GMAKE_TRUE@ DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
|
|
# depcomp handles atomicity for us, so we don't need a postcompile
|
|
# step.
|
|
@GMAKE_TRUE@override POSTCOMPILE =
|
|
@GMAKE_TRUE@endif
|
|
|
|
# A list of all the objects we might care about in this build, for
|
|
# dependency tracking.
|
|
all_object_files = $(OBS) $(GDBREPLAY_OBS)
|
|
|
|
# Ensure that generated files are created early. Use order-only
|
|
# dependencies if available. They require GNU make 3.80 or newer,
|
|
# and the .VARIABLES variable was introduced at the same time.
|
|
@GMAKE_TRUE@ifdef .VARIABLES
|
|
@GMAKE_TRUE@$(all_object_files): | $(generated_files)
|
|
@GMAKE_TRUE@else
|
|
$(all_object_files) : $(generated_files)
|
|
@GMAKE_TRUE@endif
|
|
|
|
# Dependencies.
|
|
@GMAKE_TRUE@-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))
|
|
|
|
# This is the end of "Makefile.in".
|