diff options
Diffstat (limited to 'meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch')
-rw-r--r-- | meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch | 1581 |
1 files changed, 0 insertions, 1581 deletions
diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch deleted file mode 100644 index d2753fe9..00000000 --- a/meta-microblaze/recipes-devtools/binutils/binutils/0033-Add-initial-port-of-linux-gdbserver-add-gdb_proc_ser.patch +++ /dev/null | |||
@@ -1,1581 +0,0 @@ | |||
1 | From 48166e74b46787b10073fcec3c133463504e2dbc Mon Sep 17 00:00:00 2001 | ||
2 | From: Mahesh Bodapati <mbodapat@xilinx.com> | ||
3 | Date: Mon, 23 Jan 2017 19:07:44 +0530 | ||
4 | Subject: [PATCH 33/38] Add initial port of linux gdbserver add | ||
5 | gdb_proc_service_h to gdbserver microblaze-linux | ||
6 | |||
7 | gdbserver needs to initialise the microblaze registers | ||
8 | |||
9 | other archs use this step to run a *_arch_setup() to carry out all | ||
10 | architecture specific setup - may need to add in future | ||
11 | |||
12 | * add linux-ptrace.o to gdbserver configure | ||
13 | * Update breakpoint opcode | ||
14 | * fix segfault on connecting gdbserver | ||
15 | * add microblaze_linux_memory_remove_breakpoint | ||
16 | * add set_solib_svr4_fetch_link_map_offsets | ||
17 | * add set_gdbarch_fetch_tls_load_module_address | ||
18 | * Force reading of r0 as 0, prevent stores | ||
19 | |||
20 | Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com> | ||
21 | Signed-off-by: Nathan Rossi <nathan.rossi@petalogix.com> | ||
22 | |||
23 | Conflicts: | ||
24 | gdb/gdbserver/Makefile.in | ||
25 | gdb/gdbserver/configure.srv | ||
26 | Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> | ||
27 | --- | ||
28 | gdb/configure.host | 3 + | ||
29 | gdb/features/microblaze-linux.xml | 12 + | ||
30 | gdb/gdbserver/Makefile.in | 712 +++++++++++++++++++++++++++ | ||
31 | gdb/gdbserver/configure.srv | 398 +++++++++++++++ | ||
32 | gdb/gdbserver/linux-microblaze-low.c | 189 +++++++ | ||
33 | gdb/microblaze-linux-tdep.c | 29 +- | ||
34 | gdb/microblaze-tdep.c | 35 +- | ||
35 | gdb/microblaze-tdep.h | 4 +- | ||
36 | gdb/regformats/reg-microblaze.dat | 41 ++ | ||
37 | 9 files changed, 1420 insertions(+), 3 deletions(-) | ||
38 | create mode 100644 gdb/features/microblaze-linux.xml | ||
39 | create mode 100644 gdb/gdbserver/Makefile.in | ||
40 | create mode 100644 gdb/gdbserver/configure.srv | ||
41 | create mode 100644 gdb/gdbserver/linux-microblaze-low.c | ||
42 | create mode 100644 gdb/regformats/reg-microblaze.dat | ||
43 | |||
44 | diff --git a/gdb/configure.host b/gdb/configure.host | ||
45 | index da71675b201..3a0c4443a93 100644 | ||
46 | --- a/gdb/configure.host | ||
47 | +++ b/gdb/configure.host | ||
48 | @@ -61,6 +61,7 @@ i[34567]86*) gdb_host_cpu=i386 ;; | ||
49 | loongarch*) gdb_host_cpu=loongarch ;; | ||
50 | m68*) gdb_host_cpu=m68k ;; | ||
51 | mips*) gdb_host_cpu=mips ;; | ||
52 | +microblaze*) gdb_host_cpu=microblaze ;; | ||
53 | powerpc* | rs6000) gdb_host_cpu=powerpc ;; | ||
54 | sparcv9 | sparc64) gdb_host_cpu=sparc ;; | ||
55 | s390*) gdb_host_cpu=s390 ;; | ||
56 | @@ -135,6 +136,8 @@ mips64*-*-openbsd*) gdb_host=obsd64 ;; | ||
57 | |||
58 | or1k-*-linux*) gdb_host=linux ;; | ||
59 | |||
60 | +microblaze*-*linux*) gdb_host=linux ;; | ||
61 | + | ||
62 | powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*) | ||
63 | gdb_host=aix ;; | ||
64 | powerpc*-*-freebsd*) gdb_host=fbsd ;; | ||
65 | diff --git a/gdb/features/microblaze-linux.xml b/gdb/features/microblaze-linux.xml | ||
66 | new file mode 100644 | ||
67 | index 00000000000..8983e66eb3d | ||
68 | --- /dev/null | ||
69 | +++ b/gdb/features/microblaze-linux.xml | ||
70 | @@ -0,0 +1,12 @@ | ||
71 | +<?xml version="1.0"?> | ||
72 | +<!-- Copyright (C) 2014-2018 Free Software Foundation, Inc. | ||
73 | + | ||
74 | + Copying and distribution of this file, with or without modification, | ||
75 | + are permitted in any medium without royalty provided the copyright | ||
76 | + notice and this notice are preserved. --> | ||
77 | + | ||
78 | +<!DOCTYPE target SYSTEM "gdb-target.dtd"> | ||
79 | +<target> | ||
80 | + <osabi>GNU/Linux</osabi> | ||
81 | + <xi:include href="microblaze-core.xml"/> | ||
82 | +</target> | ||
83 | diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in | ||
84 | new file mode 100644 | ||
85 | index 00000000000..fb4762a22d5 | ||
86 | --- /dev/null | ||
87 | +++ b/gdb/gdbserver/Makefile.in | ||
88 | @@ -0,0 +1,712 @@ | ||
89 | +# Copyright (C) 1989-2020 Free Software Foundation, Inc. | ||
90 | + | ||
91 | +# This file is part of GDB. | ||
92 | + | ||
93 | +# This program is free software; you can redistribute it and/or modify | ||
94 | +# it under the terms of the GNU General Public License as published by | ||
95 | +# the Free Software Foundation; either version 3 of the License, or | ||
96 | +# (at your option) any later version. | ||
97 | +# | ||
98 | +# This program is distributed in the hope that it will be useful, | ||
99 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
100 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
101 | +# GNU General Public License for more details. | ||
102 | +# | ||
103 | +# You should have received a copy of the GNU General Public License | ||
104 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
105 | + | ||
106 | +# Please keep lists in this file sorted alphabetically, with one item per line. | ||
107 | +# See gdb/Makefile.in for guidelines on ordering files and directories. | ||
108 | + | ||
109 | +prefix = @prefix@ | ||
110 | +exec_prefix = @exec_prefix@ | ||
111 | + | ||
112 | +host_alias = @host_noncanonical@ | ||
113 | +target_alias = @target_noncanonical@ | ||
114 | +program_transform_name = @program_transform_name@ | ||
115 | +bindir = @bindir@ | ||
116 | +libdir = @libdir@ | ||
117 | +tooldir = $(libdir)/$(target_alias) | ||
118 | + | ||
119 | +datarootdir = @datarootdir@ | ||
120 | +datadir = @datadir@ | ||
121 | +mandir = @mandir@ | ||
122 | +man1dir = $(mandir)/man1 | ||
123 | +man2dir = $(mandir)/man2 | ||
124 | +man3dir = $(mandir)/man3 | ||
125 | +man4dir = $(mandir)/man4 | ||
126 | +man5dir = $(mandir)/man5 | ||
127 | +man6dir = $(mandir)/man6 | ||
128 | +man7dir = $(mandir)/man7 | ||
129 | +man8dir = $(mandir)/man8 | ||
130 | +man9dir = $(mandir)/man9 | ||
131 | +infodir = @infodir@ | ||
132 | +htmldir = $(prefix)/html | ||
133 | +includedir = @includedir@ | ||
134 | +CONFIG_SRC_SUBDIR = @CONFIG_SRC_SUBDIR@ | ||
135 | + | ||
136 | +SHELL = @SHELL@ | ||
137 | +EXEEXT = @EXEEXT@ | ||
138 | + | ||
139 | +INSTALL = @INSTALL@ | ||
140 | +INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
141 | +INSTALL_DATA = @INSTALL_DATA@ | ||
142 | +RANLIB = @RANLIB@ | ||
143 | + | ||
144 | +CC = @CC@ | ||
145 | +CXX = @CXX@ | ||
146 | +CXX_DIALECT = @CXX_DIALECT@ | ||
147 | +AR = @AR@ | ||
148 | +AR_FLAGS = rc | ||
149 | + | ||
150 | +# Dependency tracking information. | ||
151 | +DEPMODE = @CCDEPMODE@ | ||
152 | +DEPDIR = @DEPDIR@ | ||
153 | +depcomp = $(SHELL) $(srcdir)/../../depcomp | ||
154 | + | ||
155 | +# Directory containing source files. Don't clean up the spacing, | ||
156 | +# this exact string is matched for by the "configure" script. | ||
157 | +srcdir = @srcdir@ | ||
158 | +abs_top_srcdir = @abs_top_srcdir@ | ||
159 | +abs_srcdir = @abs_srcdir@ | ||
160 | +VPATH = @srcdir@ | ||
161 | + | ||
162 | +include $(srcdir)/../silent-rules.mk | ||
163 | + | ||
164 | +# Note that these are overridden by GNU make-specific code below if | ||
165 | +# GNU make is used. The overrides implement dependency tracking. | ||
166 | +COMPILE.pre = $(CXX) -x c++ $(CXX_DIALECT) | ||
167 | +COMPILE.post = -c -o $@ | ||
168 | +COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(INTERNAL_CFLAGS) $(COMPILE.post) | ||
169 | +POSTCOMPILE = @true | ||
170 | + | ||
171 | +# It is also possible that you will need to add -I/usr/include/sys to the | ||
172 | +# CFLAGS section if your system doesn't have fcntl.h in /usr/include (which | ||
173 | +# is where it should be according to Posix). | ||
174 | + | ||
175 | +# Set this up with gcc if you have gnu ld and the loader will print out | ||
176 | +# line numbers for undefinded refs. | ||
177 | +#CC_LD = g++ -static | ||
178 | +CC_LD = $(CXX) $(CXX_DIALECT) | ||
179 | + | ||
180 | +# Where is the "include" directory? Traditionally ../include or ./include | ||
181 | +INCLUDE_DIR = ${srcdir}/../../include | ||
182 | +INCLUDE_DEP = $$(INCLUDE_DIR) | ||
183 | + | ||
184 | +LIBIBERTY_BUILDDIR = build-libiberty-gdbserver | ||
185 | +LIBIBERTY = $(LIBIBERTY_BUILDDIR)/libiberty.a | ||
186 | + | ||
187 | +# Where is ust? These will be empty if ust was not available. | ||
188 | +ustlibs = @ustlibs@ | ||
189 | +ustinc = @ustinc@ | ||
190 | + | ||
191 | +# gnulib | ||
192 | +GNULIB_BUILDDIR = build-gnulib-gdbserver | ||
193 | +LIBGNU = $(GNULIB_BUILDDIR)/import/libgnu.a | ||
194 | +INCGNU = -I$(srcdir)/../../gnulib/import -I$(GNULIB_BUILDDIR)/import | ||
195 | + | ||
196 | +# Generated headers in the gnulib directory. These must be listed | ||
197 | +# so that they are generated before other files are compiled. | ||
198 | +GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@ | ||
199 | + | ||
200 | +# All the includes used for CFLAGS and for lint. | ||
201 | +# -I. for config files. | ||
202 | +# -I${srcdir} for our headers. | ||
203 | +# -I$(srcdir)/../regformats for regdef.h. | ||
204 | +# | ||
205 | +# We do not include ../target or ../nat in here because headers | ||
206 | +# in those directories should be included with the subdirectory. | ||
207 | +# e.g.: "target/wait.h". | ||
208 | +# | ||
209 | +INCLUDE_CFLAGS = -I. -I${srcdir} \ | ||
210 | + -I$(srcdir)/../regformats -I$(srcdir)/.. -I$(INCLUDE_DIR) \ | ||
211 | + $(INCGNU) | ||
212 | + | ||
213 | +# M{H,T}_CFLAGS, if defined, has host- and target-dependent CFLAGS | ||
214 | +# from the config/ directory. | ||
215 | +GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS} | ||
216 | +#PROFILE_CFLAGS = -pg | ||
217 | + | ||
218 | +WARN_CFLAGS = @WARN_CFLAGS@ | ||
219 | +WERROR_CFLAGS = @WERROR_CFLAGS@ | ||
220 | + | ||
221 | +WARN_CFLAGS_NO_FORMAT = `echo " $(WARN_CFLAGS) " \ | ||
222 | + | sed "s/ -Wformat-nonliteral / -Wno-format-nonliteral /g"` | ||
223 | + | ||
224 | +# These are specifically reserved for setting from the command line | ||
225 | +# when running make. I.E. "make CFLAGS=-Wmissing-prototypes". | ||
226 | +CFLAGS = @CFLAGS@ | ||
227 | +CXXFLAGS = @CXXFLAGS@ | ||
228 | +CPPFLAGS = @CPPFLAGS@ | ||
229 | + | ||
230 | +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ | ||
231 | +PTHREAD_LIBS = @PTHREAD_LIBS@ | ||
232 | + | ||
233 | +# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros. | ||
234 | +INTERNAL_CFLAGS_BASE = ${CXXFLAGS} ${GLOBAL_CFLAGS} \ | ||
235 | + ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${CPPFLAGS} $(PTHREAD_CFLAGS) | ||
236 | +INTERNAL_WARN_CFLAGS = ${INTERNAL_CFLAGS_BASE} $(WARN_CFLAGS) | ||
237 | +INTERNAL_CFLAGS = ${INTERNAL_WARN_CFLAGS} $(WERROR_CFLAGS) -DGDBSERVER | ||
238 | + | ||
239 | +# LDFLAGS is specifically reserved for setting from the command line | ||
240 | +# when running make. | ||
241 | +LDFLAGS = @LDFLAGS@ | ||
242 | +INTERNAL_LDFLAGS = $(LDFLAGS) @RDYNAMIC@ | ||
243 | + | ||
244 | +# All source files that go into linking GDB remote server. | ||
245 | + | ||
246 | +SFILES = \ | ||
247 | + $(srcdir)/debug.c \ | ||
248 | + $(srcdir)/dll.c \ | ||
249 | + $(srcdir)/gdbreplay.c \ | ||
250 | + $(srcdir)/hostio.c \ | ||
251 | + $(srcdir)/hostio-errno.c \ | ||
252 | + $(srcdir)/i387-fp.c \ | ||
253 | + $(srcdir)/inferiors.c \ | ||
254 | + $(srcdir)/linux-aarch64-low.c \ | ||
255 | + $(srcdir)/linux-arm-low.c \ | ||
256 | + $(srcdir)/linux-bfin-low.c \ | ||
257 | + $(srcdir)/linux-cris-low.c \ | ||
258 | + $(srcdir)/linux-crisv32-low.c \ | ||
259 | + $(srcdir)/linux-ia64-low.c \ | ||
260 | + $(srcdir)/linux-low.c \ | ||
261 | + $(srcdir)/linux-m32r-low.c \ | ||
262 | + $(srcdir)/linux-m68k-low.c \ | ||
263 | + $(srcdir)/linux-microblaze-low.c \ | ||
264 | + $(srcdir)/linux-mips-low.c \ | ||
265 | + $(srcdir)/linux-nios2-low.c \ | ||
266 | + $(srcdir)/linux-ppc-low.c \ | ||
267 | + $(srcdir)/linux-s390-low.c \ | ||
268 | + $(srcdir)/linux-sh-low.c \ | ||
269 | + $(srcdir)/linux-sparc-low.c \ | ||
270 | + $(srcdir)/linux-tile-low.c \ | ||
271 | + $(srcdir)/linux-x86-low.c \ | ||
272 | + $(srcdir)/linux-xtensa-low.c \ | ||
273 | + $(srcdir)/mem-break.c \ | ||
274 | + $(srcdir)/proc-service.c \ | ||
275 | + $(srcdir)/proc-service.list \ | ||
276 | + $(srcdir)/regcache.c \ | ||
277 | + $(srcdir)/remote-utils.c \ | ||
278 | + $(srcdir)/server.c \ | ||
279 | + $(srcdir)/symbol.c \ | ||
280 | + $(srcdir)/target.c \ | ||
281 | + $(srcdir)/thread-db.c \ | ||
282 | + $(srcdir)/utils.c \ | ||
283 | + $(srcdir)/win32-arm-low.c \ | ||
284 | + $(srcdir)/win32-i386-low.c \ | ||
285 | + $(srcdir)/win32-low.c \ | ||
286 | + $(srcdir)/wincecompat.c \ | ||
287 | + $(srcdir)/x86-low.c \ | ||
288 | + $(srcdir)/arch/arm.c \ | ||
289 | + $(srcdir)/arch/arm-get-next-pcs.c \ | ||
290 | + $(srcdir)/arch/arm-linux.c \ | ||
291 | + $(srcdir)/arch/ppc-linux-common.c \ | ||
292 | + $(srcdir)/../alloc.c \ | ||
293 | + $(srcdir)/gdbsupport/btrace-common.c \ | ||
294 | + $(srcdir)/gdbsupport/buffer.c \ | ||
295 | + $(srcdir)/gdbsupport/cleanups.c \ | ||
296 | + $(srcdir)/gdbsupport/common-debug.c \ | ||
297 | + $(srcdir)/gdbsupport/common-exceptions.c \ | ||
298 | + $(srcdir)/gdbsupport/common-inferior.c \ | ||
299 | + $(srcdir)/gdbsupport/common-regcache.c \ | ||
300 | + $(srcdir)/gdbsupport/common-utils.c \ | ||
301 | + $(srcdir)/gdbsupport/errors.c \ | ||
302 | + $(srcdir)/gdbsupport/environ.c \ | ||
303 | + $(srcdir)/gdbsupport/fileio.c \ | ||
304 | + $(srcdir)/gdbsupport/filestuff.c \ | ||
305 | + $(srcdir)/gdbsupport/job-control.c \ | ||
306 | + $(srcdir)/gdbsupport/gdb-dlfcn.c \ | ||
307 | + $(srcdir)/gdbsupport/gdb_tilde_expand.c \ | ||
308 | + $(srcdir)/gdbsupport/gdb_vecs.c \ | ||
309 | + $(srcdir)/gdbsupport/netstuff.c \ | ||
310 | + $(srcdir)/gdbsupport/new-op.c \ | ||
311 | + $(srcdir)/gdbsupport/pathstuff.c \ | ||
312 | + $(srcdir)/gdbsupport/print-utils.c \ | ||
313 | + $(srcdir)/gdbsupport/ptid.c \ | ||
314 | + $(srcdir)/gdbsupport/rsp-low.c \ | ||
315 | + $(srcdir)/gdbsupport/safe-strerror.c \ | ||
316 | + $(srcdir)/gdbsupport/tdesc.c \ | ||
317 | + $(srcdir)/gdbsupport/xml-utils.c \ | ||
318 | + $(srcdir)/nat/aarch64-sve-linux-ptrace.c \ | ||
319 | + $(srcdir)/nat/linux-btrace.c \ | ||
320 | + $(srcdir)/nat/linux-namespaces.c \ | ||
321 | + $(srcdir)/nat/linux-osdata.c \ | ||
322 | + $(srcdir)/nat/linux-personality.c \ | ||
323 | + $(srcdir)/nat/microblaze-linux.c \ | ||
324 | + $(srcdir)/nat/mips-linux-watch.c \ | ||
325 | + $(srcdir)/nat/ppc-linux.c \ | ||
326 | + $(srcdir)/nat/fork-inferior.c \ | ||
327 | + $(srcdir)/target/waitstatus.c | ||
328 | + | ||
329 | +DEPFILES = @GDBSERVER_DEPFILES@ | ||
330 | + | ||
331 | +LIBOBJS = @LIBOBJS@ | ||
332 | + | ||
333 | +SOURCES = $(SFILES) | ||
334 | +TAGFILES = $(SOURCES) ${HFILES} ${ALLPARAM} ${POSSLIBS} | ||
335 | + | ||
336 | +OBS = \ | ||
337 | + alloc.o \ | ||
338 | + ax.o \ | ||
339 | + gdbsupport/agent.o \ | ||
340 | + gdbsupport/btrace-common.o \ | ||
341 | + gdbsupport/buffer.o \ | ||
342 | + gdbsupport/cleanups.o \ | ||
343 | + gdbsupport/common-debug.o \ | ||
344 | + gdbsupport/common-exceptions.o \ | ||
345 | + gdbsupport/common-inferior.o \ | ||
346 | + gdbsupport/job-control.o \ | ||
347 | + gdbsupport/common-regcache.o \ | ||
348 | + gdbsupport/common-utils.o \ | ||
349 | + gdbsupport/errors.o \ | ||
350 | + gdbsupport/environ.o \ | ||
351 | + gdbsupport/fileio.o \ | ||
352 | + gdbsupport/filestuff.o \ | ||
353 | + gdbsupport/format.o \ | ||
354 | + gdbsupport/gdb-dlfcn.o \ | ||
355 | + gdbsupport/gdb_tilde_expand.o \ | ||
356 | + gdbsupport/gdb_vecs.o \ | ||
357 | + gdbsupport/netstuff.o \ | ||
358 | + gdbsupport/new-op.o \ | ||
359 | + gdbsupport/pathstuff.o \ | ||
360 | + gdbsupport/print-utils.o \ | ||
361 | + gdbsupport/ptid.o \ | ||
362 | + gdbsupport/rsp-low.o \ | ||
363 | + gdbsupport/safe-strerror.o \ | ||
364 | + gdbsupport/signals.o \ | ||
365 | + gdbsupport/signals-state-save-restore.o \ | ||
366 | + gdbsupport/tdesc.o \ | ||
367 | + gdbsupport/xml-utils.o \ | ||
368 | + debug.o \ | ||
369 | + dll.o \ | ||
370 | + event-loop.o \ | ||
371 | + hostio.o \ | ||
372 | + inferiors.o \ | ||
373 | + mem-break.o \ | ||
374 | + notif.o \ | ||
375 | + regcache.o \ | ||
376 | + remote-utils.o \ | ||
377 | + server.o \ | ||
378 | + symbol.o \ | ||
379 | + target.o \ | ||
380 | + tdesc.o \ | ||
381 | + tracepoint.o \ | ||
382 | + utils.o \ | ||
383 | + version.o \ | ||
384 | + waitstatus.o \ | ||
385 | + $(DEPFILES) \ | ||
386 | + $(LIBOBJS) \ | ||
387 | + $(XML_BUILTIN) | ||
388 | + | ||
389 | +GDBREPLAY_OBS = \ | ||
390 | + gdbsupport/cleanups.o \ | ||
391 | + gdbsupport/common-exceptions.o \ | ||
392 | + gdbsupport/common-utils.o \ | ||
393 | + gdbsupport/rsp-low.o \ | ||
394 | + gdbsupport/errors.o \ | ||
395 | + gdbsupport/netstuff.o \ | ||
396 | + gdbsupport/print-utils.o \ | ||
397 | + gdbsupport/safe-strerror.o \ | ||
398 | + gdbreplay.o \ | ||
399 | + utils.o \ | ||
400 | + version.o | ||
401 | + | ||
402 | +GDBSERVER_LIBS = @GDBSERVER_LIBS@ $(PTHREAD_LIBS) | ||
403 | +XM_CLIBS = @LIBS@ | ||
404 | +CDEPS = $(srcdir)/proc-service.list | ||
405 | + | ||
406 | +# XML files to compile in to gdbserver, if any. | ||
407 | +XML_DIR = $(srcdir)/../features | ||
408 | +XML_FILES = @srv_xmlfiles@ | ||
409 | +XML_BUILTIN = @srv_xmlbuiltin@ | ||
410 | + | ||
411 | +IPA_DEPFILES = @IPA_DEPFILES@ | ||
412 | +extra_libraries = @extra_libraries@ | ||
413 | + | ||
414 | +SUBDIRS = $(GNULIB_BUILDDIR) $(LIBIBERTY_BUILDDIR) | ||
415 | +CLEANDIRS = $(SUBDIRS) | ||
416 | + | ||
417 | +# List of subdirectories in the build tree that must exist. | ||
418 | +# This is used to force build failures in existing trees when | ||
419 | +# a new directory is added. | ||
420 | +# The format here is for the `case' shell command. | ||
421 | +REQUIRED_SUBDIRS = $(GNULIB_BUILDDIR) | $(LIBIBERTY_BUILDDIR) | ||
422 | + | ||
423 | +FLAGS_TO_PASS = \ | ||
424 | + "prefix=$(prefix)" \ | ||
425 | + "exec_prefix=$(exec_prefix)" \ | ||
426 | + "infodir=$(infodir)" \ | ||
427 | + "datarootdir=$(datarootdir)" \ | ||
428 | + "docdir=$(docdir)" \ | ||
429 | + "htmldir=$(htmldir)" \ | ||
430 | + "pdfdir=$(pdfdir)" \ | ||
431 | + "libdir=$(libdir)" \ | ||
432 | + "mandir=$(mandir)" \ | ||
433 | + "datadir=$(datadir)" \ | ||
434 | + "includedir=$(includedir)" \ | ||
435 | + "against=$(against)" \ | ||
436 | + "DESTDIR=$(DESTDIR)" \ | ||
437 | + "AR=$(AR)" \ | ||
438 | + "AR_FLAGS=$(AR_FLAGS)" \ | ||
439 | + "CC=$(CC)" \ | ||
440 | + "CFLAGS=$(CFLAGS)" \ | ||
441 | + "CXX=$(CXX)" \ | ||
442 | + "CXXFLAGS=$(CXXFLAGS)" \ | ||
443 | + "DLLTOOL=$(DLLTOOL)" \ | ||
444 | + "LDFLAGS=$(LDFLAGS)" \ | ||
445 | + "RANLIB=$(RANLIB)" \ | ||
446 | + "MAKEINFO=$(MAKEINFO)" \ | ||
447 | + "MAKEHTML=$(MAKEHTML)" \ | ||
448 | + "MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \ | ||
449 | + "INSTALL=$(INSTALL)" \ | ||
450 | + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ | ||
451 | + "INSTALL_DATA=$(INSTALL_DATA)" \ | ||
452 | + "RUNTEST=$(RUNTEST)" \ | ||
453 | + "RUNTESTFLAGS=$(RUNTESTFLAGS)" | ||
454 | + | ||
455 | +# All generated files which can be included by another file. | ||
456 | +generated_files = config.h $(GNULIB_H) | ||
457 | + | ||
458 | +all: gdbserver$(EXEEXT) gdbreplay$(EXEEXT) $(extra_libraries) | ||
459 | + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do | ||
460 | + | ||
461 | +# Traditionally "install" depends on "all". But it may be useful | ||
462 | +# not to; for example, if the user has made some trivial change to a | ||
463 | +# source file and doesn't care about rebuilding or just wants to save the | ||
464 | +# time it takes for make to check that all is up to date. | ||
465 | +# install-only is intended to address that need. | ||
466 | +install: all | ||
467 | + @$(MAKE) $(FLAGS_TO_PASS) install-only | ||
468 | + | ||
469 | +install-only: | ||
470 | + n=`echo gdbserver | sed '$(program_transform_name)'`; \ | ||
471 | + if [ x$$n = x ]; then n=gdbserver; else true; fi; \ | ||
472 | + if [ x"$(IPA_DEPFILES)" != x ]; then \ | ||
473 | + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir); \ | ||
474 | + $(INSTALL_PROGRAM) $(IPA_LIB) $(DESTDIR)$(libdir)/$(IPA_LIB); \ | ||
475 | + fi; \ | ||
476 | + $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir); \ | ||
477 | + $(INSTALL_PROGRAM) gdbserver$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) | ||
478 | + # Note that we run install and not install-only, as the latter | ||
479 | + # is not part of GNU standards and in particular not provided | ||
480 | + # in libiberty. | ||
481 | + @$(MAKE) $(FLAGS_TO_PASS) DO=install "DODIRS=$(SUBDIRS)" subdir_do | ||
482 | + | ||
483 | +uninstall: force | ||
484 | + n=`echo gdbserver | sed '$(program_transform_name)'`; \ | ||
485 | + if [ x$$n = x ]; then n=gdbserver; else true; fi; \ | ||
486 | + rm -f $(DESTDIR)/$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(man1dir)/$$n.1 | ||
487 | + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do | ||
488 | + | ||
489 | +installcheck: | ||
490 | +check: | ||
491 | +info dvi pdf: | ||
492 | +install-info: | ||
493 | +install-pdf: | ||
494 | +html: | ||
495 | +install-html: | ||
496 | +clean-info: force | ||
497 | + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do | ||
498 | + | ||
499 | +gdbserver$(EXEEXT): $(sort $(OBS)) ${CDEPS} $(LIBGNU) $(LIBIBERTY) | ||
500 | + $(SILENCE) rm -f gdbserver$(EXEEXT) | ||
501 | + $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ | ||
502 | + -o gdbserver$(EXEEXT) $(OBS) $(LIBGNU) $(LIBIBERTY) \ | ||
503 | + $(GDBSERVER_LIBS) $(XM_CLIBS) | ||
504 | + | ||
505 | +$(LIBGNU) $(LIBIBERTY) $(GNULIB_H): all-lib | ||
506 | +all-lib: $(GNULIB_BUILDDIR)/Makefile $(LIBIBERTY_BUILDDIR)/Makefile | ||
507 | + @$(MAKE) $(FLAGS_TO_PASS) DO=all DODIRS="$(SUBDIRS)" subdir_do | ||
508 | +.PHONY: all-lib | ||
509 | + | ||
510 | +gdbreplay$(EXEEXT): $(sort $(GDBREPLAY_OBS)) $(LIBGNU) $(LIBIBERTY) | ||
511 | + $(SILENCE) rm -f gdbreplay$(EXEEXT) | ||
512 | + $(ECHO_CXXLD) $(CC_LD) $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ | ||
513 | + -o gdbreplay$(EXEEXT) $(GDBREPLAY_OBS) $(XM_CLIBS) $(LIBGNU) \ | ||
514 | + $(LIBIBERTY) | ||
515 | + | ||
516 | +IPA_OBJS = \ | ||
517 | + alloc-ipa.o \ | ||
518 | + ax-ipa.o \ | ||
519 | + gdbsupport/common-utils-ipa.o \ | ||
520 | + gdbsupport/errors-ipa.o \ | ||
521 | + gdbsupport/format-ipa.o \ | ||
522 | + gdbsupport/print-utils-ipa.o \ | ||
523 | + gdbsupport/rsp-low-ipa.o \ | ||
524 | + gdbsupport/safe-strerror-ipa.o \ | ||
525 | + gdbsupport/tdesc-ipa.o \ | ||
526 | + regcache-ipa.o \ | ||
527 | + remote-utils-ipa.o \ | ||
528 | + tdesc-ipa.o \ | ||
529 | + tracepoint-ipa.o \ | ||
530 | + utils-ipa.o \ | ||
531 | + ${IPA_DEPFILES} | ||
532 | + | ||
533 | +IPA_LIB = libinproctrace.so | ||
534 | + | ||
535 | +$(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS} | ||
536 | + $(SILENCE) rm -f $(IPA_LIB) | ||
537 | + $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \ | ||
538 | + -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \ | ||
539 | + -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread | ||
540 | + | ||
541 | +# Put the proper machine-specific files first, so M-. on a machine | ||
542 | +# specific routine gets the one for the correct machine. | ||
543 | +# The xyzzy stuff below deals with empty DEPFILES | ||
544 | +TAGS: ${TAGFILES} | ||
545 | + etags `find ${srcdir}/../config -name $(DEPRECATED_TM_FILE) -print` \ | ||
546 | + `find ${srcdir}/../config -name ${XM_FILE} -print` \ | ||
547 | + `find ${srcdir}/../config -name ${NAT_FILE} -print` \ | ||
548 | + `for i in yzzy ${DEPFILES}; do \ | ||
549 | + if [ x$$i != xyzzy ]; then \ | ||
550 | + echo ${srcdir}/$$i | sed -e 's/\.o$$/\.c/' ; \ | ||
551 | + fi; \ | ||
552 | + done` \ | ||
553 | + ${TAGFILES} | ||
554 | +tags: TAGS | ||
555 | + | ||
556 | +clean: | ||
557 | + rm -f *.o ${ADD_FILES} *~ | ||
558 | + rm -f gdbserver$(EXEEXT) gdbreplay$(EXEEXT) core make.log | ||
559 | + rm -f $(IPA_LIB) | ||
560 | + rm -f *-generated.c | ||
561 | + rm -f stamp-xml | ||
562 | + rm -f $(DEPDIR)/*.Po | ||
563 | + for i in $(CONFIG_SRC_SUBDIR); do \ | ||
564 | + rm -f $$i/*.o; \ | ||
565 | + rm -f $$i/$(DEPDIR)/*; \ | ||
566 | + done | ||
567 | + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do | ||
568 | + | ||
569 | +maintainer-clean realclean distclean: clean | ||
570 | + @$(MAKE) $(FLAGS_TO_PASS) DO=$@ "DODIRS=$(SUBDIRS)" subdir_do | ||
571 | + rm -rf $(GNULIB_BUILDDIR) | ||
572 | + rm -f Makefile config.status config.h stamp-h config.log | ||
573 | + rm -f Makefile | ||
574 | + for i in $(CONFIG_SRC_SUBDIR); do \ | ||
575 | + rmdir $$i/$(DEPDIR); \ | ||
576 | + done | ||
577 | + | ||
578 | +subdir_do: force | ||
579 | + @for i in $(DODIRS); do \ | ||
580 | + case $$i in \ | ||
581 | + $(REQUIRED_SUBDIRS)) \ | ||
582 | + if [ ! -f ./$$i/Makefile ] ; then \ | ||
583 | + echo "Missing $$i/Makefile" >&2 ; \ | ||
584 | + exit 1 ; \ | ||
585 | + fi ;; \ | ||
586 | + esac ; \ | ||
587 | + if [ -f ./$$i/Makefile ] ; then \ | ||
588 | + if (cd ./$$i; \ | ||
589 | + $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \ | ||
590 | + else exit 1 ; fi ; \ | ||
591 | + else true ; fi ; \ | ||
592 | + done | ||
593 | + | ||
594 | +config.h: stamp-h ; @true | ||
595 | +stamp-h: config.in config.status | ||
596 | + $(SHELL) ./config.status config.h | ||
597 | + | ||
598 | +Makefile: Makefile.in config.status | ||
599 | + $(SHELL) ./config.status $@ | ||
600 | + | ||
601 | +$(GNULIB_BUILDDIR)/Makefile: $(srcdir)/../../gnulib/Makefile.in config.status | ||
602 | + @cd $(GNULIB_BUILDDIR); CONFIG_FILES="Makefile" \ | ||
603 | + CONFIG_COMMANDS="depfiles" \ | ||
604 | + CONFIG_HEADERS= \ | ||
605 | + CONFIG_LINKS= \ | ||
606 | + $(SHELL) config.status | ||
607 | + | ||
608 | +config.status: configure configure.srv $(srcdir)/../../bfd/development.sh | ||
609 | + $(SHELL) ./config.status --recheck | ||
610 | + | ||
611 | +# automatic rebuilding in automake-generated Makefiles requires | ||
612 | +# this rule in the toplevel Makefile, which, with GNU make, causes | ||
613 | +# the desired updates through the implicit regeneration of the Makefile | ||
614 | +# and all of its prerequisites. | ||
615 | +am--refresh: | ||
616 | + @: | ||
617 | + | ||
618 | +force: | ||
619 | + | ||
620 | +version-generated.c: Makefile $(srcdir)/../version.in $(srcdir)/../../bfd/version.h $(srcdir)/../gdbsupport/create-version.sh | ||
621 | + $(ECHO_GEN) $(SHELL) $(srcdir)/../gdbsupport/create-version.sh $(srcdir)/.. \ | ||
622 | + $(host_alias) $(target_alias) $@ | ||
623 | + | ||
624 | +xml-builtin-generated.c: stamp-xml; @true | ||
625 | +stamp-xml: $(XML_DIR)/feature_to_c.sh Makefile $(XML_FILES) | ||
626 | + $(SILENCE) rm -f xml-builtin.tmp | ||
627 | + $(ECHO_GEN_XML_BUILTIN_GENERATED) $(SHELL) $(XML_DIR)/feature_to_c.sh \ | ||
628 | + xml-builtin.tmp $(XML_FILES) | ||
629 | + $(SILENCE) $(SHELL) $(srcdir)/../../move-if-change xml-builtin.tmp xml-builtin-generated.c | ||
630 | + $(SILENCE) echo stamp > stamp-xml | ||
631 | + | ||
632 | +.PRECIOUS: xml-builtin.c | ||
633 | + | ||
634 | +# GNU Make has an annoying habit of putting *all* the Makefile variables | ||
635 | +# into the environment, unless you include this target as a circumvention. | ||
636 | +# Rumor is that this will be fixed (and this target can be removed) | ||
637 | +# in GNU Make 4.0. | ||
638 | +.NOEXPORT: | ||
639 | + | ||
640 | +# GNU Make 3.63 has a different problem: it keeps tacking command line | ||
641 | +# overrides onto the definition of $(MAKE). This variable setting | ||
642 | +# will remove them. | ||
643 | +MAKEOVERRIDES = | ||
644 | + | ||
645 | +regdat_sh = $(srcdir)/../regformats/regdat.sh | ||
646 | + | ||
647 | +UST_CFLAGS = $(ustinc) -DCONFIG_UST_GDB_INTEGRATION | ||
648 | + | ||
649 | +# Undo gnulib replacements for the IPA shared library build. | ||
650 | +# The gnulib headers are still needed, but gnulib is not linked | ||
651 | +# into the IPA lib so replacement apis don't work. | ||
652 | +UNDO_GNULIB_CFLAGS = -Drpl_strerror_r=strerror_r | ||
653 | + | ||
654 | +# Note, we only build the IPA if -fvisibility=hidden is supported in | ||
655 | +# the first place. | ||
656 | +IPAGENT_CFLAGS = $(INTERNAL_CFLAGS) $(UST_CFLAGS) \ | ||
657 | + $(UNDO_GNULIB_CFLAGS) \ | ||
658 | + -fPIC -DIN_PROCESS_AGENT \ | ||
659 | + -fvisibility=hidden | ||
660 | + | ||
661 | +IPAGENT_COMPILE = $(ECHO_CXX) $(COMPILE.pre) $(IPAGENT_CFLAGS) $(COMPILE.post) | ||
662 | + | ||
663 | +# Rules for special cases. | ||
664 | + | ||
665 | +ax-ipa.o: ax.c | ||
666 | + $(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< | ||
667 | + $(POSTCOMPILE) | ||
668 | + | ||
669 | +ax.o: ax.c | ||
670 | + $(COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< | ||
671 | + $(POSTCOMPILE) | ||
672 | + | ||
673 | +alloc-ipa.o: ../alloc.c | ||
674 | + $(IPAGENT_COMPILE) $(WARN_CFLAGS_NO_FORMAT) $< | ||
675 | + $(POSTCOMPILE) | ||
676 | + | ||
677 | +# Rules for objects that go in the in-process agent. | ||
678 | + | ||
679 | +arch/%-ipa.o: ../arch/%.c | ||
680 | + $(IPAGENT_COMPILE) $< | ||
681 | + $(POSTCOMPILE) | ||
682 | + | ||
683 | +gdbsupport/%-ipa.o: ../gdbsupport/%.c | ||
684 | + $(IPAGENT_COMPILE) $< | ||
685 | + $(POSTCOMPILE) | ||
686 | + | ||
687 | +%-ipa.o: %-generated.c | ||
688 | + $(IPAGENT_COMPILE) $< | ||
689 | + $(POSTCOMPILE) | ||
690 | + | ||
691 | +%-ipa.o: %.c | ||
692 | + $(IPAGENT_COMPILE) $< | ||
693 | + $(POSTCOMPILE) | ||
694 | + | ||
695 | +# Note: Between two matching pattern rules, GNU Make 3.81 chooses the first one. | ||
696 | +# Therefore, this one needs to be before "%.o: %.c" for it to be considered for | ||
697 | +# files such as linux-amd64-ipa.o generated from linux-amd64-ipa.c. | ||
698 | +# | ||
699 | +# Later versions of GNU Make choose the rule with the shortest stem, so it would | ||
700 | +# work in any order. | ||
701 | + | ||
702 | +%-ipa.o: %-ipa.c | ||
703 | + $(IPAGENT_COMPILE) $< | ||
704 | + $(POSTCOMPILE) | ||
705 | + | ||
706 | +# Rules for objects that go in the gdbserver binary. | ||
707 | + | ||
708 | +arch/%.o: ../arch/%.c | ||
709 | + $(COMPILE) $< | ||
710 | + $(POSTCOMPILE) | ||
711 | + | ||
712 | +gdbsupport/%.o: ../gdbsupport/%.c | ||
713 | + $(COMPILE) $< | ||
714 | + $(POSTCOMPILE) | ||
715 | + | ||
716 | +%.o: %-generated.c | ||
717 | + $(COMPILE) $< | ||
718 | + $(POSTCOMPILE) | ||
719 | + | ||
720 | +%.o: %.c | ||
721 | + $(COMPILE) $< | ||
722 | + $(POSTCOMPILE) | ||
723 | + | ||
724 | +%.o: ../nat/%.c | ||
725 | + $(COMPILE) $< | ||
726 | + $(POSTCOMPILE) | ||
727 | + | ||
728 | +%.o: ../target/%.c | ||
729 | + $(COMPILE) $< | ||
730 | + $(POSTCOMPILE) | ||
731 | + | ||
732 | +%.o: ../%.c | ||
733 | + $(COMPILE) $< | ||
734 | + $(POSTCOMPILE) | ||
735 | + | ||
736 | +# Rules for register format descriptions. Suffix destination files with | ||
737 | +# -generated to identify and clean them easily. | ||
738 | + | ||
739 | +%-generated.c: ../regformats/%.dat | $(regdat_sh) | ||
740 | + $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ | ||
741 | + | ||
742 | +%-generated.c: ../regformats/arm/%.dat | $(regdat_sh) | ||
743 | + $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ | ||
744 | + | ||
745 | +%-generated.c: ../regformats/i386/%.dat | $(regdat_sh) | ||
746 | + $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ | ||
747 | + | ||
748 | +%-generated.c: ../regformats/rs6000/%.dat | $(regdat_sh) | ||
749 | + $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $< $@ | ||
750 | +microblaze-linux.c : $(srcdir)/../regformats/reg-microblaze.dat $(regdat_sh) | ||
751 | + $(ECHO_REGDAT) $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-microblaze.dat microblaze-linux.c | ||
752 | + | ||
753 | +# | ||
754 | +# Dependency tracking. | ||
755 | +# | ||
756 | + | ||
757 | +ifeq ($(DEPMODE),depmode=gcc3) | ||
758 | +# Note that we put the dependencies into a .Tpo file, then move them | ||
759 | +# into place if the compile succeeds. We need this because gcc does | ||
760 | +# not atomically write the dependency output file. | ||
761 | +override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \ | ||
762 | + -MF $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo | ||
763 | +override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo \ | ||
764 | + $(@D)/$(DEPDIR)/$(basename $(@F)).Po | ||
765 | +else | ||
766 | +override COMPILE.pre = source='$<' object='$@' libtool=no \ | ||
767 | + DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \ | ||
768 | + $(CXX) -x c++ $(CXX_DIALECT) | ||
769 | +# depcomp handles atomicity for us, so we don't need a postcompile | ||
770 | +# step. | ||
771 | +override POSTCOMPILE = | ||
772 | +endif | ||
773 | + | ||
774 | +# A list of all the objects we might care about in this build, for | ||
775 | +# dependency tracking. | ||
776 | +all_object_files = $(OBS) $(GDBREPLAY_OBS) $(IPA_OBJS) | ||
777 | + | ||
778 | +# Ensure that generated files are created early. Use order-only | ||
779 | +# dependencies if available. They require GNU make 3.80 or newer, | ||
780 | +# and the .VARIABLES variable was introduced at the same time. | ||
781 | +ifdef .VARIABLES | ||
782 | +$(all_object_files): | $(generated_files) | ||
783 | +else | ||
784 | +$(all_object_files) : $(generated_files) | ||
785 | +endif | ||
786 | + | ||
787 | +# All the .deps files to include. | ||
788 | +all_deps_files = $(foreach dep,$(patsubst %.o,%.Po,$(all_object_files)),\ | ||
789 | + $(dir $(dep))/$(DEPDIR)/$(notdir $(dep))) | ||
790 | + | ||
791 | +# Dependencies. | ||
792 | +-include $(all_deps_files) | ||
793 | + | ||
794 | +# Disable implicit make rules. | ||
795 | +include $(srcdir)/../disable-implicit-rules.mk | ||
796 | + | ||
797 | +# Do not delete intermediate files (e.g. *-generated.c). | ||
798 | +.SECONDARY: | ||
799 | + | ||
800 | +# This is the end of "Makefile.in". | ||
801 | diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv | ||
802 | new file mode 100644 | ||
803 | index 00000000000..e0d2b2fe04a | ||
804 | --- /dev/null | ||
805 | +++ b/gdb/gdbserver/configure.srv | ||
806 | @@ -0,0 +1,398 @@ | ||
807 | +# Mappings from configuration triplets to gdbserver build options. | ||
808 | +# This is invoked from the autoconf-generated configure script, to | ||
809 | +# produce the appropriate Makefile substitutions. | ||
810 | + | ||
811 | +# This file sets the following shell variables: | ||
812 | +# srv_regobj The register protocol appropriate for this target. | ||
813 | +# srv_tgtobj Any other target-specific modules appropriate | ||
814 | +# for this target. | ||
815 | +# srv_hostio_err The object implementing the hostio_last_error | ||
816 | +# target method. | ||
817 | +# srv_xmlfiles All XML files which should be available for | ||
818 | +# gdbserver in this configuration. | ||
819 | +# ipa_obj Any other target-specific modules appropriate | ||
820 | +# for this target's in-process agent. | ||
821 | +# | ||
822 | +# In addition, on GNU/Linux the following shell variables will be set: | ||
823 | +# srv_linux_regsets Set to "yes" if ptrace(PTRACE_GETREGS) and friends | ||
824 | +# may be available on this platform; unset otherwise. | ||
825 | +# They will only be used if <sys/ptrace.h> defines | ||
826 | +# PTRACE_GETREGS. | ||
827 | +# srv_linux_usrregs Set to "yes" if we can get at registers via | ||
828 | +# PTRACE_PEEKUSR / PTRACE_POKEUSR. | ||
829 | + | ||
830 | +# Default hostio_last_error implementation | ||
831 | +srv_hostio_err_objs="hostio-errno.o" | ||
832 | + | ||
833 | +ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-isa205-ppr-dscr-vsx32l-ipa.o powerpc-isa207-vsx32l-ipa.o powerpc-isa207-htm-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o powerpc-isa205-ppr-dscr-vsx64l-ipa.o powerpc-isa207-vsx64l-ipa.o powerpc-isa207-htm-vsx64l-ipa.o" | ||
834 | + | ||
835 | +# Linux object files. This is so we don't have to repeat | ||
836 | +# these files over and over again. | ||
837 | +srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o linux-namespaces.o fork-child.o fork-inferior.o" | ||
838 | + | ||
839 | +# Input is taken from the "${target}" variable. | ||
840 | + | ||
841 | +case "${target}" in | ||
842 | + aarch64*-*-linux*) srv_tgtobj="linux-aarch64-low.o aarch64-linux-hw-point.o" | ||
843 | + srv_tgtobj="$srv_tgtobj linux-aarch32-low.o" | ||
844 | + srv_tgtobj="$srv_tgtobj linux-aarch32-tdesc.o" | ||
845 | + srv_tgtobj="${srv_tgtobj} arch/aarch32.o" | ||
846 | + srv_tgtobj="${srv_tgtobj} arch/arm.o" | ||
847 | + srv_tgtobj="$srv_tgtobj aarch64-linux.o" | ||
848 | + srv_tgtobj="$srv_tgtobj arch/aarch64-insn.o" | ||
849 | + srv_tgtobj="$srv_tgtobj arch/aarch64.o" | ||
850 | + srv_tgtobj="$srv_tgtobj linux-aarch64-tdesc.o" | ||
851 | + srv_tgtobj="$srv_tgtobj aarch64-sve-linux-ptrace.o" | ||
852 | + srv_tgtobj="${srv_tgtobj} $srv_linux_obj" | ||
853 | + srv_linux_regsets=yes | ||
854 | + srv_linux_thread_db=yes | ||
855 | + ipa_obj="linux-aarch64-ipa.o" | ||
856 | + ipa_obj="${ipa_obj} linux-aarch64-tdesc-ipa.o" | ||
857 | + ipa_obj="${ipa_obj} arch/aarch64-ipa.o" | ||
858 | + ;; | ||
859 | + arm*-*-linux*) srv_tgtobj="$srv_linux_obj linux-arm-low.o" | ||
860 | + srv_tgtobj="$srv_tgtobj linux-arm-tdesc.o" | ||
861 | + srv_tgtobj="$srv_tgtobj linux-aarch32-low.o" | ||
862 | + srv_tgtobj="$srv_tgtobj linux-aarch32-tdesc.o" | ||
863 | + srv_tgtobj="${srv_tgtobj} arch/aarch32.o" | ||
864 | + srv_tgtobj="${srv_tgtobj} arch/arm.o" | ||
865 | + srv_tgtobj="${srv_tgtobj} arch/arm-linux.o" | ||
866 | + srv_tgtobj="${srv_tgtobj} arch/arm-get-next-pcs.o" | ||
867 | + srv_linux_usrregs=yes | ||
868 | + srv_linux_regsets=yes | ||
869 | + srv_linux_thread_db=yes | ||
870 | + ;; | ||
871 | + arm*-*-mingw32ce*) srv_regobj=reg-arm.o | ||
872 | + srv_tgtobj="win32-low.o win32-arm-low.o" | ||
873 | + srv_tgtobj="${srv_tgtobj} wincecompat.o" | ||
874 | + # hostio_last_error implementation is in win32-low.c | ||
875 | + srv_hostio_err_objs="" | ||
876 | + srv_mingw=yes | ||
877 | + srv_mingwce=yes | ||
878 | + ;; | ||
879 | + bfin-*-*linux*) srv_regobj=reg-bfin.o | ||
880 | + srv_tgtobj="$srv_linux_obj linux-bfin-low.o" | ||
881 | + srv_linux_usrregs=yes | ||
882 | + srv_linux_thread_db=yes | ||
883 | + ;; | ||
884 | + crisv32-*-linux*) srv_regobj=reg-crisv32.o | ||
885 | + srv_tgtobj="$srv_linux_obj linux-crisv32-low.o" | ||
886 | + srv_linux_regsets=yes | ||
887 | + srv_linux_thread_db=yes | ||
888 | + ;; | ||
889 | + cris-*-linux*) srv_regobj=reg-cris.o | ||
890 | + srv_tgtobj="$srv_linux_obj linux-cris-low.o" | ||
891 | + srv_linux_usrregs=yes | ||
892 | + srv_linux_thread_db=yes | ||
893 | + ;; | ||
894 | + i[34567]86-*-cygwin*) srv_regobj="" | ||
895 | + srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" | ||
896 | + srv_tgtobj="${srv_tgtobj} arch/i386.o" | ||
897 | + ;; | ||
898 | + i[34567]86-*-linux*) srv_tgtobj="${srv_tgtobj} arch/i386.o" | ||
899 | + srv_tgtobj="${srv_tgtobj} $srv_linux_obj linux-x86-low.o x86-low.o x86-dregs.o i387-fp.o" | ||
900 | + srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o" | ||
901 | + srv_tgtobj="${srv_tgtobj} linux-btrace.o x86-linux.o" | ||
902 | + srv_tgtobj="${srv_tgtobj} x86-linux-dregs.o" | ||
903 | + srv_linux_usrregs=yes | ||
904 | + srv_linux_regsets=yes | ||
905 | + srv_linux_thread_db=yes | ||
906 | + srv_linux_btrace=yes | ||
907 | + ipa_obj="linux-i386-ipa.o linux-x86-tdesc-ipa.o" | ||
908 | + ipa_obj="${ipa_obj} arch/i386-ipa.o" | ||
909 | + ;; | ||
910 | + i[34567]86-*-lynxos*) srv_regobj="" | ||
911 | + srv_tgtobj="lynx-low.o lynx-i386-low.o fork-child.o fork-inferior.o" | ||
912 | + srv_tgtobj="${srv_tgtobj} arch/i386.o" | ||
913 | + srv_lynxos=yes | ||
914 | + ;; | ||
915 | + i[34567]86-*-mingw32ce*) | ||
916 | + srv_regobj="" | ||
917 | + srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" | ||
918 | + srv_tgtobj="${srv_tgtobj} arch/i386.o" | ||
919 | + srv_tgtobj="${srv_tgtobj} wincecompat.o" | ||
920 | + # hostio_last_error implementation is in win32-low.c | ||
921 | + srv_hostio_err_objs="" | ||
922 | + srv_mingw=yes | ||
923 | + srv_mingwce=yes | ||
924 | + ;; | ||
925 | + i[34567]86-*-mingw*) srv_regobj="" | ||
926 | + srv_tgtobj="x86-low.o x86-dregs.o win32-low.o win32-i386-low.o" | ||
927 | + srv_tgtobj="${srv_tgtobj} arch/i386.o" | ||
928 | + srv_mingw=yes | ||
929 | + ;; | ||
930 | + i[34567]86-*-nto*) srv_regobj="" | ||
931 | + srv_tgtobj="nto-low.o nto-x86-low.o arch/i386.o" | ||
932 | + srv_qnx="yes" | ||
933 | + ;; | ||
934 | + ia64-*-linux*) srv_regobj=reg-ia64.o | ||
935 | + srv_tgtobj="$srv_linux_obj linux-ia64-low.o" | ||
936 | + srv_linux_usrregs=yes | ||
937 | + ;; | ||
938 | + m32r*-*-linux*) srv_regobj=reg-m32r.o | ||
939 | + srv_tgtobj="$srv_linux_obj linux-m32r-low.o" | ||
940 | + srv_linux_usrregs=yes | ||
941 | + srv_linux_thread_db=yes | ||
942 | + ;; | ||
943 | + m68*-*-linux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then | ||
944 | + srv_regobj=reg-cf.o | ||
945 | + else | ||
946 | + srv_regobj=reg-m68k.o | ||
947 | + fi | ||
948 | + srv_tgtobj="$srv_linux_obj linux-m68k-low.o" | ||
949 | + srv_linux_usrregs=yes | ||
950 | + srv_linux_regsets=yes | ||
951 | + srv_linux_thread_db=yes | ||
952 | + ;; | ||
953 | + m68*-*-uclinux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then | ||
954 | + srv_regobj=reg-cf.o | ||
955 | + else | ||
956 | + srv_regobj=reg-m68k.o | ||
957 | + fi | ||
958 | + srv_tgtobj="$srv_linux_obj linux-m68k-low.o" | ||
959 | + srv_linux_usrregs=yes | ||
960 | + srv_linux_regsets=yes | ||
961 | + srv_linux_thread_db=yes | ||
962 | + ;; | ||
963 | + mips*-*-linux*) srv_regobj="mips-linux.o" | ||
964 | + srv_regobj="${srv_regobj} mips-dsp-linux.o" | ||
965 | + srv_regobj="${srv_regobj} mips64-linux.o" | ||
966 | + srv_regobj="${srv_regobj} mips64-dsp-linux.o" | ||
967 | + srv_tgtobj="$srv_linux_obj linux-mips-low.o" | ||
968 | + srv_tgtobj="${srv_tgtobj} mips-linux-watch.o" | ||
969 | + srv_xmlfiles="mips-linux.xml" | ||
970 | + srv_xmlfiles="${srv_xmlfiles} mips-dsp-linux.xml" | ||
971 | + srv_xmlfiles="${srv_xmlfiles} mips-cpu.xml" | ||
972 | + srv_xmlfiles="${srv_xmlfiles} mips-cp0.xml" | ||
973 | + srv_xmlfiles="${srv_xmlfiles} mips-fpu.xml" | ||
974 | + srv_xmlfiles="${srv_xmlfiles} mips-dsp.xml" | ||
975 | + srv_xmlfiles="${srv_xmlfiles} mips64-linux.xml" | ||
976 | + srv_xmlfiles="${srv_xmlfiles} mips64-dsp-linux.xml" | ||
977 | + srv_xmlfiles="${srv_xmlfiles} mips64-cpu.xml" | ||
978 | + srv_xmlfiles="${srv_xmlfiles} mips64-cp0.xml" | ||
979 | + srv_xmlfiles="${srv_xmlfiles} mips64-fpu.xml" | ||
980 | + srv_xmlfiles="${srv_xmlfiles} mips64-dsp.xml" | ||
981 | + srv_linux_regsets=yes | ||
982 | + srv_linux_usrregs=yes | ||
983 | + srv_linux_thread_db=yes | ||
984 | + ;; | ||
985 | + nios2*-*-linux*) srv_regobj="nios2-linux.o" | ||
986 | + srv_tgtobj="$srv_linux_obj linux-nios2-low.o" | ||
987 | + srv_xmlfiles="nios2-linux.xml" | ||
988 | + srv_xmlfiles="${srv_xmlfiles} nios2-cpu.xml" | ||
989 | + srv_linux_regsets=yes | ||
990 | + srv_linux_usrregs=yes | ||
991 | + srv_linux_thread_db=yes | ||
992 | + ;; | ||
993 | + microblaze*-*-linux*) srv_regobj="microblaze-linux.o" | ||
994 | + srv_tgtobj="linux-low.o linux-osdata.o linux-microblaze-low.o " | ||
995 | + srv_tgtobj="${srv_tgtobj} linux-procfs.o linux-ptrace.o" | ||
996 | + srv_xmlfiles="microblaze-linux.xml" | ||
997 | + srv_linux_regsets=yes | ||
998 | + srv_linux_usrregs=yes | ||
999 | + srv_linux_thread_db=yes | ||
1000 | + ;; | ||
1001 | + powerpc*-*-linux*) srv_regobj="powerpc-32l.o" | ||
1002 | + srv_regobj="${srv_regobj} powerpc-altivec32l.o" | ||
1003 | + srv_regobj="${srv_regobj} powerpc-vsx32l.o" | ||
1004 | + srv_regobj="${srv_regobj} powerpc-isa205-32l.o" | ||
1005 | + srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o" | ||
1006 | + srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o" | ||
1007 | + srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx32l.o" | ||
1008 | + srv_regobj="${srv_regobj} powerpc-isa207-vsx32l.o" | ||
1009 | + srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx32l.o" | ||
1010 | + srv_regobj="${srv_regobj} powerpc-e500l.o" | ||
1011 | + srv_regobj="${srv_regobj} powerpc-64l.o" | ||
1012 | + srv_regobj="${srv_regobj} powerpc-altivec64l.o" | ||
1013 | + srv_regobj="${srv_regobj} powerpc-vsx64l.o" | ||
1014 | + srv_regobj="${srv_regobj} powerpc-isa205-64l.o" | ||
1015 | + srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o" | ||
1016 | + srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o" | ||
1017 | + srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx64l.o" | ||
1018 | + srv_regobj="${srv_regobj} powerpc-isa207-vsx64l.o" | ||
1019 | + srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx64l.o" | ||
1020 | + srv_tgtobj="$srv_linux_obj linux-ppc-low.o ppc-linux.o" | ||
1021 | + srv_tgtobj="${srv_tgtobj} arch/ppc-linux-common.o" | ||
1022 | + srv_xmlfiles="rs6000/powerpc-32l.xml" | ||
1023 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml" | ||
1024 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml" | ||
1025 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml" | ||
1026 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml" | ||
1027 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml" | ||
1028 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml" | ||
1029 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx32l.xml" | ||
1030 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx32l.xml" | ||
1031 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml" | ||
1032 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml" | ||
1033 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml" | ||
1034 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml" | ||
1035 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml" | ||
1036 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml" | ||
1037 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-dscr.xml" | ||
1038 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-ppr.xml" | ||
1039 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-tar.xml" | ||
1040 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-ebb.xml" | ||
1041 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux-pmu.xml" | ||
1042 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-spr.xml" | ||
1043 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-core.xml" | ||
1044 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-fpu.xml" | ||
1045 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-altivec.xml" | ||
1046 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-vsx.xml" | ||
1047 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-ppr.xml" | ||
1048 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-dscr.xml" | ||
1049 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-tar.xml" | ||
1050 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml" | ||
1051 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml" | ||
1052 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml" | ||
1053 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml" | ||
1054 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml" | ||
1055 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml" | ||
1056 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml" | ||
1057 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml" | ||
1058 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml" | ||
1059 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx64l.xml" | ||
1060 | + srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx64l.xml" | ||
1061 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml" | ||
1062 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml" | ||
1063 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power64-htm-core.xml" | ||
1064 | + srv_linux_usrregs=yes | ||
1065 | + srv_linux_regsets=yes | ||
1066 | + srv_linux_thread_db=yes | ||
1067 | + ipa_obj="${ipa_ppc_linux_regobj} linux-ppc-ipa.o" | ||
1068 | + ;; | ||
1069 | + powerpc-*-lynxos*) srv_regobj="powerpc-32.o" | ||
1070 | + srv_tgtobj="lynx-low.o lynx-ppc-low.o" | ||
1071 | + srv_xmlfiles="rs6000/powerpc-32.xml" | ||
1072 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml" | ||
1073 | + srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml" | ||
1074 | + srv_lynxos=yes | ||
1075 | + ;; | ||
1076 | + s390*-*-linux*) srv_regobj="s390-linux32.o" | ||
1077 | + srv_regobj="${srv_regobj} s390-linux32v1.o" | ||
1078 | + srv_regobj="${srv_regobj} s390-linux32v2.o" | ||
1079 | + srv_regobj="${srv_regobj} s390-linux64.o" | ||
1080 | + srv_regobj="${srv_regobj} s390-linux64v1.o" | ||
1081 | + srv_regobj="${srv_regobj} s390-linux64v2.o" | ||
1082 | + srv_regobj="${srv_regobj} s390-te-linux64.o" | ||
1083 | + srv_regobj="${srv_regobj} s390-vx-linux64.o" | ||
1084 | + srv_regobj="${srv_regobj} s390-tevx-linux64.o" | ||
1085 | + srv_regobj="${srv_regobj} s390-gs-linux64.o" | ||
1086 | + srv_regobj="${srv_regobj} s390x-linux64.o" | ||
1087 | + srv_regobj="${srv_regobj} s390x-linux64v1.o" | ||
1088 | + srv_regobj="${srv_regobj} s390x-linux64v2.o" | ||
1089 | + srv_regobj="${srv_regobj} s390x-te-linux64.o" | ||
1090 | + srv_regobj="${srv_regobj} s390x-vx-linux64.o" | ||
1091 | + srv_regobj="${srv_regobj} s390x-tevx-linux64.o" | ||
1092 | + srv_regobj="${srv_regobj} s390x-gs-linux64.o" | ||
1093 | + srv_tgtobj="$srv_linux_obj linux-s390-low.o" | ||
1094 | + srv_xmlfiles="s390-linux32.xml" | ||
1095 | + srv_xmlfiles="${srv_xmlfiles} s390-linux32v1.xml" | ||
1096 | + srv_xmlfiles="${srv_xmlfiles} s390-linux32v2.xml" | ||
1097 | + srv_xmlfiles="${srv_xmlfiles} s390-linux64.xml" | ||
1098 | + srv_xmlfiles="${srv_xmlfiles} s390-linux64v1.xml" | ||
1099 | + srv_xmlfiles="${srv_xmlfiles} s390-linux64v2.xml" | ||
1100 | + srv_xmlfiles="${srv_xmlfiles} s390-te-linux64.xml" | ||
1101 | + srv_xmlfiles="${srv_xmlfiles} s390-vx-linux64.xml" | ||
1102 | + srv_xmlfiles="${srv_xmlfiles} s390-tevx-linux64.xml" | ||
1103 | + srv_xmlfiles="${srv_xmlfiles} s390-gs-linux64.xml" | ||
1104 | + srv_xmlfiles="${srv_xmlfiles} s390x-linux64.xml" | ||
1105 | + srv_xmlfiles="${srv_xmlfiles} s390x-linux64v1.xml" | ||
1106 | + srv_xmlfiles="${srv_xmlfiles} s390x-linux64v2.xml" | ||
1107 | + srv_xmlfiles="${srv_xmlfiles} s390x-te-linux64.xml" | ||
1108 | + srv_xmlfiles="${srv_xmlfiles} s390x-vx-linux64.xml" | ||
1109 | + srv_xmlfiles="${srv_xmlfiles} s390x-tevx-linux64.xml" | ||
1110 | + srv_xmlfiles="${srv_xmlfiles} s390x-gs-linux64.xml" | ||
1111 | + srv_xmlfiles="${srv_xmlfiles} s390-core32.xml" | ||
1112 | + srv_xmlfiles="${srv_xmlfiles} s390-core64.xml" | ||
1113 | + srv_xmlfiles="${srv_xmlfiles} s390x-core64.xml" | ||
1114 | + srv_xmlfiles="${srv_xmlfiles} s390-acr.xml" | ||
1115 | + srv_xmlfiles="${srv_xmlfiles} s390-fpr.xml" | ||
1116 | + srv_xmlfiles="${srv_xmlfiles} s390-tdb.xml" | ||
1117 | + srv_xmlfiles="${srv_xmlfiles} s390-vx.xml" | ||
1118 | + srv_xmlfiles="${srv_xmlfiles} s390-gs.xml" | ||
1119 | + srv_xmlfiles="${srv_xmlfiles} s390-gsbc.xml" | ||
1120 | + srv_linux_usrregs=yes | ||
1121 | + srv_linux_regsets=yes | ||
1122 | + srv_linux_thread_db=yes | ||
1123 | + ipa_obj="linux-s390-ipa.o" | ||
1124 | + ipa_obj="${ipa_obj} s390-linux32-ipa.o" | ||
1125 | + ipa_obj="${ipa_obj} s390-linux32v1-ipa.o" | ||
1126 | + ipa_obj="${ipa_obj} s390-linux32v2-ipa.o" | ||
1127 | + ipa_obj="${ipa_obj} s390-linux64-ipa.o" | ||
1128 | + ipa_obj="${ipa_obj} s390-linux64v1-ipa.o" | ||
1129 | + ipa_obj="${ipa_obj} s390-linux64v2-ipa.o" | ||
1130 | + ipa_obj="${ipa_obj} s390-vx-linux64-ipa.o" | ||
1131 | + ipa_obj="${ipa_obj} s390-te-linux64-ipa.o" | ||
1132 | + ipa_obj="${ipa_obj} s390-tevx-linux64-ipa.o" | ||
1133 | + ipa_obj="${ipa_obj} s390-gs-linux64-ipa.o" | ||
1134 | + ipa_obj="${ipa_obj} s390x-linux64-ipa.o" | ||
1135 | + ipa_obj="${ipa_obj} s390x-linux64v1-ipa.o" | ||
1136 | + ipa_obj="${ipa_obj} s390x-linux64v2-ipa.o" | ||
1137 | + ipa_obj="${ipa_obj} s390x-vx-linux64-ipa.o" | ||
1138 | + ipa_obj="${ipa_obj} s390x-te-linux64-ipa.o" | ||
1139 | + ipa_obj="${ipa_obj} s390x-tevx-linux64-ipa.o" | ||
1140 | + ipa_obj="${ipa_obj} s390x-gs-linux64-ipa.o" | ||
1141 | + ;; | ||
1142 | + sh*-*-linux*) srv_regobj=reg-sh.o | ||
1143 | + srv_tgtobj="$srv_linux_obj linux-sh-low.o" | ||
1144 | + srv_linux_usrregs=yes | ||
1145 | + srv_linux_regsets=yes | ||
1146 | + srv_linux_thread_db=yes | ||
1147 | + ;; | ||
1148 | + sparc*-*-linux*) srv_regobj=reg-sparc64.o | ||
1149 | + srv_tgtobj="$srv_linux_obj linux-sparc-low.o" | ||
1150 | + srv_linux_regsets=yes | ||
1151 | + srv_linux_thread_db=yes | ||
1152 | + ;; | ||
1153 | + tic6x-*-uclinux) if $development; then | ||
1154 | + srv_regobj="tic6x-c64xp-linux.o" | ||
1155 | + srv_regobj="${srv_regobj} tic6x-c64x-linux.o" | ||
1156 | + srv_regobj="${srv_regobj} tic6x-c62x-linux.o" | ||
1157 | + else | ||
1158 | + srv_regobj="" | ||
1159 | + fi | ||
1160 | + srv_tgtobj="$srv_linux_obj linux-tic6x-low.o" | ||
1161 | + srv_tgtobj="${srv_tgtobj} arch/tic6x.o" | ||
1162 | + srv_linux_regsets=yes | ||
1163 | + srv_linux_usrregs=yes | ||
1164 | + srv_linux_thread_db=yes | ||
1165 | + ;; | ||
1166 | + x86_64-*-linux*) srv_tgtobj="$srv_linux_obj linux-x86-low.o x86-low.o" | ||
1167 | + srv_tgtobj="${srv_tgtobj} x86-dregs.o i387-fp.o" | ||
1168 | + srv_tgtobj="${srv_tgtobj} arch/i386.o arch/amd64.o" | ||
1169 | + srv_tgtobj="${srv_tgtobj} linux-x86-tdesc.o" | ||
1170 | + srv_tgtobj="${srv_tgtobj} linux-btrace.o x86-linux.o" | ||
1171 | + srv_tgtobj="${srv_tgtobj} x86-linux-dregs.o" | ||
1172 | + srv_tgtobj="${srv_tgtobj} amd64-linux-siginfo.o" | ||
1173 | + srv_linux_usrregs=yes # This is for i386 progs. | ||
1174 | + srv_linux_regsets=yes | ||
1175 | + srv_linux_thread_db=yes | ||
1176 | + srv_linux_btrace=yes | ||
1177 | + ipa_obj="linux-amd64-ipa.o linux-x86-tdesc-ipa.o" | ||
1178 | + ipa_obj="${ipa_obj} arch/amd64-ipa.o" | ||
1179 | + ;; | ||
1180 | + x86_64-*-mingw*) srv_regobj="" | ||
1181 | + srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o" | ||
1182 | + srv_tgtobj="${srv_tgtobj} arch/amd64.o" | ||
1183 | + srv_mingw=yes | ||
1184 | + ;; | ||
1185 | + x86_64-*-cygwin*) srv_regobj="" | ||
1186 | + srv_tgtobj="x86-low.o x86-dregs.o i387-fp.o win32-low.o win32-i386-low.o" | ||
1187 | + srv_tgtobj="${srv_tgtobj} arch/amd64.o" | ||
1188 | + ;; | ||
1189 | + | ||
1190 | + xtensa*-*-linux*) srv_regobj=reg-xtensa.o | ||
1191 | + srv_tgtobj="$srv_linux_obj linux-xtensa-low.o" | ||
1192 | + srv_linux_regsets=yes | ||
1193 | + srv_linux_thread_db=yes | ||
1194 | + ;; | ||
1195 | + tilegx-*-linux*) srv_regobj=reg-tilegx.o | ||
1196 | + srv_regobj="${srv_regobj} reg-tilegx32.o" | ||
1197 | + srv_tgtobj="$srv_linux_obj linux-tile-low.o" | ||
1198 | + srv_linux_regsets=yes | ||
1199 | + srv_linux_thread_db=yes | ||
1200 | + ;; | ||
1201 | + *) echo "Error: target not supported by gdbserver." | ||
1202 | + exit 1 | ||
1203 | + ;; | ||
1204 | +esac | ||
1205 | diff --git a/gdb/gdbserver/linux-microblaze-low.c b/gdb/gdbserver/linux-microblaze-low.c | ||
1206 | new file mode 100644 | ||
1207 | index 00000000000..cba5d6fc585 | ||
1208 | --- /dev/null | ||
1209 | +++ b/gdb/gdbserver/linux-microblaze-low.c | ||
1210 | @@ -0,0 +1,189 @@ | ||
1211 | +/* GNU/Linux/Microblaze specific low level interface, for the remote server for | ||
1212 | + GDB. | ||
1213 | + Copyright (C) 1995-2013 Free Software Foundation, Inc. | ||
1214 | + | ||
1215 | + This file is part of GDB. | ||
1216 | + | ||
1217 | + This program is free software; you can redistribute it and/or modify | ||
1218 | + it under the terms of the GNU General Public License as published by | ||
1219 | + the Free Software Foundation; either version 3 of the License, or | ||
1220 | + (at your option) any later version. | ||
1221 | + | ||
1222 | + This program is distributed in the hope that it will be useful, | ||
1223 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1224 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1225 | + GNU General Public License for more details. | ||
1226 | + | ||
1227 | + You should have received a copy of the GNU General Public License | ||
1228 | + along with this program. If not, see <http://www.gnu.org/licenses/>. */ | ||
1229 | + | ||
1230 | +#include "server.h" | ||
1231 | +#include "linux-low.h" | ||
1232 | + | ||
1233 | +#include <asm/ptrace.h> | ||
1234 | +#include <sys/procfs.h> | ||
1235 | +#include <sys/ptrace.h> | ||
1236 | + | ||
1237 | +#include "gdb_proc_service.h" | ||
1238 | + | ||
1239 | +static int microblaze_regmap[] = | ||
1240 | + {PT_GPR(0), PT_GPR(1), PT_GPR(2), PT_GPR(3), | ||
1241 | + PT_GPR(4), PT_GPR(5), PT_GPR(6), PT_GPR(7), | ||
1242 | + PT_GPR(8), PT_GPR(9), PT_GPR(10), PT_GPR(11), | ||
1243 | + PT_GPR(12), PT_GPR(13), PT_GPR(14), PT_GPR(15), | ||
1244 | + PT_GPR(16), PT_GPR(17), PT_GPR(18), PT_GPR(19), | ||
1245 | + PT_GPR(20), PT_GPR(21), PT_GPR(22), PT_GPR(23), | ||
1246 | + PT_GPR(24), PT_GPR(25), PT_GPR(26), PT_GPR(27), | ||
1247 | + PT_GPR(28), PT_GPR(29), PT_GPR(30), PT_GPR(31), | ||
1248 | + PT_PC, PT_MSR, PT_EAR, PT_ESR, | ||
1249 | + PT_FSR | ||
1250 | + }; | ||
1251 | + | ||
1252 | +#define microblaze_num_regs (sizeof microblaze_regmap / sizeof microblaze_regmap[0]) | ||
1253 | + | ||
1254 | +/* Defined in auto-generated file microblaze-linux.c. */ | ||
1255 | +void init_registers_microblaze (void); | ||
1256 | + | ||
1257 | +static int | ||
1258 | +microblaze_cannot_store_register (int regno) | ||
1259 | +{ | ||
1260 | + if (microblaze_regmap[regno] == -1 || regno == 0) | ||
1261 | + return 1; | ||
1262 | + | ||
1263 | + return 0; | ||
1264 | +} | ||
1265 | + | ||
1266 | +static int | ||
1267 | +microblaze_cannot_fetch_register (int regno) | ||
1268 | +{ | ||
1269 | + return 0; | ||
1270 | +} | ||
1271 | + | ||
1272 | +static CORE_ADDR | ||
1273 | +microblaze_get_pc (struct regcache *regcache) | ||
1274 | +{ | ||
1275 | + unsigned long pc; | ||
1276 | + | ||
1277 | + collect_register_by_name (regcache, "pc", &pc); | ||
1278 | + return (CORE_ADDR) pc; | ||
1279 | +} | ||
1280 | + | ||
1281 | +static void | ||
1282 | +microblaze_set_pc (struct regcache *regcache, CORE_ADDR pc) | ||
1283 | +{ | ||
1284 | + unsigned long newpc = pc; | ||
1285 | + | ||
1286 | + supply_register_by_name (regcache, "pc", &newpc); | ||
1287 | +} | ||
1288 | + | ||
1289 | +/* dbtrap insn */ | ||
1290 | +/* brki r16, 0x18; */ | ||
1291 | +static const unsigned long microblaze_breakpoint = 0xba0c0018; | ||
1292 | +#define microblaze_breakpoint_len 4 | ||
1293 | + | ||
1294 | +static int | ||
1295 | +microblaze_breakpoint_at (CORE_ADDR where) | ||
1296 | +{ | ||
1297 | + unsigned long insn; | ||
1298 | + | ||
1299 | + (*the_target->read_memory) (where, (unsigned char *) &insn, 4); | ||
1300 | + if (insn == microblaze_breakpoint) | ||
1301 | + return 1; | ||
1302 | + /* If necessary, recognize more trap instructions here. GDB only uses the | ||
1303 | + one. */ | ||
1304 | + return 0; | ||
1305 | +} | ||
1306 | + | ||
1307 | +static CORE_ADDR | ||
1308 | +microblaze_reinsert_addr (struct regcache *regcache) | ||
1309 | +{ | ||
1310 | + unsigned long pc; | ||
1311 | + collect_register_by_name (regcache, "r15", &pc); | ||
1312 | + return pc; | ||
1313 | +} | ||
1314 | + | ||
1315 | +#ifdef HAVE_PTRACE_GETREGS | ||
1316 | + | ||
1317 | +static void | ||
1318 | +microblaze_collect_ptrace_register (struct regcache *regcache, int regno, char *buf) | ||
1319 | +{ | ||
1320 | + int size = register_size (regno); | ||
1321 | + | ||
1322 | + memset (buf, 0, sizeof (long)); | ||
1323 | + | ||
1324 | + if (size < sizeof (long)) | ||
1325 | + collect_register (regcache, regno, buf + sizeof (long) - size); | ||
1326 | + else | ||
1327 | + collect_register (regcache, regno, buf); | ||
1328 | +} | ||
1329 | + | ||
1330 | +static void | ||
1331 | +microblaze_supply_ptrace_register (struct regcache *regcache, | ||
1332 | + int regno, const char *buf) | ||
1333 | +{ | ||
1334 | + int size = register_size (regno); | ||
1335 | + | ||
1336 | + if (regno == 0) { | ||
1337 | + unsigned long regbuf_0 = 0; | ||
1338 | + /* clobbering r0 so that it is always 0 as enforced by hardware */ | ||
1339 | + supply_register (regcache, regno, (const char*)®buf_0); | ||
1340 | + } else { | ||
1341 | + if (size < sizeof (long)) | ||
1342 | + supply_register (regcache, regno, buf + sizeof (long) - size); | ||
1343 | + else | ||
1344 | + supply_register (regcache, regno, buf); | ||
1345 | + } | ||
1346 | +} | ||
1347 | + | ||
1348 | +/* Provide only a fill function for the general register set. ps_lgetregs | ||
1349 | + will use this for NPTL support. */ | ||
1350 | + | ||
1351 | +static void microblaze_fill_gregset (struct regcache *regcache, void *buf) | ||
1352 | +{ | ||
1353 | + int i; | ||
1354 | + | ||
1355 | + for (i = 0; i < 32; i++) | ||
1356 | + microblaze_collect_ptrace_register (regcache, i, (char *) buf + microblaze_regmap[i]); | ||
1357 | +} | ||
1358 | + | ||
1359 | +static void | ||
1360 | +microblaze_store_gregset (struct regcache *regcache, const void *buf) | ||
1361 | +{ | ||
1362 | + int i; | ||
1363 | + | ||
1364 | + for (i = 0; i < 32; i++) | ||
1365 | + supply_register (regcache, i, (char *) buf + microblaze_regmap[i]); | ||
1366 | +} | ||
1367 | + | ||
1368 | +#endif /* HAVE_PTRACE_GETREGS */ | ||
1369 | + | ||
1370 | +struct regset_info target_regsets[] = { | ||
1371 | +#ifdef HAVE_PTRACE_GETREGS | ||
1372 | + { PTRACE_GETREGS, PTRACE_SETREGS, 0, sizeof (elf_gregset_t), GENERAL_REGS, microblaze_fill_gregset, microblaze_store_gregset }, | ||
1373 | + { 0, 0, 0, -1, -1, NULL, NULL }, | ||
1374 | +#endif /* HAVE_PTRACE_GETREGS */ | ||
1375 | + { 0, 0, 0, -1, -1, NULL, NULL } | ||
1376 | +}; | ||
1377 | + | ||
1378 | +struct linux_target_ops the_low_target = { | ||
1379 | + init_registers_microblaze, | ||
1380 | + microblaze_num_regs, | ||
1381 | + microblaze_regmap, | ||
1382 | + NULL, | ||
1383 | + microblaze_cannot_fetch_register, | ||
1384 | + microblaze_cannot_store_register, | ||
1385 | + NULL, /* fetch_register */ | ||
1386 | + microblaze_get_pc, | ||
1387 | + microblaze_set_pc, | ||
1388 | + (const unsigned char *) µblaze_breakpoint, | ||
1389 | + microblaze_breakpoint_len, | ||
1390 | + microblaze_reinsert_addr, | ||
1391 | + 0, | ||
1392 | + microblaze_breakpoint_at, | ||
1393 | + NULL, | ||
1394 | + NULL, | ||
1395 | + NULL, | ||
1396 | + NULL, | ||
1397 | + microblaze_collect_ptrace_register, | ||
1398 | + microblaze_supply_ptrace_register, | ||
1399 | +}; | ||
1400 | diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c | ||
1401 | index daa7ddf7e4d..5748556a556 100644 | ||
1402 | --- a/gdb/microblaze-linux-tdep.c | ||
1403 | +++ b/gdb/microblaze-linux-tdep.c | ||
1404 | @@ -37,6 +37,22 @@ | ||
1405 | #include "tramp-frame.h" | ||
1406 | #include "linux-tdep.h" | ||
1407 | |||
1408 | +static int microblaze_debug_flag = 0; | ||
1409 | + | ||
1410 | +static void | ||
1411 | +microblaze_debug (const char *fmt, ...) | ||
1412 | +{ | ||
1413 | + if (microblaze_debug_flag) | ||
1414 | + { | ||
1415 | + va_list args; | ||
1416 | + | ||
1417 | + va_start (args, fmt); | ||
1418 | + printf_unfiltered ("MICROBLAZE LINUX: "); | ||
1419 | + vprintf_unfiltered (fmt, args); | ||
1420 | + va_end (args); | ||
1421 | + } | ||
1422 | +} | ||
1423 | + | ||
1424 | static int | ||
1425 | microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, | ||
1426 | struct bp_target_info *bp_tgt) | ||
1427 | @@ -50,13 +66,20 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, | ||
1428 | /* Determine appropriate breakpoint contents and size for this address. */ | ||
1429 | bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen); | ||
1430 | |||
1431 | + /* Make sure we see the memory breakpoints. */ | ||
1432 | + scoped_restore restore_memory | ||
1433 | + = make_scoped_restore_show_memory_breakpoints (1); | ||
1434 | + | ||
1435 | val = target_read_memory (addr, old_contents, bplen); | ||
1436 | |||
1437 | /* If our breakpoint is no longer at the address, this means that the | ||
1438 | program modified the code on us, so it is wrong to put back the | ||
1439 | old value. */ | ||
1440 | if (val == 0 && memcmp (bp, old_contents, bplen) == 0) | ||
1441 | - val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen); | ||
1442 | + { | ||
1443 | + val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen); | ||
1444 | + microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr); | ||
1445 | + } | ||
1446 | |||
1447 | return val; | ||
1448 | } | ||
1449 | @@ -129,6 +152,10 @@ microblaze_linux_init_abi (struct gdbarch_info info, | ||
1450 | /* Trampolines. */ | ||
1451 | tramp_frame_prepend_unwinder (gdbarch, | ||
1452 | µblaze_linux_sighandler_tramp_frame); | ||
1453 | + | ||
1454 | + /* Enable TLS support. */ | ||
1455 | + set_gdbarch_fetch_tls_load_module_address (gdbarch, | ||
1456 | + svr4_fetch_objfile_link_map); | ||
1457 | } | ||
1458 | |||
1459 | void _initialize_microblaze_linux_tdep (); | ||
1460 | diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c | ||
1461 | index 3d5dd669341..3e8e8fe35b9 100644 | ||
1462 | --- a/gdb/microblaze-tdep.c | ||
1463 | +++ b/gdb/microblaze-tdep.c | ||
1464 | @@ -128,7 +128,38 @@ microblaze_fetch_instruction (CORE_ADDR pc) | ||
1465 | constexpr gdb_byte microblaze_break_insn[] = MICROBLAZE_BREAKPOINT; | ||
1466 | |||
1467 | typedef BP_MANIPULATION (microblaze_break_insn) microblaze_breakpoint; | ||
1468 | - | ||
1469 | +static int | ||
1470 | +microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch, | ||
1471 | + struct bp_target_info *bp_tgt) | ||
1472 | +{ | ||
1473 | + CORE_ADDR addr = bp_tgt->placed_address; | ||
1474 | + const unsigned char *bp; | ||
1475 | + int val; | ||
1476 | + int bplen; | ||
1477 | + gdb_byte old_contents[BREAKPOINT_MAX]; | ||
1478 | + | ||
1479 | + /* Determine appropriate breakpoint contents and size for this address. */ | ||
1480 | + bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen); | ||
1481 | + if (bp == NULL) | ||
1482 | + error (_("Software breakpoints not implemented for this target.")); | ||
1483 | + | ||
1484 | + /* Make sure we see the memory breakpoints. */ | ||
1485 | + scoped_restore restore_memory | ||
1486 | + = make_scoped_restore_show_memory_breakpoints (1); | ||
1487 | + | ||
1488 | + val = target_read_memory (addr, old_contents, bplen); | ||
1489 | + | ||
1490 | + /* If our breakpoint is no longer at the address, this means that the | ||
1491 | + program modified the code on us, so it is wrong to put back the | ||
1492 | + old value. */ | ||
1493 | + if (val == 0 && memcmp (bp, old_contents, bplen) == 0) | ||
1494 | + { | ||
1495 | + val = target_write_raw_memory (addr, bp_tgt->shadow_contents, bplen); | ||
1496 | + microblaze_debug ("microblaze_linux_memory_remove_breakpoint writing back to memory at addr 0x%lx\n", addr); | ||
1497 | + } | ||
1498 | + | ||
1499 | + return val; | ||
1500 | +} | ||
1501 | |||
1502 | /* Allocate and initialize a frame cache. */ | ||
1503 | |||
1504 | @@ -716,6 +747,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) | ||
1505 | microblaze_breakpoint::kind_from_pc); | ||
1506 | set_gdbarch_sw_breakpoint_from_kind (gdbarch, | ||
1507 | microblaze_breakpoint::bp_from_kind); | ||
1508 | + set_gdbarch_memory_remove_breakpoint (gdbarch, microblaze_linux_memory_remove_breakpoint); | ||
1509 | |||
1510 | set_gdbarch_frame_args_skip (gdbarch, 8); | ||
1511 | |||
1512 | @@ -756,4 +788,5 @@ When non-zero, microblaze specific debugging is enabled."), | ||
1513 | NULL, | ||
1514 | &setdebuglist, &showdebuglist); | ||
1515 | |||
1516 | + | ||
1517 | } | ||
1518 | diff --git a/gdb/microblaze-tdep.h b/gdb/microblaze-tdep.h | ||
1519 | index 4d90e8785dc..53fcb2297e6 100644 | ||
1520 | --- a/gdb/microblaze-tdep.h | ||
1521 | +++ b/gdb/microblaze-tdep.h | ||
1522 | @@ -118,6 +118,8 @@ struct microblaze_frame_cache | ||
1523 | |||
1524 | /* MICROBLAZE_BREAKPOINT defines the breakpoint that should be used. | ||
1525 | Only used for native debugging. */ | ||
1526 | -#define MICROBLAZE_BREAKPOINT {0xb9, 0xcc, 0x00, 0x60} | ||
1527 | +#define MICROBLAZE_BREAKPOINT {0xba, 0x0c, 0x00, 0x18} | ||
1528 | +#define MICROBLAZE_BREAKPOINT_LE {0x18, 0x00, 0x0c, 0xba} | ||
1529 | + | ||
1530 | |||
1531 | #endif /* microblaze-tdep.h */ | ||
1532 | diff --git a/gdb/regformats/reg-microblaze.dat b/gdb/regformats/reg-microblaze.dat | ||
1533 | new file mode 100644 | ||
1534 | index 00000000000..bd8a4384424 | ||
1535 | --- /dev/null | ||
1536 | +++ b/gdb/regformats/reg-microblaze.dat | ||
1537 | @@ -0,0 +1,41 @@ | ||
1538 | +name:microblaze | ||
1539 | +expedite:r1,pc | ||
1540 | +32:r0 | ||
1541 | +32:r1 | ||
1542 | +32:r2 | ||
1543 | +32:r3 | ||
1544 | +32:r4 | ||
1545 | +32:r5 | ||
1546 | +32:r6 | ||
1547 | +32:r7 | ||
1548 | +32:r8 | ||
1549 | +32:r9 | ||
1550 | +32:r10 | ||
1551 | +32:r11 | ||
1552 | +32:r12 | ||
1553 | +32:r13 | ||
1554 | +32:r14 | ||
1555 | +32:r15 | ||
1556 | +32:r16 | ||
1557 | +32:r17 | ||
1558 | +32:r18 | ||
1559 | +32:r19 | ||
1560 | +32:r20 | ||
1561 | +32:r21 | ||
1562 | +32:r22 | ||
1563 | +32:r23 | ||
1564 | +32:r24 | ||
1565 | +32:r25 | ||
1566 | +32:r26 | ||
1567 | +32:r27 | ||
1568 | +32:r28 | ||
1569 | +32:r29 | ||
1570 | +32:r30 | ||
1571 | +32:r31 | ||
1572 | +32:pc | ||
1573 | +32:msr | ||
1574 | +32:ear | ||
1575 | +32:esr | ||
1576 | +32:fsr | ||
1577 | +32:slr | ||
1578 | +32:shr | ||
1579 | -- | ||
1580 | 2.25.1 | ||
1581 | |||