mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
0fb4aa4bfc
gdb/gdbserver/ * configure.ac: Handle --with-ust. substitute ustlibs and ustinc. * mem-break.c (uninsert_all_breakpoints) (reinsert_all_breakpoints): New. * mem-break.h (reinsert_all_breakpoints, uninsert_all_breakpoints): * tracepoint.c (ust_loaded, helper_thread_id, cmd_buf): New. (gdb_agent_ust_loaded, helper_thread_id) (gdb_agent_helper_thread_id): New macros. (struct ipa_sym_addresses): Add addr_ust_loaded, addr_helper_thread_id, addr_cmd_buf. (symbol_list): Add ust_loaded, helper_thread_id, cmd_buf. (in_process_agent_loaded_ust): New. (write_e_ust_not_loaded): New. (maybe_write_ipa_ust_not_loaded): New. (struct collect_static_trace_data_action): New. (enum tracepoint_type) <static_tracepoint>: New. (struct tracepoint) <handle>: Mention static tracepoints. (struct static_tracepoint_ctx): New. (CMD_BUF_SIZE): New. (add_tracepoint_action): Handle static tracepoint actions. (unprobe_marker_at): New. (clear_installed_tracepoints): Handle static tracepoints. (cmd_qtdp): Handle static tracepoints. (probe_marker_at): New. (cmd_qtstart): Handle static tracepoints. (response_tracepoint): Handle static tracepoints. (cmd_qtfstm, cmd_qtsstm, cmd_qtstmat): New. (handle_tracepoint_query): Handle qTfSTM, qTsSTM and qTSTMat. (get_context_regcache): Handle static tracepoints. (do_action_at_tracepoint): Handle static tracepoint actions. (traceframe_find_block_type): Handle static trace data blocks. (traceframe_read_sdata): New. (download_tracepoints): Download static tracepoint actions. [HAVE_UST] Include ust/ust.h, dlfcn.h, sys/socket.h, and sys/un.h. (GDB_PROBE_NAME): New. (ust_ops): New. (GET_UST_SYM): New. (USTF): New. (dlsym_ust): New. (ust_marker_to_static_tracepoint): New. (gdb_probe): New. (collect_ust_data_at_tracepoint): New. (gdb_ust_probe): New. (UNIX_PATH_MAX, SOCK_DIR): New. (gdb_ust_connect_sync_socket): New. (resume_thread, stop_thread): New. (run_inferior_command): New. (init_named_socket): New. (gdb_ust_socket_init): New. (cstr_to_hexstr): New. (next_st): New. (first_marker, next_marker): New. (response_ust_marker): New. (cmd_qtfstm, cmd_qtsstm): New. (unprobe_marker_at, probe_marker_at): New. (cmd_qtstmat, gdb_ust_thread): New. (gdb_ust_init): New. (initialize_tracepoint_ftlib): Call gdb_ust_init. * linux-amd64-ipa.c [HAVE_UST]: Include ust/processor.h (ST_REGENTRY): New. (x86_64_st_collect_regmap): New. (X86_64_NUM_ST_COLLECT_GREGS): New. (AMD64_RIP_REGNUM): New. (supply_static_tracepoint_registers): New. * linux-i386-ipa.c [HAVE_UST]: Include ust/processor.h (ST_REGENTRY): New. (i386_st_collect_regmap): New. (i386_NUM_ST_COLLECT_GREGS): New. (supply_static_tracepoint_registers): New. * server.c (handle_query): Handle qXfer:statictrace:read. <qSupported>: Report support for StaticTracepoints, and qXfer:statictrace:read features. * server.h (traceframe_read_sdata) (supply_static_tracepoint_registers): Declare. * remote-utils.c (convert_int_to_ascii, hexchars, ishex, tohex) (unpack_varlen_hex): Include in IPA build. * Makefile.in (ustlibs, ustinc): New. (IPA_OBJS): Add remote-utils-ipa.o. ($(IPA_LIB)): Link -ldl and -lpthread. (UST_CFLAGS): New. (IPAGENT_CFLAGS): Add UST_CFLAGS. * config.in, configure: Regenerate. gdb/ * NEWS: Mention new support for static tracepoints. (New packets): Mention qTfSTM, qTsSTM, qTSTMat and qXfer:statictrace:read. (New features in the GDB remote stub, GDBserver): Mention static tracepoints support using an UST based backend. (New commands): Mention "info static-tracepoint-markers" and "strace". * breakpoint.c (is_marker_spec): New. (is_tracepoint): Handle static tracepoints. (validate_commands_for_breakpoint): Static tracepoints can't do while-stepping. (static_tracepoints_here): New. (bpstat_what): Handle static tracepoints. (print_one_breakpoint_location, allocate_bp_location, mention): Ditto. (create_breakpoint_sal): Ditto. (decode_static_tracepoint_spec): New. (create_breakpoint): Replace `hardwareflag', and `traceflag' with `type_wanted'. Adjust. Handle static tracepoint marker locations. (break_command_1): Adjust. (update_static_tracepoint): New. (update_breakpoint_locations): Handle static tracepoints. (breakpoint_re_set_one): Handle static tracepoint marker locations. (disable_command, enable_command): Handle static tracepoints. (trace_command, ftrace_command): Adjust. (strace_command): New. (create_tracepoint_from_upload): Adjust. (save_breakpoints): Handle static tracepoints. (_initialize_breakpoint): Install the "strace" command. * breakpoint.h (enum bptype): New bp_static_tracepoint type. (struct breakpoint): New fields static_trace_marker_id and static_trace_marker_id_idx. (breakpoints_here_p): Declare. (create_breakpoint): Adjust. (static_tracepoints_here): Declare. * remote.c (struct remote_state) <static_tracepoints>: New field. (PACKET_qXfer_statictrace_read, PACKET_StaticTracepoints): New. (remote_static_tracepoint_marker_at): New. (remote_static_tracepoint_markers_by_strid): New. (remote_static_tracepoint_feature): New. (remote_disconnected_tracing_feature): Handle "StaticTracepoints". (remote_xfer_partial): Handle TARGET_OBJECT_STATIC_TRACE_DATA. (remote_supports_static_tracepoints): New. (remote_download_tracepoint): Download static tracepoints. (init_remote_ops): Install remote_static_tracepoint_marker_at and remote_static_tracepoint_markers_by_strid. (_initialize_remote): Install set|show remote static-tracepoints, and set|show remote read-sdata-object commands. * target.c (update_current_target): Inherit and default to_static_tracepoint_marker_at, and to_static_tracepoint_markers_by_strid. * target.h (static_tracepoint_marker): Forward declare. (enum target_object): New object TARGET_OBJECT_STATIC_TRACE_DATA. (static_tracepoint_marker_p): New typedef. (DEF_VEC_P(static_tracepoint_marker_p)): New VEC type. (struct target_ops): New fields to_static_tracepoint_marker_at and to_static_tracepoint_markers_by_strid. (target_static_tracepoint_marker_at) (target_static_tracepoint_markers_by_strid): New. * tracepoint.c: Include source.h. (validate_actionline): Handle $_sdata. (struct collection_list): New field strace_data. (add_static_trace_data): New. (clear_collection_list): Clear strace_data. (stringify_collection_list): Account for a possible static trace data collection. (encode_actions_1): Encode an $_sdata collection. (parse_tracepoint_definition): Handle static tracepoints. (parse_static_tracepoint_marker_definition): New. (release_static_tracepoint_marker): New. (print_one_static_tracepoint_marker): New. (info_static_tracepoint_markers_command): New. (sdata_make_value): New. (_initialize_tracepoint): Create the $_sdata convenience variable. Add the "info static-tracepoint-markers" command. Mention $_sdata in the "collect" command's help output. * tracepoint.h (struct static_tracepoint_marker): New. (parse_static_tracepoint_marker_definition) (release_static_tracepoint_marker): Declare. * mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust. * python/py-breakpoint.c (bppy_new): Adjust. doc/ * gdb.texinfo (Convenience Variables): Document $_sdata. (Commands to Set Tracepoints): Describe static tracepoints. Add `Listing Static Tracepoint Markers' menu entry. Document "strace". (Tracepoint Action Lists): Document collecting $_sdata. (Listing Static Tracepoint Markers): New subsection. (Tracepoints support in gdbserver): Mention static tracepoints. (remote packets, enabling and disabling): Mention read-sdata-object. (General Query Packets) <qSupported>: Document qXfer:sdata:read and StaticTracepoint. Mention qTfSTM, qTsSTM and qTSTMat as tracepoint packets. Document qXfer:sdata:read. (Tracepoint packets): Document qTfSTM, qTsSTM and qTSTMat.
521 lines
22 KiB
Makefile
521 lines
22 KiB
Makefile
# Copyright (C) 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
|
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
|
# 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_alias@
|
|
target_alias = @target_alias@
|
|
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 = /bin/sh
|
|
EXEEXT = @EXEEXT@
|
|
|
|
INSTALL = @INSTALL@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
CC = @CC@
|
|
|
|
# Directory containing source files. Don't clean up the spacing,
|
|
# this exact string is matched for by the "configure" script.
|
|
srcdir = @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=${CC}
|
|
|
|
# Where is the "include" directory? Traditionally ../include or ./include
|
|
INCLUDE_DIR = ${srcdir}/../../include
|
|
INCLUDE_DEP = $$(INCLUDE_DIR)
|
|
|
|
# Where is ust? These will be empty if ust was not available.
|
|
ustlibs = @ustlibs@
|
|
ustinc = @ustinc@
|
|
|
|
# All the includes used for CFLAGS and for lint.
|
|
# -I. for config files.
|
|
# -I${srcdir} for our headers.
|
|
# -I$(srcdir)/../regformats for regdef.h.
|
|
INCLUDE_CFLAGS = -I. -I${srcdir} -I$(srcdir)/../common \
|
|
-I$(srcdir)/../regformats -I$(INCLUDE_DIR)
|
|
|
|
# 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 = -Wall
|
|
|
|
# CFLAGS is specifically reserved for setting from the command line
|
|
# when running make. I.E. "make CFLAGS=-Wmissing-prototypes".
|
|
CFLAGS = @CFLAGS@
|
|
|
|
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
|
|
INTERNAL_CFLAGS = $(WARN_CFLAGS) ${CFLAGS} ${GLOBAL_CFLAGS} \
|
|
${PROFILE_CFLAGS} ${INCLUDE_CFLAGS}
|
|
|
|
# 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)/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)/linux-arm-low.c $(srcdir)/linux-cris-low.c \
|
|
$(srcdir)/linux-crisv32-low.c \
|
|
${srcdir}/i386-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-ppc-low.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)/win32-arm-low.c $(srcdir)/win32-i386-low.c \
|
|
$(srcdir)/win32-low.c $(srcdir)/wincecompat.c \
|
|
$(srcdir)/hostio.c $(srcdir)/hostio-errno.c
|
|
|
|
DEPFILES = @GDBSERVER_DEPFILES@
|
|
|
|
LIBOBJS = @LIBOBJS@
|
|
|
|
SOURCES = $(SFILES)
|
|
TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS}
|
|
|
|
OBS = inferiors.o regcache.o remote-utils.o server.o signals.o target.o \
|
|
utils.o version.o \
|
|
mem-break.o hostio.o event-loop.o tracepoint.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@
|
|
|
|
# Prevent Sun make from putting in the machine type. Setting
|
|
# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
|
|
.c.o:
|
|
${CC} -c ${INTERNAL_CFLAGS} $<
|
|
|
|
all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries)
|
|
|
|
# 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 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); \
|
|
$(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(man1dir); \
|
|
$(INSTALL_DATA) $(srcdir)/gdbserver.1 $(DESTDIR)$(man1dir)/$$n.1
|
|
|
|
uninstall: force
|
|
n=`echo gdbserver | sed '$(program_transform_name)'`; \
|
|
if [ x$$n = x ]; then n=gdbserver; else true; fi; \
|
|
rm -f $(bindir)/$$n$(EXEEXT) $(DESTDIR)$(man1dir)/$$n.1
|
|
|
|
installcheck:
|
|
check:
|
|
info dvi pdf:
|
|
install-info:
|
|
install-pdf:
|
|
html:
|
|
install-html:
|
|
clean-info:
|
|
|
|
gdbserver$(EXEEXT): $(OBS) ${ADD_DEPS} ${CDEPS}
|
|
rm -f gdbserver$(EXEEXT)
|
|
${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbserver$(EXEEXT) $(OBS) \
|
|
$(GDBSERVER_LIBS) $(XM_CLIBS)
|
|
|
|
gdbreplay$(EXEEXT): $(GDBREPLAY_OBS)
|
|
rm -f gdbreplay$(EXEEXT)
|
|
${CC-LD} $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) \
|
|
$(XM_CLIBS)
|
|
|
|
IPA_OBJS=tracepoint-ipa.o utils-ipa.o regcache-ipa.o remote-utils-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 reg-arm.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 arm-with-iwmmxt.c
|
|
rm -f arm-with-vfpv2.c arm-with-vfpv3.c arm-with-neon.c
|
|
rm -f mips-linux.c mips64-linux.c
|
|
rm -f 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 xml-builtin.c stamp-xml
|
|
rm -f i386-avx.c i386-avx-linux.c
|
|
rm -f amd64-avx.c amd64-avx-linux.c
|
|
rm -f i386-mmx.c i386-mmx-linux.c
|
|
|
|
maintainer-clean realclean distclean: clean
|
|
rm -f nm.h tm.h xm.h config.status config.h stamp-h config.log
|
|
rm -f Makefile
|
|
|
|
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
|
|
|
|
config.status: configure configure.srv
|
|
$(SHELL) ./config.status --recheck
|
|
|
|
force:
|
|
|
|
version.c: Makefile $(srcdir)/../version.in
|
|
rm -f version.c-tmp version.c
|
|
echo '#include "server.h"' >> version.c-tmp
|
|
echo 'const char version[] = "'"`sed q ${srcdir}/../version.in`"'";' >> version.c-tmp
|
|
echo 'const char host_name[] = "$(host_alias)";' >> version.c-tmp
|
|
mv version.c-tmp version.c
|
|
version.o: version.c $(server_h)
|
|
|
|
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=
|
|
|
|
gdb_proc_service_h = $(srcdir)/gdb_proc_service.h
|
|
regdat_sh = $(srcdir)/../regformats/regdat.sh
|
|
regdef_h = $(srcdir)/../regformats/regdef.h
|
|
regcache_h = $(srcdir)/regcache.h
|
|
server_h = $(srcdir)/server.h $(regcache_h) config.h $(srcdir)/target.h \
|
|
$(srcdir)/mem-break.h $(srcdir)/../common/gdb_signals.h
|
|
|
|
linux_low_h = $(srcdir)/linux-low.h
|
|
|
|
nto_low_h = $(srcdir)/nto-low.h
|
|
|
|
UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION
|
|
|
|
# Note, we only build the IPA if -fvisibility=hidden is supported in
|
|
# the first place.
|
|
IPAGENT_CFLAGS = $(CPPFLAGS) $(INTERNAL_CFLAGS) $(UST_CFLAGS) \
|
|
-fPIC -DGDBSERVER -DIN_PROCESS_AGENT \
|
|
-fvisibility=hidden
|
|
|
|
# In-process agent object rules
|
|
tracepoint-ipa.o: tracepoint.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o tracepoint-ipa.o
|
|
utils-ipa.o: utils.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o utils-ipa.o
|
|
remote-utils-ipa.o: remote-utils.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o remote-utils-ipa.o
|
|
regcache-ipa.o: regcache.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o regcache-ipa.o
|
|
i386-linux-ipa.o : i386-linux.c $(regdef_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o i386-linux-ipa.o
|
|
linux-i386-ipa.o: linux-i386-ipa.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o linux-i386-ipa.o
|
|
linux-amd64-ipa.o: linux-amd64-ipa.c $(server_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o linux-amd64-ipa.o
|
|
amd64-linux-ipa.o : amd64-linux.c $(regdef_h)
|
|
$(CC) -c $(IPAGENT_CFLAGS) $< -o amd64-linux-ipa.o
|
|
|
|
event-loop.o: event-loop.c $(server_h)
|
|
hostio.o: hostio.c $(server_h)
|
|
hostio-errno.o: hostio-errno.c $(server_h)
|
|
inferiors.o: inferiors.c $(server_h)
|
|
mem-break.o: mem-break.c $(server_h)
|
|
proc-service.o: proc-service.c $(server_h) $(gdb_proc_service_h)
|
|
regcache.o: regcache.c $(server_h) $(regdef_h)
|
|
remote-utils.o: remote-utils.c terminal.h $(server_h)
|
|
server.o: server.c $(server_h)
|
|
target.o: target.c $(server_h)
|
|
thread-db.o: thread-db.c $(server_h) $(linux_low_h) $(gdb_proc_service_h)
|
|
tracepoint.o: tracepoint.c $(server_h)
|
|
utils.o: utils.c $(server_h)
|
|
gdbreplay.o: gdbreplay.c config.h
|
|
|
|
signals.o: ../common/signals.c $(server_h)
|
|
$(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< -DGDBSERVER
|
|
|
|
memmem.o: ../gnulib/memmem.c
|
|
$(CC) -o memmem.o -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $<
|
|
|
|
i386_low_h = $(srcdir)/i386-low.h
|
|
|
|
i386-low.o: i386-low.c $(i386_low_h) $(server_h) $(target_h)
|
|
|
|
i387-fp.o: i387-fp.c $(server_h)
|
|
|
|
linux-low.o: linux-low.c $(linux_low_h) $(server_h)
|
|
$(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< @USE_THREAD_DB@
|
|
|
|
linux-arm-low.o: linux-arm-low.c $(linux_low_h) $(server_h) \
|
|
$(gdb_proc_service_h)
|
|
linux-cris-low.o: linux-cris-low.c $(linux_low_h) $(server_h)
|
|
linux-crisv32-low.o: linux-crisv32-low.c $(linux_low_h) $(server_h)
|
|
linux-ia64-low.o: linux-ia64-low.c $(linux_low_h) $(server_h)
|
|
linux-m32r-low.o: linux-m32r-low.c $(linux_low_h) $(server_h)
|
|
linux-mips-low.o: linux-mips-low.c $(linux_low_h) $(server_h) \
|
|
$(gdb_proc_service_h)
|
|
linux-ppc-low.o: linux-ppc-low.c $(linux_low_h) $(server_h)
|
|
linux-s390-low.o: linux-s390-low.c $(linux_low_h) $(server_h)
|
|
linux-sh-low.o: linux-sh-low.c $(linux_low_h) $(server_h)
|
|
linux-x86-low.o: linux-x86-low.c $(linux_low_h) $(server_h) \
|
|
$(gdb_proc_service_h) $(i386_low_h)
|
|
linux-xtensa-low.o: linux-xtensa-low.c xtensa-xtregs.c $(linux_low_h) $(server_h)
|
|
|
|
nto-low.o: nto-low.c $(server_h) $(nto_low_h)
|
|
nto-x86-low.o: nto-x86-low.c $(server_h) $(nto_low_h) $(regdef_h) $(regcache_h)
|
|
|
|
win32_low_h = $(srcdir)/win32-low.h
|
|
|
|
win32-low.o: win32-low.c $(win32_low_h) $(server_h) $(regdef_h) $(regcache_h)
|
|
|
|
win32-arm-low.o: win32-arm-low.c $(win32_low_h) $(server_h)
|
|
win32-i386-low.o: win32-i386-low.c $(win32_low_h) $(server_h) $(i386_low_h)
|
|
|
|
spu-low.o: spu-low.c $(server_h)
|
|
|
|
reg-arm.o : reg-arm.c $(regdef_h)
|
|
reg-arm.c : $(srcdir)/../regformats/reg-arm.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-arm.dat reg-arm.c
|
|
arm-with-iwmmxt.o : arm-with-iwmmxt.c $(regdef_h)
|
|
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.o : arm-with-vfpv2.c $(regdef_h)
|
|
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.o : arm-with-vfpv3.c $(regdef_h)
|
|
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.o : arm-with-neon.c $(regdef_h)
|
|
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-cris.o : reg-cris.c $(regdef_h)
|
|
reg-cris.c : $(srcdir)/../regformats/reg-cris.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cris.dat reg-cris.c
|
|
reg-crisv32.o : reg-crisv32.c $(regdef_h)
|
|
reg-crisv32.c : $(srcdir)/../regformats/reg-crisv32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-crisv32.dat reg-crisv32.c
|
|
i386.o : i386.c $(regdef_h)
|
|
i386.c : $(srcdir)/../regformats/i386/i386.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/i386.dat i386.c
|
|
i386-linux.o : i386-linux.c $(regdef_h)
|
|
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.o : i386-avx.c $(regdef_h)
|
|
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.o : i386-avx-linux.c $(regdef_h)
|
|
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-mmx.o : i386-mmx.c $(regdef_h)
|
|
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.o : i386-mmx-linux.c $(regdef_h)
|
|
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.o : reg-ia64.c $(regdef_h)
|
|
reg-ia64.c : $(srcdir)/../regformats/reg-ia64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-ia64.dat reg-ia64.c
|
|
reg-m32r.o : reg-m32r.c $(regdef_h)
|
|
reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m32r.dat reg-m32r.c
|
|
reg-m68k.o : reg-m68k.c $(regdef_h)
|
|
reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c
|
|
reg-cf.o : reg-cf.c $(regdef_h)
|
|
reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c
|
|
mips-linux.o : mips-linux.c $(regdef_h)
|
|
mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c
|
|
mips64-linux.o : mips64-linux.c $(regdef_h)
|
|
mips64-linux.c : $(srcdir)/../regformats/mips64-linux.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips64-linux.dat mips64-linux.c
|
|
powerpc-32l.o : powerpc-32l.c $(regdef_h)
|
|
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.o : powerpc-altivec32l.c $(regdef_h)
|
|
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.o : powerpc-cell32l.c $(regdef_h)
|
|
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.o : powerpc-vsx32l.c $(regdef_h)
|
|
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.o : powerpc-isa205-32l.c $(regdef_h)
|
|
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.o : powerpc-isa205-altivec32l.c $(regdef_h)
|
|
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.o : powerpc-isa205-vsx32l.c $(regdef_h)
|
|
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.o : powerpc-e500l.c $(regdef_h)
|
|
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.o : powerpc-64l.c $(regdef_h)
|
|
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.o : powerpc-altivec64l.c $(regdef_h)
|
|
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.o : powerpc-cell64l.c $(regdef_h)
|
|
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.o : powerpc-vsx64l.c $(regdef_h)
|
|
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.o : powerpc-isa205-64l.c $(regdef_h)
|
|
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.o : powerpc-isa205-altivec64l.c $(regdef_h)
|
|
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.o : powerpc-isa205-vsx64l.c $(regdef_h)
|
|
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.o : s390-linux32.c $(regdef_h)
|
|
s390-linux32.c : $(srcdir)/../regformats/s390-linux32.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux32.dat s390-linux32.c
|
|
s390-linux64.o : s390-linux64.c $(regdef_h)
|
|
s390-linux64.c : $(srcdir)/../regformats/s390-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390-linux64.dat s390-linux64.c
|
|
s390x-linux64.o : s390x-linux64.c $(regdef_h)
|
|
s390x-linux64.c : $(srcdir)/../regformats/s390x-linux64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/s390x-linux64.dat s390x-linux64.c
|
|
reg-sh.o : reg-sh.c $(regdef_h)
|
|
reg-sh.c : $(srcdir)/../regformats/reg-sh.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sh.dat reg-sh.c
|
|
reg-sparc64.o : reg-sparc64.c $(regdef_h)
|
|
reg-sparc64.c : $(srcdir)/../regformats/reg-sparc64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-sparc64.dat reg-sparc64.c
|
|
reg-spu.o : reg-spu.c $(regdef_h)
|
|
reg-spu.c : $(srcdir)/../regformats/reg-spu.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-spu.dat reg-spu.c
|
|
amd64.o : amd64.c $(regdef_h)
|
|
amd64.c : $(srcdir)/../regformats/i386/amd64.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/i386/amd64.dat amd64.c
|
|
amd64-linux.o : amd64-linux.c $(regdef_h)
|
|
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.o : amd64-avx.c $(regdef_h)
|
|
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.o : amd64-avx-linux.c $(regdef_h)
|
|
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
|
|
reg-xtensa.o : reg-xtensa.c $(regdef_h)
|
|
reg-xtensa.c : $(srcdir)/../regformats/reg-xtensa.dat $(regdat_sh)
|
|
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-xtensa.dat reg-xtensa.c
|
|
# This is the end of "Makefile.in".
|