aboutsummaryrefslogtreecommitdiff
path: root/gdb/Makefile.in
AgeCommit message (Collapse)AuthorFilesLines
2018-11-15Move copy_bitwise unittests to own unittest fileJoel Brobecker1-0/+1
Now that copy_bitwise has been made public, and considering that its implementation could move to a different file again in the future, this patch moves its unittest to its own file in gdb/unittests. gdb/ChangeLog: * unittests/copy_bitwise-selftests.c: New file. * utils.c (selftests::bits_to_str, selftests::check_copy_bitwise) (selftests::copy_bitwise_tests): Delete, moving this code to unittests/copy_bitwise-selftests.c instead. (_initialize_utils): Do not register copy_bitwise tests. * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/copy_bitwise-selftests.c. Tested on x86_64-linux using the official testsuite, but also by verifying that "maintenance selftests" still runs the copy_bitwise tests.
2018-11-02(Ada) Add ravenscar tasking support on AArch64Joel Brobecker1-0/+3
This patch adds support for debugging Ravenscar tasks, similar to what is done for ppc and sparc. gdb/ChangeLog: * aarch64-ravenscar-thread.h, aarch64-ravenscar-thread.c: New files. * aarch64-tdep.c: #include "aarch64-ravenscar-thread.h". (aarch64_gdbarch_init): Add call to register_aarch64_ravenscar_ops. * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-ravenscar-thread.o. (HFILES_NO_SRCDIR): Add aarch64-ravenscar-thread.h. (ALLDEPFILES): Add aarch64-ravenscar-thread.c. * configure.tgt (cpu_obs) [aarch64*-*-*]: Add ravenscar-thread.o and aarch64-ravenscar-thread.o. * NEWS: Add entry documenting Ravenscar tasking support on AArch64 ELF.
2018-11-01arm-pikeos: software single stepJerome Guitton1-0/+1
On ARM, PikeOS does not support hardware single step, causing various semi-random errors when trying to next/step over some user code. So this patch changes this target to use software-single-step instead. The challenge is that, up to now, the PikeOS target was in all respects identical to a baremetal target as far as GDB was concerned, meaning we were using the baremetal osabi for this target too. This is no longer possible, and we need to introduce a new OSABI variant. Unfortunately, there isn't anything in the object file that would allow us to differentiate between the two platforms. So we have to rely on a heuristic instead, where we look for some known symbols that are required in a PikeOS application (these symbols are expected to be defined by the default linker script, and correspond to routines used to allocate the application stack). For the long run, the hope is that the stub implementation provided by PikeOS is enhanced so that it includes vContSupported+ to the $qSupported query, and then that the reply to the "vCont?" query only return support for "continue" operations (thus exclusing "step" operations). We could then use that information to reliably determine at connection time that the target does not support single-stepping and therefore automatically turn software single-stepping automatically based on it. gdb/ChangeLog: * defs.h (enum gdb_osabi): Add GDB_OSABI_PIKEOS. * osabi.c (gdb_osabi_names): Add name for GDB_OSABI_PIKEOS. * arm-pikeos-tdep.c: New file. * configure.tgt: Add arm-pikeos-tdep.o to the case of ARM embedded system. * Makefile.in (ALL_TARGET_OBS): Add arm-pikeos-tdep.o. Tested on arm-pikeos and arm-elf using AdaCore's testsuite. We also evaluated it on armhf-linux as a cross platform.
2018-10-27Move mkdir_recursive to common/filestuff.cTom Tromey1-0/+1
This moves mkdir_recursive from dwarf-index-cache.c to common/filestuff.c, and also changes it to return a boolean that says whether or not it worked. gdb/ChangeLog 2018-10-27 Tom Tromey <tom@tromey.com> * unittests/mkdir-recursive-selftests.c: New file. * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/mkdir-recursive-selftests.c. * dwarf-index-cache.c (mkdir_recursive): Move to common/filestuff.c. (index_cache::store): Check return value of mkdir_recursive. (create_dir_and_check, test_mkdir_recursive): Move to new file. (_initialize_index_cache): Don't register test. * common/filestuff.h (mkdir_recursive): Declare. * common/filestuff.c (mkdir_recursive): Move from dwarf-index-cache.c. Return bool.
2018-10-23GDB: New target s12zJohn Darrington1-0/+1
gdb/ * configure.tgt: Add configuration for s12z. * s12z-tdep.c: New file. * NEWS: Mention new target.
2018-10-08Add native target for FreeBSD/riscv.John Baldwin1-0/+1
gdb/ChangeLog: * Makefile.in (ALLDEPFILES): Add riscv-fbsd-nat.c. * NEWS: Mention new FreeBSD/riscv native configuration. * configure.host: Add riscv*-*-freebsd*. * configure.nat: Likewise. * riscv-fbsd-nat.c: New file. gdb/doc/ChangeLog: * gdb.texinfo (Contributors): Add SRI International and University of Cambridge for FreeBSD/riscv.
2018-10-08Add FreeBSD/riscv architecture.John Baldwin1-0/+3
Support for collecting and supplying general purpose and floating point register sets is provided along with signal frame unwinding. FreeBSD only supports RV64 currently, so while some provision is made for RV32 in the general-purpose register set, the changes have only been tested on RV64. gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add riscv-fbsd-tdep.o. (HFILES_NO_SRCDIR): Add riscv-fbsd-tdep.h. (ALLDEPFILES): Add riscv-fbsd-tdep.c. * NEWS: Mention new FreeBSD/riscv target. * configure.tgt: Add riscv*-*-freebsd*. * riscv-fbsd-tdep.c: New file. * riscv-fbsd-tdep.h: New file.
2018-10-06Do not accidentally include in-tree readline headersTom Tromey1-2/+1
PR build/17077 points out that when --with-system-readline is given, gdb will still pick up the in-tree readline headers. Normally this is not a big problem, because readline is very stable and so the ABI does not change much; but it is clearly a bug to do this, and could bite at some point. The basic problem is that OPCODES_CFLAGS uses -I$(OPCODES_SRC)/.. so that #include "opcodes/..." works. However, this also makes it so the This patch fixes the problem in a mildly hacky way: remove the offending -I option, and change gdb to use #include "../opcodes/..." instead. This continues to make it clear where the header comes from, without allowing incorrect behavior. Tested by rebuilding and then looking at the *.Po files. gdb/ChangeLog 2018-10-06 Tom Tromey <tom@tromey.com> PR build/17077: * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..". * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c, microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in #include.
2018-10-02Allow remote debugging over a Unix local domain socket.John Darrington1-0/+1
Extend the "target remote" and "target extended-remote" commands such that if the filename provided is a Unix local domain (AF_UNIX) socket, then it'll be treated as such, instead of trying to open it as if it were a character device. gdb/ChangeLog: * NEWS: Mention changed commands. * ser-uds.c: New file. * configure.ac (SER_HARDWIRE): Add ser-uds.o. * configure: Regenerate. * Makefile.in: Add new file. * serial.c (serial_open): Check if filename is a socket and lookup the appropriate interface accordingly. gdb/doc/ChangeLog: * gdb.texinfo (Remote Connection Commands): Describe the changes to target remote and target extended-remote relating to Unix domain sockets.
2018-10-01Move duplicated code to common/gdb_proc_service.hGary Benson1-0/+1
This commit moves now-identical code from gdb/gdb_proc_service.h and gdb/gdbserver/gdb_proc_service.h into the new shared file gdb/common/gdb_proc_service.h. gdb/ChangeLog: * common/gdb_proc_service.h: New file, factored out from... * gdb_proc_service.h: Moved common code to the above file. * Makefile.in (HFILES_NO_SRCDIR): Add the above new file. gdb/gdbserver/ChangeLog: * gdb_proc_service.h: Moved common code to common/gdb_proc_service.h.
2018-09-20Fold i386-v4-nat.c into i386-sol2-nat.cRainer Orth1-1/+0
I've been carrying around the following patch for some time. I noticed that both i386-sol2-nat.c and i386-v4-nat.c are Solaris-only now and it seems confusing to carry both around. So this patch merges i386-v4-nat.c into i386-sol2-nat.c, simplifying it in a couple of places, like removing checks for macros that are always defined. Tested on 64-bit Solaris 11.5/x86 (amd64-pc-solaris2.11) and 32-bit Solaris 11.3/x86 (i386-pc-solaris2.11) half a year ago. * i386-v4-nat.c (regmap, supply_gregset, fill_gregset) (supply_fpregset, fill_fpregset): Move ... * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here. Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards. Remove references to ioctl-based procfs. Include <sys/reg.h>. Remove PR_MODEL_NATIVE guards. * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o. * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
2018-09-16Sort objects in gdb and gdbserver MakefilesSimon Marchi1-1/+1
Tom mentioned this a while ago, as a way to give you a cheap sense of progression in your build, as all object files will be built alphabetically (including the directory part). I tried it and I think it's nice. gdb/ChangeLog: * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS. gdb/gdbserver/ChangeLog: * Makefile.in (gdbserver$(EXEEXT)): Sort OBS. (gdbreplay$(EXEEXT)): Sort GDBREPLAY_OBS. ($(IPA_LIB)): Sort IPA_OBJS.
2018-09-10Fix "make install-strip" failure to install gdb-add-index.shEli Zaretskii1-2/+2
gdb/ChangeLog: 2018-09-10 Eli Zaretskii <eliz@gnu.org> * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install gdb-add-index.sh. Don't append $(EXEEXT) to the script, as it is not a program.
2018-09-04Simplify ada-exp.o ruleTom Tromey1-7/+1
The ada-exp.o rule no longer needs to pass -Wno-old-style-definition to the compiler, as this option has no meaning in C++. So, This patch simplifies the explicit ada-exp.o rule in the Makefile. The rule is still needed because, according to the comment, ada-exp.c may appear in the srcdir. gdb/ChangeLog 2018-09-04 Tom Tromey <tom@tromey.com> * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove. (ada-exp.o): Update.
2018-09-04Remove unneeded explicit .o targetsTom Tromey1-16/+0
Makefile.in had special cases to compile printcmd.o and target-float.o with a different set of warnings. However, this is no longer required, so this patch removes those rules. gdb/ChangeLog 2018-09-04 Tom Tromey <tom@tromey.com> * Makefile.in (printcmd.o, target-float.o): Remove. (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
2018-09-04Remove obsolete comments from MakefilesTom Tromey1-5/+0
This removes an obsolete comment from Makefile.in. This was copied into gnulib/Makefile.in, so this removes that comment as well. gdb/ChangeLog 2018-09-04 Tom Tromey <tom@tromey.com> * gnulib/Makefile.in: Remove obsolete comment. * Makefile.in: Remove obsolete comment.
2018-08-29C++ compile supportKeith Seitz1-0/+4
This patch adds *basic* support for C++ to the compile feature. It does most simple type conversions, including everything that C compile does and your basic "with-classes" type of C++. I've written a new compile-support.exp support file which adds a new test facility for automating and simplifying "compile print" vs "compile code" testing. See testsuite/lib/compile-support.exp and CompileExpression for more on that. The tests use this facility extensively. This initial support has several glaring omissions: - No template support at all I have follow-on patches for this, but they add much complexity to this "basic" support. Consequently, they will be submitted separately. - Cannot print functions The code template needs tweaking, and I simply haven't gotten to it yet. - So-called "special function" support is not included Using constructors, destructors, operators, etc will not work. I have follow-on patches for that, but they require some work because of the recent churn in symbol searching. - There are several test suite references to "compile/1234" bugs. I will file bugs and update the test suite's bug references before pushing these patches. The test suite started as a copy of the original C-language support, but I have written tests to exercise the basic functionality of the plug-in. I've added a new option for outputting debug messages for C++ type-conversion ("debug compile-cplus-types"). gdb/ChangeLog: * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c and compile-cplus-types.c. (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h. * c-lang.c (cplus_language_defn): Set C++ compile functions. * c-lang.h (cplus_get_compile_context, cplus_compute_program): Declare. * compile/compile-c-support.c: Include compile-cplus.h. (load_libcompile): Templatize. (get_compile_context): "New" function. (c_get_compile_context): Use get_compile_context. (cplus_get_compile_context): New function. (cplus_push_user_expression, cplus_pop_user_expression) (cplus_add_code_header, cplus_add_input, cplus_compile_program) (cplus_compute_program): Define new structs/functions. * compile/compile-cplus-symmbols.c: New file. * compile/compile-cplus-types.c: New file. * compile/compile-cplus.h: New file. * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE): Declare. * compile/compile-object-load.c (get_out_value_type): Use strncmp_iw when comparing symbol names. (compile_object_load): Add mst_bss and mst_data. * compile/compile.c (_initialize_compile): Remove -Wno-implicit-function-declaration from `compile_args'. * compile/gcc-cp-plugin.h: New file. * NEWS: Mention C++ compile support and new debug options. gdb/testsuite/ChangeLog: * gdb.compile/compile-cplus-anonymous.cc: New file. * gdb.compile/compile-cplus-anonymous.exp: New file. * gdb.compile/compile-cplus-array-decay.cc: New file. * gdb.compile/compile-cplus-array-decay.exp: New file. * gdb.compile/compile-cplus-inherit.cc: New file. * gdb.compile/compile-cplus-inherit.exp: New file. * gdb.compile/compile-cplus-member.cc: New file. * gdb.compile/compile-cplus-member.exp: New file. * gdb.compile/compile-cplus-method.cc: New file. * gdb.compile/compile-cplus-method.exp: New file. * gdb.compile/compile-cplus-mod.c: "New" file. * gdb.compile/compile-cplus-namespace.cc: New file. * gdb.compile/compile-cplus-namespace.exp: New file. * gdb.compile/compile-cplus-nested.cc: New file. * gdb.compile/compile-cplus-nested.exp: New file. * gdb.compile/compile-cplus-print.c: "New" file. * gdb.compile/compile-cplus-print.exp: "New" file. * gdb.compile/compile-cplus-virtual.cc: New file. * gdb.compile/compile-cplus-virtual.exp: New file. * gdb.compile/compile-cplus.c: "New" file. * gdb.compile/compile-cplus.exp: "New" file. * lib/compile-support.exp: New file. doc/ChangeLog: * gdb.texinfo (Compiling and injecting code in GDB): Document set/show "compile-oracle" and "compile-cplus-types" commands.
2018-08-28Add support for new target 'csky'.Hafiz Abid Qadeer1-0/+5
2018-08-28 Jiangshuai Li <jiangshuai_li@c-sky.com> Hafiz Abid Qadeer <abidh@codesourcery.com> Don Breazeal <donb@codesourcery.com> * csky-linux-tdep.c: New file. * csky-tdep.c: Likewise. * csky-tdep.h: Likewise. * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and csky-tdep.o. (HFILES_NO_SRCDIR): Add csky-tdep.h. (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c * configure.tgt: Add csky support.
2018-08-10Add a C++ wrapper for GCC C plug-inKeith Seitz1-0/+1
This patch introduces a new class which wraps the GCC C compile plug-in. It is a little unfortunate that this all happened in between the time that GCC moved to C++ and GDB moved to C++, leaving us with an ABI promise to support a C-like interface. The hope is to isolate GDB from some of this should it change in the future. Broadly, what this does is replace calls like: C_CTX (context)->c_ops->operation (C_CTX (context), ...); with calls that now look like: context->c_plugin->operation (...); This API will be further refined in following patches when struct compile_instance/compile_c_instance are changed into classes. gdb/ChangeLog: * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h. * compile/compile-c-types.c: Define GCC_METHODN macros and include gcc-c-fe.def to define C plugin. (delete_instance): Delete `c_plugin'. (new_compile_instance): Initialize `c_plugin'. * compile/compile-c.h: Include gcc_c_plugin.h. (struct compile_c_instance) <c_plugin>: New member. * gcc-c-plugin.h: New file. Update all callers with API change.
2018-08-10Move C-related declarations to compile-c.hKeith Seitz1-3/+5
This patch simply moves a bunch of C language-related declarations from the various compile header files into a new C-specific header, compile-c.h. gdb/ChangeLog: * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ... (HFILES_NO_SRCDIR): ... to here. Add compile-internal.h and compile-c.h. * compile/compile-c-support.c: Include compile-c.h. * compile/compile-c-symbols.c: Include compile-c.h. (generate_c_for_variable_locations): Update comment. * compile/compile-c-types.c: Include compile-c.h. * compile/compile-c.h: New file -- moved C language declarations from other files here. * compile/compile-internal.h: Do not include hashtab.h or common/enum-flags.h. (gcc_qualifiers_flags, struct compile_c_instance, C_CTX) (gcc_convert_symbol, gcc_symbol_address) (generate_c_for_variable_locations, c_get_mode_for_size) (c_get_range_decl_name): Definitions moved to compile-c.h. * compile/compile-loc2c.c: Include compile-c.h.
2018-08-09RISC-V: Add configure support for riscv*-linux*.Jim Wilson1-0/+3
This adds the target and native configure support, and the NEWS entries for the new target and native configurations. gdb/ * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c. (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c. * NEWS: Mention new GNU/Linux RISC-V target. * configure.host: Add riscv*-*-linux*. * configure.nat: Add riscv*. * configure.tgt: Add riscv*-*-linux*.
2018-08-07Allow CPPFLAGS to be set on the make command lineTom Tromey1-1/+2
While looking into PR build/8751 (which seems to be fixed), I noticed that it's not possible to change CPPFLAGS for gdb on the "make" command line. It's reasonable to want to do this sometimes, and I think this patch should suffice. gdb/ChangeLog 2018-08-07 Tom Tromey <tom@tromey.com> * Makefile.in (CPPFLAGS): New variable. (INTERNAL_CPPFLAGS): Use it.
2018-08-07Add DWARF index cacheSimon Marchi1-0/+2
New in v3: - Remove things related to the dwarf-5 format. - Fix compilation on mingw (scoped_mmap.c). GDB can generate indexes for DWARF debug information, which, when integrated in the original binary, can speed up loading object files. This can be done using the gdb-add-index script or directly by the linker itself. However, not many people know about this. And even among those who do, because it requires additional steps, I don't know a lot of people who actually go through that trouble. To help make using the DWARF index more transparent, this patch introduces a DWARF index cache. When enabled, loading an index-less binary in GDB will automatically save an index file in ~/.cache/gdb. When loading that same object file again, the index file will be looked up and used to load the DWARF index. You therefore get the benefit of the DWARF index without having to do additional manual steps or modifying your build system. When an index section is already present in the file, GDB will prefer that one over looking up the cache. When doing my edit-compile-debug cycle, I often debug multiple times the same build, so the cache helps reducing the load time of the debug sessions after the first one. - The saved index file is exactly the same as the output of the "save gdb-index" command. It is therefore the exact same content that would be found in the .gdb_index or .debug_names section. We just leave it as a standalone file instead of merging it in the binary. - The cache is just a directory with files named after the object file's build-id. It is not possible to save/load the index for an object file without build-id in the cache. - The cache uses the gdb index format. The problem with the dwarf-5 format is that we can generate an addendum to the .debug_str section that you're supposed to integrate to the original binary. This complicates a little bit loading the data from the cached index files, so I would leave this for later. - The size taken up by ~/.cache/gdb is not limited. I was thinking we could add configurable limit (like ccache does), but that would come after. Also, maybe a command to flush the cache. - The cache is disabled by default. I think once it's been out there and tested for a while, it could be turned on by default, so that everybody can enjoy it. - The code was made to follow the XDG specification: if the XDG_CACHE_HOME environment variable, it is used, otherwise it falls back to ~/.cache/gdb. It is possible to change it using "set index-cache directory". On other OSes than GNU/Linux, ~/.cache may not be the best place to put such data. On macOS it should probably default to ~/Library/Caches/... On Windows, %LocalAppData%/... I don't intend to do this part, but further patches are welcome. - I think that we need to be careful that multiple instances of GDB don't interfere with each other (not far fetched at all if you run GDB in some automated script) and the cache is always coherent (either the file is not found, or it is found and entirely valid). Writing the file directly to its final location seems like a recipe for failure. One GDB could read a file in the index while it is being written by another GDB. To mitigate this, I made write_psymtabs_to_index write to temporary files and rename them once it's done. Two GDB instances writing the index for the same file should not step on each other's toes (the last file to be renamed will stay). A GDB looking up a file will only see a complete file or no file. Also, if GDB crashes while generating the index file, it will leave a work-in-progress file, but it won't be picked up by other instances looking up in the cache. gdb/ChangeLog: * common/pathstuff.h (get_standard_cache_dir): New. * common/pathstuff.c (get_standard_cache_dir): New. * build-id.h (build_id_to_string): New. * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX, DEBUG_STR_SUFFIX): Move to here. * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX, DEBUG_STR_SUFFIX): Move from there. (write_psymtabs_to_index): Make non-static, add basename parameter. Write to temporary files, rename when done. (save_gdb_index_command): Adjust call to write_psymtabs_to_index. * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New field. * dwarf2read.c (dwz_file) <index_cache_res>: New field. (get_gdb_index_contents_from_cache): New. (get_gdb_index_contents_from_cache_dwz): New. (dwarf2_initialize_objfile): Read index from cache. (dwarf2_build_psymtabs): Save to index. * dwarf-index-cache.h: New file. * dwarf-index-cache.c: New file. * dwarf-index-write.h: New file. gdb/testsuite/ChangeLog: * boards/index-cache-gdb.exp: New file. * gdb.dwarf2/index-cache.exp: New file. * gdb.dwarf2/index-cache.c: New file. * gdb.base/maint.exp: Check if we are using the index cache.
2018-08-07Introduce mmap_file functionSimon Marchi1-0/+1
New in v2: - As Tom pointed out, we don't need to keep the fd around after mmapping. This simplifies things quite a bit, since we don't need a new class. It's now just a function that returns a scoped_mmap. We already have scoped_mmap, which is a thin RAII layer over mmap. If one simply wants to mmap an entire file for reading, it takes a bit of boilerplate. This patch introduces the mmap_file function to make this easier. gdb/ChangeLog: * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c. * common/scoped_mmap.c: New file. * common/scoped_mmap.h (destroy): New method. (~scoped_mmap, reset): Use destroy. (scoped_mmap): New move constructor. (mmap_file): New declaration. * unittests/scoped_mmap-selftests.c (test_normal, test_invalid_filename, run_tests): New functions. (_initialize_scoped_mmap_selftests): Register selftest.
2018-07-20Introduce buildsym-legacy.hTom Tromey1-0/+2
This introduces a new header, buildsym-legacy.h, and changes all the symbol readers to use it. The idea is to put the function-based interface, that relies on the buildsym_compunit global, into a separate header. Then when a symbol reader is updated to use the new interface, it can simply not include buildsym-legacy.h, so it's easy to be sure that the new API is used everywhere. gdb/ChangeLog 2018-07-20 Tom Tromey <tom@tromey.com> * xcoffread.c: Include buildsym-legacy.h. * windows-nat.c: Include buildsym-legacy.h. * stabsread.c: Include buildsym-legacy.h. * mdebugread.c: Include buildsym-legacy.h. * buildsym-legacy.h: New file. * buildsym-legacy.c: New file, from buildsym.c. * go32-nat.c: Include buildsym-legacy.h. * dwarf2read.c: Include buildsym-legacy.h. * dbxread.c: Include buildsym-legacy.h. * cp-namespace.c: Include buildsym-legacy.h. * coffread.c: Include buildsym-legacy.h. * buildsym.h: Move some contents to buildsym-legacy.h. * buildsym.c: Include buildsym-legacy.h. Move many functions to buildsym-legacy.c. * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
2018-07-17Remove --disable-gdbcliTom Tromey1-4/+2
I think it doesn't really make sense to allow building gdb without the CLI. Perhaps at one time this was a goal, but libgdb is long gone and the CLI is intrinsic to gdb. So, this patch removes the implementation of this configure option. It is still recognized (this is autoconf's default), but does nothing. This simplifies configure.ac and Makefile.in a bit. Tested by rebuilding. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * configure.ac: Remove --disable-gdbcli. * configure: Rebuild. * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS) (SUBDIR_CLI_CFLAGS): Remove. (SFILES): Use SUBDIR_CLI_SRCS. (COMMON_OBS): Use SUBDIR_CLI_OBS.
2018-07-12Add a self-test for cli-utils.cPhilippe Waroquiers1-0/+1
tests added for: * number_or_range_parser In particular, it tests the cur_tok when parsing is finished. * parse_flags * parse_flags_qcs gdb/ChangeLog 2018-07-12 Philippe Waroquiers <philippe.waroquiers@skynet.be> * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/cli-utils-selftests.c * unittests/cli-utils-selftests.c: New file.
2018-07-11Implement IPv6 support for GDB/gdbserverSergio Durigan Junior1-0/+3
This patch implements IPv6 support for both GDB and gdbserver. Based on my research, it is the fourth attempt to do that since 2006. Since I used ideas from all of the previous patches, I also added their authors's names on the ChangeLogs as a way to recognize their efforts. For reference sake, you can find the previous attempts at: https://sourceware.org/ml/gdb-patches/2006-09/msg00192.html https://sourceware.org/ml/gdb-patches/2014-02/msg00248.html https://sourceware.org/ml/gdb-patches/2016-02/msg00226.html The basic idea behind the patch is to start using the new 'getaddrinfo'/'getnameinfo' calls, which are responsible for translating names and addresses in a protocol-independent way. This means that if we ever have a new version of the IP protocol, we won't need to change the code again (or, at least, won't have to change the majority of the code). The function 'getaddrinfo' returns a linked list of possible addresses to connect to. Dealing with multiple addresses proved to be a hard task with the current TCP auto-retry mechanism implemented on ser-tcp:net_open. For example, when gdbserver listened only on an IPv4 socket: $ ./gdbserver --once 127.0.0.1:1234 ./a.out and GDB was instructed to try to connect to both IPv6 and IPv4 sockets: $ ./gdb -ex 'target extended-remote localhost:1234' ./a.out the user would notice a somewhat big delay before GDB was able to connect to the IPv4 socket. This happened because GDB was trying to connect to the IPv6 socket first, and had to wait until the connection timed out before it tried to connect to the IPv4 socket. For that reason, I had to rewrite the main loop and implement a new method for handling multiple connections. After some discussion, Pedro and I agreed on the following algorithm: 1) For each entry returned by 'getaddrinfo', we try to open a socket and connect to it. 2.a) If we have a successful 'connect', we just use that connection. 2.b) If we don't have a successfull 'connect', but if we've got a ECONNREFUSED (meaning the the connection was refused), we keep track of this fact by using a flag. 2.c) If we don't have a successfull 'connect', but if we've got a EINPROGRESS (meaning that the connection is in progress), we perform a 'select' call on the socket until we have a result (either a successful connection, or an error on the socket). 3) If tcp_auto_retry is true, and we haven't gotten a successful connection, and at least one of our attempts failed with ECONNREFUSED, then we wait a little bit (i.e., call 'wait_for_connect'), check to see if there was a timeout/interruption (in which case we bail out), and then go back to (1). After multiple tests, I was able to connect without delay on the scenario described above, and was also able to connect in all other types of scenarios. I also implemented some hostname parsing functions (along with their corresponding unit tests) which are used to help GDB and gdbserver to parse hostname strings provided by the user. These new functions are living inside common/netstuff.[ch]. I've had to do that since IPv6 introduces a new URL scheme, which defines that square brackets can be used to enclose the host part and differentiate it from the port (e.g., "[::1]:1234" means "host ::1, port 1234"). I spent some time thinking about a reasonable way to interpret what the user wants, and I came up with the following: - If the user has provided a prefix that doesn't specify the protocol version (i.e., "tcp:" or "udp:"), or if the user has not provided any prefix, don't make any assumptions (i.e., assume AF_UNSPEC when dealing with 'getaddrinfo') *unless* the host starts with "[" (in which case, assume it's an IPv6 host). - If the user has provided a prefix that does specify the protocol version (i.e., "tcp4:", "tcp6:", "udp4:" or "udp6:"), then respect that. This method doesn't follow strictly what RFC 2732 proposes (that literal IPv6 addresses should be provided enclosed in "[" and "]") because IPv6 addresses still can be provided without square brackets in our case, but since we have prefixes to specify protocol versions I think this is not an issue. Another thing worth mentioning is the new 'GDB_TEST_SOCKETHOST' testcase parameter, which makes it possible to specify the hostname (without the port) to be used when testing GDB and gdbserver. For example, to run IPv6 tests: $ make check-gdb RUNTESTFLAGS='GDB_TEST_SOCKETHOST=tcp6:[::1]' Or, to run IPv4 tests: $ make check-gdb RUNTESTFLAGS='GDB_TEST_SOCKETHOST=tcp4:127.0.0.1' This required a few changes on the gdbserver-base.exp, and also a minimal adjustment on gdb.server/run-without-local-binary.exp. Finally, I've implemented a new testcase, gdb.server/server-connect.exp, which is supposed to run on the native host and perform various "smoke tests" using different connection methods. This patch has been regression-tested on BuildBot and locally, and also built using a x86_64-w64-mingw32 GCC, and no problems were found. gdb/ChangeLog: 2018-07-11 Sergio Durigan Junior <sergiodj@redhat.com> Jan Kratochvil <jan.kratochvil@redhat.com> Paul Fertser <fercerpav@gmail.com> Tsutomu Seki <sekiriki@gmail.com> Pedro Alves <palves@redhat.com> * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add 'unittests/parse-connection-spec-selftests.c'. (COMMON_SFILES): Add 'common/netstuff.c'. (HFILES_NO_SRCDIR): Add 'common/netstuff.h'. * NEWS (Changes since GDB 8.2): Mention IPv6 support. * common/netstuff.c: New file. * common/netstuff.h: New file. * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'. (wait_for_connect): Update comment. New parameter 'gdb::optional<int> sock' instead of 'struct serial *scb'. Use 'sock' directly instead of 'scb->fd'. (try_connect): New function, with code from 'net_open'. (net_open): Rewrite main loop to deal with multiple sockets/addresses. Handle IPv6-style hostnames; implement support for IPv6 connections. * unittests/parse-connection-spec-selftests.c: New file. gdb/gdbserver/ChangeLog: 2018-07-11 Sergio Durigan Junior <sergiodj@redhat.com> Jan Kratochvil <jan.kratochvil@redhat.com> Paul Fertser <fercerpav@gmail.com> Tsutomu Seki <sekiriki@gmail.com> * Makefile.in (SFILES): Add '$(srcdir)/common/netstuff.c'. (OBS): Add 'common/netstuff.o'. (GDBREPLAY_OBS): Likewise. * gdbreplay.c: Include 'wspiapi.h' and 'netstuff.h'. (remote_open): Implement support for IPv6 connections. * remote-utils.c: Include 'netstuff.h', 'filestuff.h' and 'wspiapi.h'. (handle_accept_event): Accept connections from IPv6 sources. (remote_prepare): Handle IPv6-style hostnames; implement support for IPv6 connections. (remote_open): Implement support for printing connections from IPv6 sources. gdb/testsuite/ChangeLog: 2018-07-11 Sergio Durigan Junior <sergiodj@redhat.com> Jan Kratochvil <jan.kratochvil@redhat.com> Paul Fertser <fercerpav@gmail.com> Tsutomu Seki <sekiriki@gmail.com> * README (Testsuite Parameters): Mention new 'GDB_TEST_SOCKETHOST' parameter. * boards/native-extended-gdbserver.exp: Do not set 'sockethost' by default. * boards/native-gdbserver.exp: Likewise. * gdb.server/run-without-local-binary.exp: Improve regexp used for detecting when a remote debugging connection succeeds. * gdb.server/server-connect.exp: New file. * lib/gdbserver-support.exp (gdbserver_default_get_comm_port): Do not prefix the port number with ":". (gdbserver_start): New global GDB_TEST_SOCKETHOST. Implement support for detecting and using it. Add '$debughost_gdbserver' to the list of arguments used to start gdbserver. Handle case when gdbserver cannot resolve a network name. gdb/doc/ChangeLog: 2018-07-11 Sergio Durigan Junior <sergiodj@redhat.com> Jan Kratochvil <jan.kratochvil@redhat.com> Paul Fertser <fercerpav@gmail.com> Tsutomu Seki <sekiriki@gmail.com> * gdb.texinfo (Remote Connection Commands): Add explanation about new IPv6 support. Add new connection prefixes.
2018-07-09Don't mention XM_CDEPS or NAT_CLIBSTom Tromey1-2/+2
Neither XM_CDEPS nor NAT_CLIBS are defined anywhere, so remove the uses. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (CDEPS): Don't mention XM_CDEPS. (CLIBS): Don't mention NAT_CLIBS.
2018-07-09Remove ADD_FILES and ADD_DEPS from Makefile.inTom Tromey1-8/+4
Nothing defines XM_ADD_FILES, TM_ADD_FILES, or NAT_ADD_FILES any more, so consequently ADD_FILES and ADD_DEPS are no longer needed. So, this removes them. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (ADD_FILES, ADD_DEPS): Remove. (LIBGDB_OBS, clean mostlyclean): Update. (gdb$(EXEEXT), insight$(EXEEXT)): Update.
2018-07-09Minimize yacc and lex outputTom Tromey1-12/+5
This minimizes the "make" output from the yacc and lex rules, following the same technique as the rest of the Makefile. The lex rule had a special case to deal with the situation where flex is not available. I don't think this is needed, so I removed it. If flex is truly unavailable, the person building gdb can simply "touch" the output file. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (%.c: %.y): Use ECHO_YACC. (%.c: %.l): Use ECHO_LEX. Just fail if flex not available. * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
2018-07-09Fix exec.c handling in MakefileTom Tromey1-2/+1
exec.c ws handled specially in COMMON_OBS, but there doesn't seem to be a reason for this. This changes the Makefile to treat exec.c as an ordinary source file. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (ALLDEPFILES): Remove exec.c. (COMMON_OBS): Remove exec.o. (COMMON_SFILES): Add exec.c.
2018-07-09Remove lint supportTom Tromey1-11/+0
I don't think anyone uses lint any more, so this removes the support for it from the Makefile. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
2018-07-09Use a stamp file for version.cTom Tromey1-3/+9
This introduces a stamp file for version.c, preventing unnecessary version.o rebuilds. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (clean mostlyclean): Remove stamp-version. (version.c): Depend on stamp-version. (stamp-version): New rule, from version.c rule.
2018-07-09Use a stamp file for init.cTom Tromey1-4/+5
This introduces a stamp file for init.c. This prevents constant rebuilds of init.o, by arranging for init.c to only be modified when its contents change. (FWIW this is a standard idiom in use by Automake and by gdb itself for many years.) gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (init.c): Depend on stamp-init. (stamp-init): New rule, from init.c rule. (clean mostlyclean): Remove stamp-init.
2018-07-09Simplify INIT_FILESTom Tromey1-12/+2
This simplifies the INIT_FILES variable. COMMON_OBS includes CONFIG_OBS and SUBDIR_GCC_COMPILE_OBS, so there's no need to reference CONFIG_OBS or SUBDIR_GCC_COMPILE_SRCS there. Once this is done, it it clear that duplicates can't occur, so remove the duplicate-removing code as well. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (INIT_FILES): Remove CONFIG_SRCS, SUBDIR_GCC_COMPILE_SRCS.
2018-07-09Remove some unused code from init.c build ruleTom Tromey1-8/+0
The init.c build rule has a few sed expressions that aren't necessary any more. This removes them. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (init.c): Remove some unused sed rules.
2018-07-09Remove TSOBS from gdb/Makefile.inTom Tromey1-5/+3
The TSOBS variable doesn't seem to serve a useful purpose in gdb/Makefile.in, so remove it. gdb/ChangeLog 2018-07-09 Tom Tromey <tom@tromey.com> * Makefile.in (TSOBS): Remove. (INIT_FILES): Update. (LIBGDB_OBS): Update. (COMMON_SFILES): Add inflow.c. (SFILES): Remove inflow.c.
2018-06-28Add --enable-codesign to gdb's configureTom Tromey1-0/+7
macOS requires that the gdb executable be signed in order to be able to successfully use ptrace. This must be done after each link. This patch adds a new --enable-codesign configure option so that this step can be automated. gdb/ChangeLog 2018-06-28 Tom Tromey <tom@tromey.com> * NEWS: Mention --enable-codesign. * silent-rules.mk (ECHO_SIGN): New variable. * configure.ac: Add --enable-codesign. * configure: Rebuild. * Makefile.in (CODESIGN, CODESIGN_CERT): New variables. (gdb$(EXEEXT)): Optionally invoke codesign.
2018-06-27Copy gdb-gdb.py to build dirSimon Marchi1-2/+9
I have thought for a long time how nice it would be to have cool pretty printers for GDB's internal types. Well, turns out there are few already in gdb-gdb.py! Unfortunately, if you build GDB outside of the source directory, that file never gets loaded. top-gdb will look for a file called ../path/to/build/gdb/gdb-gdb.py but that file is in the source directory at ../path/to/src/gdb/gdb-gdb.py This patch makes it so we copy it to the build directory, just like we do for gdb-gdb.gdb. With this, I can at least see the file getting automatically loaded: (top-gdb) info pretty-printer global pretty-printers: builtin mpx_bound128 objfile /home/emaisin/build/binutils-gdb/gdb/gdb pretty-printers: type_lookup_function I noticed that running "make" didn't re-generate gdb-gdb.py from gdb-gdb.py.in. That's because it's copied when running the configure script and that's it. I added a rule in the Makefile for that (and for gdb-gdb.gdb too) and added them as a dependency to the "all" target. gdb/ChangeLog: * gdb-gdb.py: Move to... * gdb-gdb.py.in: ... here. * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py. * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as dependencies. (distclean): Remove gdb-gdb.py when cleaning. (gdb-gdb.py, gdb-gdb.gdb): New rules. * configure: Re-generate.
2018-06-04Add configure.nat as a dependency of config.statusSimon Marchi1-1/+1
After pulling Alan's change that added aarch64-sve-linux-ptrace.o to configure.nat, I got an undefined reference to aarch64_sve_get_vq when doing a "make clean && make". It turns out that re-running configure (./config.status --recheck) was needed to re-generate the Makefile with aarch64-sve-linux-ptrace.o included in the object list. Putting configure.nat in the dependencies of config.status would make sure that when we modify configure.nat, the configure script is re-ran. I think it also makes sense because configure.tgt and configure.host are also there. gdb/ChangeLog: * Makefile.in (config.status): Add configure.nat as a dependency.
2018-05-31Function for reading the Aarch64 SVE vector lengthAlan Hayward1-0/+1
Returns 0 for systems without SVE support. Note the defines taken from Linux kernel headers in aarch64-sve-linux-ptrace.h. gdb/ * Makefile.in: Add new header. * gdb/arch/aarch64.h (sve_vg_from_vl): New macro. (sve_vl_from_vg): Likewise. (sve_vq_from_vl): Likewise. (sve_vl_from_vq): Likewise. (sve_vq_from_vg): Likewise. (sve_vg_from_vq): Likewise. * configure.nat: Add new c file. * nat/aarch64-sve-linux-ptrace.c: New file. * nat/aarch64-sve-linux-ptrace.h: New file. gdbserver/ * configure.srv: Add new c/h file.
2018-05-30Add or1k target to --enable-targets=allSimon Marchi1-0/+1
The or1k-tdep.o object is missing from the ALL_TARGET_OBS, which means it's not currently included in an --enable-targets=all build. gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
2018-05-27Remove last reference to REMOTE_OBSTom Tromey1-2/+1
REMOTE_OBS was removed from Makefile.in in 18ca73470a0d7eb96a807c97559cbb9fddb4b461, but one reference remains. This patch removes the lingerer. ChangeLog 2018-05-27 Tom Tromey <tom@tromey.com> * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
2018-05-22[PowerPC] Consolidate linux target description selectionPedro Franco de Carvalho1-0/+3
Share target description declarations and selection among ppc linux native targets, core files, gdbserver and IPA. To avoid complicated define guards, gdbserver and IPA now have declarations for all descriptions, including 64-bit generated descriptions when compiled in 32-bit mode. These have always been linked into the gdbserver and IPA binaries. Because they might be uninitialized, the selection function checks that the selected description is initialized. gdb/ChangeLog: 2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> * arch/ppc-linux-common.c: New file. * arch/ppc-linux-common.h: New file. * arch/ppc-linux-tdesc.h: New file. * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o. * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o. (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and arch/ppc-linux-tdesc.h. * ppc-linux-nat.c: Include arch/ppc-linux-common.h and arch/ppc-linux-tdesc.h. (ppc_linux_nat_target::read_description): Remove target description matching code. Fill a ppc_linux_features struct and call ppc_linux_match_description with it. Move comment about ISA 2.05 to ppc-linux-common.c. * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and arch/ppc-linux-tdesc.h. (ppc_linux_core_read_description): Remove target description matching code. Fill a ppc_linux_features struct and call ppc_linux_match_description with it. * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l) (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l) (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l) (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l) (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l) (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l) (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l) (tdesc_powerpc_e500l): Remove. gdb/gdbserver/ChangeLog: 2018-05-22 Pedro Franco de Carvalho <pedromfc@linux.vnet.ibm.com> * configure.srv (srv_tgtobj): Add arch/ppc-linux-common.o. * Makefile.in (SFILES): Add arch/ppc-linux-common.c. * linux-ppc-tdesc.h: Rename to linux-ppc-tdesc-init.h. * linux-ppc-tdesc-init.h (tdesc_powerpc_32l, tdesc_powerpc_64l) (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l) (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l) (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l) (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l) (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l) (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l) (tdesc_powerpc_e500l): Remove. * linux-ppc-ipa.c: Include arch/ppc-linux-tdesc.h and linux-ppc-tdesc-init.h. Don't include linux-ppc-tdesc.h. * linux-ppc-low.c: Include arch/ppc-linux-common.h, arch/ppc-linux-tdesc.h, and linux-ppc-tdesc-init.h. Don't include linux-ppc-tdesc.h. (ppc_arch_setup): Remove target description matching code. Fill a ppc_linux_features struct and call ppc_linux_match_description with it.
2018-05-17Make format_pieces recognize the \e escape sequenceSimon Marchi1-0/+1
I noticed that the printf command did not recognize the \e escape sequence, used amongst other things to use colors: (gdb) printf "This is \e[32mgreen\e[m!\n" Unrecognized escape character \e in format string. This patch makes format_pieces recognize it, which makes that command print the expected result in glorious color. I wrote a really simple unit test for format_pieces. format_pieces::operator[] is unused so I removed it. I added format_piece::operator==, which is needed to compare vectors of format_piece. gdb/ChangeLog: PR cli/14975 * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/format_pieces-selftests.c. * common/format.h (format_piece) <operator==>: New. (format_pieces) <operator[]>: Remove. * common/format.c (format_pieces::format_pieces): Handle \e. * unittests/format_pieces-selftests.c: New.
2018-05-03Use flex's -t option instead of --stdoutSimon Marchi1-1/+1
As reported in https://sourceware.org/ml/gdb-patches/2018-05/msg00042.html some old versions of flex (2.5.4) don't support the --stdout switch. Use -t, which is an alias. gdb/ChangeLog: * Makefile.in (%.c: %.l): Use -t instead of --stdout.
2018-04-29Fix race when building ada-lex.cJohn Reiser1-10/+8
Prevent a race when building ada-lex.c, and any target of rules .c:.l or .c:.y. The target should be written only at the last step, else SIGINT (^C) can leave an inconsistent state. Being .PRECIOUS makes it even worse. gdb/ChangeLog: PR build/22873 * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the last step, and do it atomically.
2018-04-18Commonise tdesc_reg and makes use of it in gdbserver tdescAlan Hayward1-0/+2
gdb/ * Makefile.in: Add arch/tdesc.c * common/tdesc.c: New file. * common/tdesc.h (tdesc_element_visitor): Move to here. (tdesc_element): Likewise. (tdesc_reg): Likewise. (tdesc_reg_up): Likewise. * regformats/regdef.h (reg): Add offset to constructors. * target-descriptions.c (tdesc_element_visitor): Move from here. (tdesc_element): Likewise. (tdesc_reg): Likewise. (tdesc_reg_up): Likewise. gdbserver/ * Makefile.in: Add common/tdesc.c * tdesc.c (init_target_desc): init all reg_defs from register vector. (tdesc_create_reg): Create tdesc_reg. * tdesc.h (tdesc_feature): Add register vector.
2018-04-16gdb: Remove support for SH-5/SH64Pedro Alves1-3/+0
Since bfd dropped support for SH-5, there's no point in keeping it in GDB either. This restores --enable-targets=all builds. gdb/ChangeLog: 2018-04-16 Pedro Alves <palves@redhat.com> * MAINTAINERS (sh): Remove. * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o. (HFILES_NO_SRCDIR): Remove sh64-tdep.h. (ALLDEPFILES): Remove sh64-tdep.c. * NEWS: Mentions that support for SH-5/SH64 is removed. * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o. (sh*-*-openbsd*): Ditto. (sh64-*-elf*): Remove. (sh*): Remove. * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case. * sh-linux-tdep.c: Remove reference to bfd_mach_sh5. * sh-tdep.c: No longer include "sh64-tdep.h". (sh_gdbarch_init): Remove reference to bfd_mach_sh5. * sh64-tdep.c, sh64-tdep.h: Remove files.