binutils-gdb modified for the FreeChainXenon project
Find a file
Puputti, Matti da1f552dc7 gdb, infcmd: support jump command in multi-inferior case
Fixes the issue where jump failed if multiple inferiors run the same
source.

See the below example

    $ gdb -q ./simple
    Reading symbols from ./simple...
    (gdb) break 2
    Breakpoint 1 at 0x114e: file simple.c, line 2.
    (gdb) run
    Starting program: /temp/simple

    Breakpoint 1, main () at simple.c:2
    2         int a = 42;
    (gdb) add-inferior
    [New inferior 2]
    Added inferior 2 on connection 1 (native)
    (gdb) inferior 2
    [Switching to inferior 2 [<null>] (<noexec>)]
    (gdb) info inferiors
      Num  Description       Connection           Executable
      1    process 6250      1 (native)           /temp/simple
    * 2    <null>            1 (native)
    (gdb) file ./simple
    Reading symbols from ./simple...
    (gdb) run
    Starting program: /temp/simple

    Thread 2.1 "simple" hit Breakpoint 1, main () at simple.c:2
    2         int a = 42;
    (gdb) info inferiors
      Num  Description       Connection           Executable
      1    process 6250      1 (native)           /temp/simple
    * 2    process 6705      1 (native)           /temp/simple
    (gdb) jump 3
    Unreasonable jump request
    (gdb)

In this example, jump fails because the debugger finds two different
locations, one for each inferior.

Solution is to limit the search to the current program space.

This is done by having the jump_command function use
decode_line_with_current_source rather than
decode_line_with_last_displayed, which makes sense,
the *_current_source function always looks up a location based on the
current thread's location -- if a user is asking the current thread to
jump, then surely their destination should be relative to where the
current thread is located.

Then, inside decode_line_with_current_source, the call to
decode_line_1 is updated to pass through the current program_space,
which will limit the returned locations to those in the current
program space.

Approved-By: Andrew Burgess <aburgess@redhat.com>
2023-08-16 09:55:52 +01:00
bfd Automatic date update in version.in 2023-08-16 00:00:30 +00:00
binutils Remove fall-back prune_warnings 2023-08-14 17:07:19 +09:30
config mh-mingw: drop unused BOOT_CXXFLAGS variable 2023-08-12 10:24:26 +09:30
contrib Import mklog.py from gcc repo 2020-09-25 10:24:44 -04:00
cpu DesCGENization of the BPF binutils port 2023-07-21 12:20:40 +02:00
elfcpp Add markers for the 2.41 branch 2023-07-03 11:12:15 +01:00
etc Update year range in gprofng copyright notices 2023-01-01 23:26:30 +10:30
gas RISC-V: Make T-Head testing pattern more generic 2023-08-15 06:46:18 +00:00
gdb gdb, infcmd: support jump command in multi-inferior case 2023-08-16 09:55:52 +01:00
gdbserver gdbserver: Reinstall software single-step breakpoints in resume_stopped_resumed_lwps 2023-08-11 20:54:09 -07:00
gdbsupport regen config 2023-08-12 10:27:57 +09:30
gnulib Add missing backslash to update-gnulib.sh 2023-06-21 08:47:05 -06:00
gold Revert "2.41 Release sources" 2023-08-02 12:06:23 +01:00
gprof regen config 2023-08-12 10:27:57 +09:30
gprofng gprofng: pass gprofng location to gp-display-gui 2023-08-12 19:46:52 -07:00
include RISC-V: Make "fli.h" available to 'Zvfh' + 'Zfa' 2023-08-15 06:46:18 +00:00
intl regen config 2023-08-12 10:27:57 +09:30
ld ld: Build libpr23169a.so with -z lazy 2023-08-14 08:43:01 -07:00
libbacktrace regen config 2023-08-12 10:27:57 +09:30
libctf regen config 2023-08-12 10:27:57 +09:30
libdecnumber regen config 2023-08-12 10:27:57 +09:30
libiberty Synchromize libiberty sources with master version in gcc repository 2023-06-26 15:47:15 +01:00
libsframe regen config 2023-08-12 10:27:57 +09:30
opcodes RISC-V: Make "fli.h" available to 'Zvfh' + 'Zfa' 2023-08-15 06:46:18 +00:00
readline [readline] Fix double free in _rl_scxt_dispose 2023-05-28 10:17:57 +02:00
sim regen config 2023-08-12 10:27:57 +09:30
texinfo
zlib regen config 2023-08-12 10:27:57 +09:30
.cvsignore
.editorconfig Add top-level .editorconfig file 2022-01-28 08:25:42 -05:00
.gitattributes binutils-gdb/git: highlight whitespace errors in source files 2022-07-25 14:35:41 +01:00
.gitignore Add gnu global outputs to .gitignore 2020-12-02 10:00:27 -05:00
ar-lib
ChangeLog Revert "2.41 Release sources" 2023-08-02 12:06:23 +01:00
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2023-08-12 10:24:26 +09:30
config.guess Sync config.guess and config.sub with upstream master versions. 2023-06-26 14:11:30 +01:00
config.rpath
config.sub Sync config.guess and config.sub with upstream master versions. 2023-06-26 14:11:30 +01:00
configure regen config 2023-08-12 10:27:57 +09:30
configure.ac Use substituted GDCFLAGS 2023-08-12 10:25:06 +09:30
COPYING
COPYING.LIB
COPYING.LIBGLOSS
COPYING.NEWLIB
COPYING3
COPYING3.LIB
depcomp
djunpack.bat
install-sh
libtool.m4 FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2023-08-12 10:25:06 +09:30
ltgcc.m4
ltmain.sh Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin. 2023-08-12 10:25:06 +09:30
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS MAINTAINERS: Update path to readline config.{sub,guess} files 2021-05-24 18:11:49 +02:00
Makefile.def gccrs: Add gcc-check-target check-rust 2023-08-12 10:25:06 +09:30
Makefile.in regen config 2023-08-12 10:27:57 +09:30
Makefile.tpl toplevel: Substitute GDCFLAGS instead of using CFLAGS 2023-08-12 10:27:44 +09:30
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
multilib.am
README
README-maintainer-mode Note that at least dejagnu version 1.5.3 is required in order to be ale to run the testsuites. 2022-10-04 10:54:19 +01:00
SECURITY.txt Add a SECURITY.txt file describing the GNU Binutils' project's stance on security related bugs. 2023-04-20 16:52:11 +01:00
setup.com
src-release.sh Revert "2.41 Release sources" 2023-08-02 12:06:23 +01:00
symlink-tree
test-driver
ylwrap

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.