- May 11, 2021
-
-
Sergey Belyashov authored
PR 27823 * config/tc-z80.c (emit_ld_r_m): Report an illegal load instruction. * testsuite/gas/z80/ill_ops.s: New test source file. * testsuite/gas/z80/ill_ops.d: New test driver. * testsuite/gas/z80/ill_ops.l: New test error output.
-
Alan Modra authored
PR 27845 * dwarf.c (process_abbrev_set): Replace start and end parameters with section, abbrev_base, abbrev_size, abbrev_offset. Update all callers. Sanity check parameters correctly and emit warnings here rather than.. (process_debug_info): ..here.
-
GDB Administrator authored
-
Lancelot SIX authored
PR 27614 shows that gdb-add-index fails to generate the index when its argument is a symlink. The following one liner illustrates the reported problem: $ echo 'int main(){}'|gcc -g -x c -;ln -s a.out symlink;gdb-add-index symlink gdb-add-index: No index was created for symlink gdb-add-index: [Was there no debuginfo? Was there already an index?] $ ls -l -rwxr-xr-x 1 25712 Mar 19 23:05 a.out* -rw------- 1 8277 Mar 19 23:05 a.out.gdb-index lrwxrwxrwx 1 5 Mar 19 23:05 symlink -> a.out* GDB generates the .gdb-index file with a name that matches the name of the actual program (a.out.gdb-index here), not the symlink that references it. The remaining of the script is looking for a file named after the provided argument (would be 'symlink.gdb-index' in our example). gdb/ChangeLog: PR gdb/27614 * contrib/gdb-add-index.sh: Fix when called with a symlink as an argument. gdb/testsuite/ChangeLog: PR gdb/27614 * gdb.dwarf2/gdb-add-index-symlink.exp: New test. -
H.J. Lu authored
PR binutils/27839 * simple.c (bfd_simple_get_relocated_section_contents): Remove strayed fprintf.
-
Andrew Burgess authored
In this commit: commit 1845e254 Date: Wed May 5 16:50:17 2021 +0100 gdb/guile: perform tilde expansion when sourcing guile scripts A test was added that tries to source a guile script from the users HOME directory. In order to achieve this the test (temporarily) modifies $HOME to point into the binutils-gdb source tree. The problem with this is that sourcing a guile script can cause the guile script to be byte compiled and written into a .cache/ directory, which is stored .... in the $HOME directory. The result was that the test added in the above commit would cause a .cache/ directory to be added into the binutils-gdb source tree. In this commit the test is updated to create a new directory in the build tree, the file we want to source is copied over, and $HOME is set to point at the location in the build tree. Now when the test is run the .cache/ directory is created in the build tree, leaving the source tree untouched. gdb/testsuite/ChangeLog: * gdb.guile/guile.exp: Don't use the source directory as a temporary HOME directory.
-
Simon Marchi authored
This test has a little oversight: the test procedure doesn't actually use its parameters, the commands and expected patterns are hard-coded, so we always test with i386:x86-64, instead of with the three arches. Fix that. gdb/testsuite/ChangeLog: * gdb.arch/amd64-osabi.exp (test_osabi_none): Use the parameters. Change-Id: Iee2c32963d09e502ae791d5df2b6c04a1f49a57a
-
Simon Marchi authored
I was looking at some "set debug lin-lwp" logs, and saw that a thread received the "Child exited" signal. It took me a moment to realize that this was SIGCHLD. I then thought that it would be nice for status_to_str to show the signal name (SIGCHLD) in addition to the description "Child exited", since people are much more used to referring to signals using their names. Fortunately, libiberty contains a handy function to get the signal name from the signal number, strsigno, use that. The output of "set debug lin-lwp" now looks like: [linux-nat] linux_nat_wait_1: waitpid 1209631 received SIGTRAP - Trace/breakpoint trap (stopped) gdb/ChangeLog: * nat/linux-waitpid.c (status_to_str): Show signal name. Change-Id: I8ad9b1e744dd64461fd87b08d5c29f9ef97c4691
-
- May 10, 2021
-
-
Nick Clifton authored
PR 27839 * simple.c (simple_dummy_add_to_set): New function. (simple_dummy_constructor): New function. (simple_dummy_multiple_common): New function. (bfd_simple_get_relocated_section_contents): Zero out the callbacks structure, and then set the add_to_set, constructor and multiple_common fields.
-
Dimitar Dimitrov authored
bfd * elf32-pru.c (elf_backend_can_gc_sections): Define as 1. ld * testsuite/ld-elf/group8a.d: Remove pru from XFAIL list. * testsuite/ld-elf/group8b.d: Ditto. * testsuite/ld-elf/group9a.d: Ditto. * testsuite/ld-elf/group9b.d: Ditto. * testsuite/ld-elf/pr12851.d: Ditto. * testsuite/ld-elf/pr22677.d: Ditto. * testsuite/lib/ld-lib.exp (check_gc_sections_available): Remove pru from list.
-
Dimitar Dimitrov authored
PRU: Add alignment for resource table, and allow sizes of memory regions to be set from the command line. ld * scripttempl/pru.sc (.resource_table): Add ALIGN directive. Use symbols for memory sizes.
-
Sergey Belyashov authored
PR 27415 * config/tc-z80.c (emit_data_val): Add support for 8-bit and 24-bit shifts. * testsuite/gas/z80/z80_reloc.a: Update tests. * testsuite/gas/z80/z80_reloc.d: Update expected disassembly.
-
Thomas Wolff authored
Restore old behaviour of windres so that options containing spaces are not enclosed in double quotes. PR 4356 PR 26865 PR 27594 * windres.c (quot): Revert previous delta. Do not use double quotes when spaces are detected in options. * doc/binutils.texi (windres): Remove suggestion that the --preprocessor option can take arguments.
-
Andrew Burgess authored
Change this: The available watchpoint types represented by constants are defined in the gdb module: to this: The available watchpoint types are represented by constants defined in the gdb module: The new version matches a similar line a few lines up the document which reads: The available types are represented by constants defined in the gdb module: gdb/doc/ChangeLog: * guile.texinfo (Breakpoints In Guile): Reword sentence. * python.texinfo (Breakpoints In Python): Reword sentence.
-
Alan Modra authored
PTR supplied to these macros can be read from user input, END is an end of buffer pointer. It's safer to do arithmetic on END than on PTR. * dwarf.c (SAFE_BYTE_GET): Check bounds by subtracting amount from END rather than adding amount to PTR. (SAFE_SIGNED_BYTE_GET, SAFE_BYTE_GET64): Likewise.
-
GDB Administrator authored
-
- May 09, 2021
-
-
Andrew Burgess authored
When the 'set debug py-unwind' flag was added, it was never documented in the manual. This commit adds some text for this command to the manual. gdb/doc/ChangeLog: * python.texinfo (Python Commands): Document 'set debug py-unwind' and 'show debug py-unwind'.
-
Andrew Burgess authored
Adds some new debugging to python/py-breakpoint.c. gdb/ChangeLog: * python/py-breakpoint.c (pybp_debug): New static global. (show_pybp_debug): New function. (pybp_debug_printf): Define. (PYBP_SCOPED_DEBUG_ENTER_EXIT): Define. (gdbpy_breakpoint_created): Add some debugging. (gdbpy_breakpoint_deleted): Likewise. (gdbpy_breakpoint_modified): Likewise. (_initialize_py_breakpoint): New function. gdb/doc/ChangeLog: * python.texinfo (Python Commands): Document 'set debug py-breakpoint' and 'show debug py-breakpoint'.
-
Andrew Burgess authored
Converts the debug print out in python/py-unwind.c to use the new debug printing scheme. I have also modified what is printed in a few places, for example, rather than printing frame pointers, I now print the frame level, this matches what we do in the general 'set debug frame' tracing, and is usually more helpful (I think). I also added a couple of ENTER/EXIT scope printers. gdb/ChangeLog: * python/py-unwind.c (pyuw_debug): Convert to bool. (show_pyuw_debug): New function. (pyuw_debug_printf): Define. (PYUW_SCOPED_DEBUG_ENTER_EXIT): Define. (pyuw_this_id): Convert to new debug print macros. (pyuw_prev_register): Likewise. (pyuw_sniffer): Likewise. (pyuw_dealloc_cache): Likewise. (_initialize_py_unwind): Update now pyuw_debug is a bool, and add show function when registering.
-
Andrew Burgess authored
Replace fprint_frame_id with a member function frame_id::to_string that returns a std::string. Convert all of the previous users of fprint_frame_id to use the new member function. This means that instead of writing things like this: fprintf_unfiltered (file, " id="); fprint_frame_id (file, s->id.id); We can write this: fprintf_unfiltered (file, " id=%s", s->id.id.to_string ().c_str ()); There should be no user visible changes after this commit. gdb/ChangeLog: * dummy-frame.c (fprint_dummy_frames): Convert use of fprint_frame_id to use frame_id::to_string. * frame.c (fprint_field): Delete. (fprint_frame_id): Moved to... (frame_id::to_string): ...this, rewritten to return a string. (fprint_frame): Convert use of fprint_frame_id to use frame_id::to_string. (compute_frame_id): Likewise. (frame_id_p): Likewise. (frame_id_eq): Likewise. (frame_id_inner): Likewise. * frame.h (struct frame_id) <to_string>: New member function. (fprint_frame_id): Delete declaration. * guile/scm-frame.c (frscm_print_frame_smob): Convert use of fprint_frame_id to use frame_id::to_string. * python/py-frame.c (frame_object_to_frame_info): Likewise. * python/py-unwind.c (unwind_infopy_str): Likewise. (pyuw_this_id): Likewise.
-
Alan Modra authored
* ctf-impl.h (ctf_dynset_eq_string): Don't declare. * ctf-hash.c (ctf_dynset_eq_string): Delete function. * ctf-dedup.c (make_set_element): Use htab_eq_string. (ctf_dedup_atoms_init, ADD_CITER, ctf_dedup_init): Likewise. (ctf_dedup_conflictify_unshared): Likewise. (ctf_dedup_walk_output_mapping): Likewise.
-
Alan Modra authored
A quick check says this is the only place in all of bfd, opcodes, binutils, gas, ld, gprof that duplicates the new libiberty htab_eq_string. * objcopy.c (eq_string): Delete. (create_symbol_htab): Use htab_eq_string.
-
Simon Marchi authored
I get these changes when re-generating the autoconf stuff in gdbsupport, fallouts from 4655f850 ("Don't run personality syscall at configure time; don't check it at all"). gdbsupport/ChangeLog: * Makefile.in: Re-generate. * config.in: Re-generate. * configure: Re-generate. Change-Id: Ie1876ee58d6f4f1cf25fa14900eecf4c85a744c1
-
Simon Marchi authored
Instead of using a static buffer. This is safer, and we don't really mind about any extra dynamic allocation here, since it's only used for debug purposes. gdb/ChangeLog: * nat/linux-waitpid.c (status_to_str): Return std::string. * nat/linux-waitpid.h (status_to_str): Likewise. * linux-nat.c (linux_nat_post_attach_wait): Adjust. (linux_nat_target::attach): Adjust. (linux_handle_extended_wait): Adjust. (wait_lwp): Adjust. (stop_wait_callback): Adjust. (linux_nat_filter_event): Adjust. (linux_nat_wait_1): Adjust. * nat/linux-waitpid.c (status_to_str): Adjust. * nat/linux-waitpid.h (status_to_str): Adjust. gdbserver/ChangeLog: * linux-low.cc (linux_process_target::wait_for_event_filtered): Adjust to status_to_str returning std::string. Change-Id: Ia8aead70270438a5690f243e6faafff6c38ff757
-
Simon Marchi authored
gdb/ChangeLog: * infrun.h (infrun_debug_printf): Add missing space. Change-Id: I476096a098451ff2019ab38caa41ebfef0e04a1c
-
GDB Administrator authored
-
Mike Frysinger authored
A random grab bag of minor fixes to enable -Werror for this port. Disable h8_set_macS for now as it's unused. Initialize trace & intMask before using them. Mark local set_h8300h function static.
-
Mike Frysinger authored
If there are no updates to the file, touch the result so we don't keep trying to regenerate it.
-
Mike Frysinger authored
Fixes build warnings when the address size isn't an integer.
-
Mike Frysinger authored
These are exported in the library linkage, so add a cgen_ prefix.
-
Mike Frysinger authored
The function was missing a prototype, and passing a constant string as the format string instead of going through a %s format.
-
Mike Frysinger authored
Use {} instead of {0} to avoid warnings: common/cgen-utils.c:59:1: warning: missing braces around initializer [-Wmissing-braces] 59 | { | ^ 60 | { 61 | VIRTUAL_INSN_X_INVALID, "--invalid--", NULL, 0, { V, { 0 } } | {{}} Generated code should be the same. -
Mike Frysinger authored
Now that we generate multiple html & pdf forms, update the release process to show how they get updated.
-
Mike Frysinger authored
Use the pattern from other projects where we generate the html pages in a dir named the same as the project. So now we have: gas/doc/gas.html - single html page gas/doc/gas/ - multiple html pages This works for projects that have a doc/ subdir already, but gprof & ld require a little tweaking since they generate their docs in their respective toplevels.
-
- May 08, 2021
-
-
Mike Frysinger authored
This better matches other GNU projects like autoconf/automake where the html manual is the single page form. We'll support the multi-page form in a follow up change.
-
Mike Frysinger authored
We stub out the info targets already since we don't provide any.
-
Tom Tromey authored
This changes the sim to use htab_eq_string from libiberty. sim/common/ChangeLog 2021-05-08 Tom Tromey <tom@tromey.com> * sim-options.c (compare_strings): Remove. (dup_arg_p): Use htab_eq_string.
-
Pedro Alves authored
Currently, in order to tell whether support for disabling address space randomization on Linux is available, GDB checks if the personality syscall works, at configure time. I.e., it does a run test, instead of a compile/link test: AC_RUN_IFELSE([PERSONALITY_TEST], [have_personality=true], [have_personality=false], This is a bit bogus, because the machine the build is done on may not (and is when you consider distro gdbs) be the machine that eventually runs gdb. It would be better if this were a compile/link test instead, and then at runtime, GDB coped with the personality syscall failing. Actually, GDB already copes. One environment where this is problematic is building GDB in a Docker container -- by default, Docker runs the container with seccomp, with a profile that disables the personality syscall. You can tell Docker to use a less restricted seccomp profile, but I think we should just fix it in GDB. "man 2 personality" says: This system call first appeared in Linux 1.1.20 (and thus first in a stable kernel release with Linux 1.2.0); library support was added in glibc 2.3. ... ADDR_NO_RANDOMIZE (since Linux 2.6.12) With this flag set, disable address-space-layout randomization. glibc 2.3 was released in 2002. Linux 2.6.12 was released in 2005. The original patch that added the configure checks was submitted in 2008. The first version of the patch that was submitted to the list called personality from common code: https://sourceware.org/pipermail/gdb-patches/2008-June/058204.html and then was moved to Linux-specific code: https://sourceware.org/pipermail/gdb-patches/2008-June/058209.html Since HAVE_PERSONALITY is only checked in Linux code, and ADDR_NO_RANDOMIZE exists for over 15 years, I propose just completely removing the configure checks. If for some odd reason, some remotely modern system still needs a configure check, then we can revert this commit but drop the AC_RUN_IFELSE in favor of always doing the AC_LINK_IFELSE cross-compile fallback. gdb/ChangeLog: * linux-nat.c (linux_nat_target::supports_disable_randomization): Remove references to HAVE_PERSONALITY. * nat/linux-personality.c: Remove references to HAVE_PERSONALITY. (maybe_disable_address_space_randomization) (~maybe_disable_address_space_randomizatio): Remove references to HAVE_PERSONALITY. * config.in, configure: Regenerate. gdbserver/ChangeLog: * linux-low.cc: (linux_process_target::supports_disable_randomization): Remove reference to HAVE_PERSONALITY. * config.in, configure: Regenerate. gdbsupport/ChangeLog: * common.m4 (personality test): Remove. -
Pedro Alves authored
Lancelot pointed out that since the refactor at: https://sourceware.org/pipermail/gdb-patches/2015-January/120503.html the sys/personality.h include is not needed in linux-low.cc anymore, as it does not call personality directly itself anymore. gdbserver/ChangeLog: * linux-low.cc: Don't include sys/personality.h or define ADDR_NO_RANDOMIZE.
-
Mike Frysinger authored
Make sure the local static buffer is large enough, and simplify the sprintf for merging the fields all into one. This fixes compiler warnings from buf possibly being overflowed.
-