Compare commits

...

335 Commits

Author SHA1 Message Date
GDB Administrator
c987953c10 Automatic date update in version.in 2023-10-08 00:02:20 +00:00
GDB Administrator
599450c234 Automatic date update in version.in 2023-10-07 00:01:10 +00:00
GDB Administrator
206ccc0ca7 Automatic date update in version.in 2023-10-06 00:01:28 +00:00
GDB Administrator
1071d7f5e2 Automatic date update in version.in 2023-10-05 00:00:59 +00:00
GDB Administrator
8239fda1cd Automatic date update in version.in 2023-10-04 00:00:59 +00:00
GDB Administrator
936cd05965 Automatic date update in version.in 2023-10-03 00:02:06 +00:00
GDB Administrator
7c021f465e Automatic date update in version.in 2023-10-02 00:01:21 +00:00
GDB Administrator
a5caacc773 Automatic date update in version.in 2023-10-01 00:01:02 +00:00
GDB Administrator
2660986341 Automatic date update in version.in 2023-09-30 00:01:18 +00:00
GDB Administrator
b65fa32226 Automatic date update in version.in 2023-09-29 00:01:09 +00:00
GDB Administrator
eba51f406d Automatic date update in version.in 2023-09-28 00:01:13 +00:00
GDB Administrator
14e1dc89e6 Automatic date update in version.in 2023-09-27 00:01:23 +00:00
GDB Administrator
5bcaccbf94 Automatic date update in version.in 2023-09-26 00:01:13 +00:00
GDB Administrator
842909e667 Automatic date update in version.in 2023-09-25 00:00:26 +00:00
GDB Administrator
bddbdf3b9b Automatic date update in version.in 2023-09-24 00:01:05 +00:00
GDB Administrator
3235abaaad Automatic date update in version.in 2023-09-23 00:00:51 +00:00
GDB Administrator
03edcac4e3 Automatic date update in version.in 2023-09-22 00:00:45 +00:00
GDB Administrator
55ea1a3c6e Automatic date update in version.in 2023-09-21 00:01:44 +00:00
GDB Administrator
e4f48d905f Automatic date update in version.in 2023-09-20 00:01:10 +00:00
GDB Administrator
d4390f8b53 Automatic date update in version.in 2023-09-19 00:01:33 +00:00
GDB Administrator
c813c78170 Automatic date update in version.in 2023-09-18 00:00:57 +00:00
GDB Administrator
b7694124c8 Automatic date update in version.in 2023-09-17 00:01:01 +00:00
GDB Administrator
898b1034a5 Automatic date update in version.in 2023-09-16 00:00:46 +00:00
GDB Administrator
d762ca097d Automatic date update in version.in 2023-09-15 00:00:59 +00:00
GDB Administrator
558b32ed4d Automatic date update in version.in 2023-09-14 00:01:41 +00:00
GDB Administrator
5314e85486 Automatic date update in version.in 2023-09-13 00:01:01 +00:00
GDB Administrator
d3aca925fb Automatic date update in version.in 2023-09-12 00:01:00 +00:00
GDB Administrator
3291722a83 Automatic date update in version.in 2023-09-11 00:00:57 +00:00
GDB Administrator
946c02c410 Automatic date update in version.in 2023-09-10 00:00:49 +00:00
GDB Administrator
f68a84b18a Automatic date update in version.in 2023-09-09 00:00:47 +00:00
GDB Administrator
97050e7513 Automatic date update in version.in 2023-09-08 00:00:50 +00:00
GDB Administrator
88dd873827 Automatic date update in version.in 2023-09-07 00:01:29 +00:00
GDB Administrator
b5eb78eb57 Automatic date update in version.in 2023-09-06 00:02:03 +00:00
GDB Administrator
cf7c816a70 Automatic date update in version.in 2023-09-05 00:00:59 +00:00
GDB Administrator
d86836ab03 Automatic date update in version.in 2023-09-04 00:00:43 +00:00
GDB Administrator
c80f962ec6 Automatic date update in version.in 2023-09-03 00:01:07 +00:00
GDB Administrator
7ecd492493 Automatic date update in version.in 2023-09-02 00:00:53 +00:00
GDB Administrator
1378f4122b Automatic date update in version.in 2023-09-01 00:00:58 +00:00
GDB Administrator
d49adbf955 Automatic date update in version.in 2023-08-31 00:01:17 +00:00
GDB Administrator
980eb1a95d Automatic date update in version.in 2023-08-30 00:01:21 +00:00
GDB Administrator
76ee93c273 Automatic date update in version.in 2023-08-29 00:01:03 +00:00
GDB Administrator
f49274489d Automatic date update in version.in 2023-08-28 00:01:07 +00:00
GDB Administrator
94f84577cc Automatic date update in version.in 2023-08-27 00:00:46 +00:00
GDB Administrator
e8b09cda5a Automatic date update in version.in 2023-08-26 00:00:50 +00:00
GDB Administrator
169d41414d Automatic date update in version.in 2023-08-25 00:00:47 +00:00
GDB Administrator
668c6c5c4b Automatic date update in version.in 2023-08-24 00:00:47 +00:00
GDB Administrator
8def62d31a Automatic date update in version.in 2023-08-23 00:01:28 +00:00
GDB Administrator
e6ac163479 Automatic date update in version.in 2023-08-22 00:01:01 +00:00
GDB Administrator
4d5569f719 Automatic date update in version.in 2023-08-21 00:01:05 +00:00
GDB Administrator
e4cdd24ab7 Automatic date update in version.in 2023-08-20 00:00:40 +00:00
GDB Administrator
ce5773b21f Automatic date update in version.in 2023-08-19 00:00:31 +00:00
GDB Administrator
7b740c0d80 Automatic date update in version.in 2023-08-18 00:01:04 +00:00
GDB Administrator
89d7b4a2f5 Automatic date update in version.in 2023-08-17 00:01:22 +00:00
GDB Administrator
3830514db3 Automatic date update in version.in 2023-08-16 00:01:01 +00:00
GDB Administrator
bab45910d8 Automatic date update in version.in 2023-08-15 00:01:17 +00:00
GDB Administrator
c21b07ba24 Automatic date update in version.in 2023-08-14 00:00:43 +00:00
GDB Administrator
a6cb74efea Automatic date update in version.in 2023-08-13 00:00:54 +00:00
GDB Administrator
616fad7313 Automatic date update in version.in 2023-08-12 00:00:37 +00:00
GDB Administrator
6151c1d189 Automatic date update in version.in 2023-08-11 00:00:52 +00:00
GDB Administrator
07db9a2907 Automatic date update in version.in 2023-08-10 00:01:17 +00:00
GDB Administrator
c0c1b91d99 Automatic date update in version.in 2023-08-09 00:01:12 +00:00
GDB Administrator
0f6693330a Automatic date update in version.in 2023-08-08 00:01:01 +00:00
GDB Administrator
5a3a3bdca2 Automatic date update in version.in 2023-08-07 00:00:45 +00:00
GDB Administrator
9eaf923b54 Automatic date update in version.in 2023-08-06 00:00:42 +00:00
GDB Administrator
0efa1a60b8 Automatic date update in version.in 2023-08-05 00:00:44 +00:00
GDB Administrator
c9dcf56bef Automatic date update in version.in 2023-08-04 00:01:06 +00:00
GDB Administrator
66caeffbbc Automatic date update in version.in 2023-08-03 00:01:06 +00:00
GDB Administrator
520ff26808 Automatic date update in version.in 2023-08-02 00:00:56 +00:00
GDB Administrator
eb387d3ef6 Automatic date update in version.in 2023-08-01 00:01:36 +00:00
GDB Administrator
88cb21dcf4 Automatic date update in version.in 2023-07-31 00:00:37 +00:00
GDB Administrator
29220f6a2a Automatic date update in version.in 2023-07-30 00:00:44 +00:00
GDB Administrator
ad2dacdca6 Automatic date update in version.in 2023-07-29 00:00:53 +00:00
GDB Administrator
131457101a Automatic date update in version.in 2023-07-28 00:00:56 +00:00
GDB Administrator
086d11dce6 Automatic date update in version.in 2023-07-27 00:01:06 +00:00
GDB Administrator
709d5c9365 Automatic date update in version.in 2023-07-26 00:01:28 +00:00
GDB Administrator
e47557f55c Automatic date update in version.in 2023-07-25 00:00:50 +00:00
GDB Administrator
956379bd5d Automatic date update in version.in 2023-07-24 00:00:35 +00:00
GDB Administrator
cdf40f6d79 Automatic date update in version.in 2023-07-23 00:00:36 +00:00
GDB Administrator
59860121f3 Automatic date update in version.in 2023-07-22 00:00:45 +00:00
GDB Administrator
e1a7373f7e Automatic date update in version.in 2023-07-21 00:00:52 +00:00
GDB Administrator
3d060cfef2 Automatic date update in version.in 2023-07-20 00:01:23 +00:00
GDB Administrator
f6cfc86921 Automatic date update in version.in 2023-07-19 00:00:46 +00:00
GDB Administrator
012e279a71 Automatic date update in version.in 2023-07-18 00:00:51 +00:00
GDB Administrator
0c3ca1c932 Automatic date update in version.in 2023-07-17 00:00:42 +00:00
GDB Administrator
e64c9efec2 Automatic date update in version.in 2023-07-16 00:00:23 +00:00
GDB Administrator
44f7a89790 Automatic date update in version.in 2023-07-15 00:00:42 +00:00
GDB Administrator
ed9b279b6d Automatic date update in version.in 2023-07-14 00:01:02 +00:00
GDB Administrator
43088c5bc7 Automatic date update in version.in 2023-07-13 00:00:45 +00:00
GDB Administrator
5fe5f0dd90 Automatic date update in version.in 2023-07-12 00:00:49 +00:00
GDB Administrator
59aeaa40d5 Automatic date update in version.in 2023-07-11 00:00:33 +00:00
GDB Administrator
8cf7d4dbec Automatic date update in version.in 2023-07-10 00:00:27 +00:00
GDB Administrator
a9fc7c4837 Automatic date update in version.in 2023-07-09 00:00:32 +00:00
GDB Administrator
f069be5512 Automatic date update in version.in 2023-07-08 00:00:36 +00:00
GDB Administrator
854f46b637 Automatic date update in version.in 2023-07-07 00:00:53 +00:00
Pedro Alves
dfe07f10de Fix Solaris regression (PR tdep/30252)
PR tdep/30252 reports that using GDB on Solaris fails an assertion in
target_resume:

 target.c:2648: internal-error: target_resume: Assertion `inferior_ptid != null_ptid' failed.
 A problem internal to GDB has been detected,
 further debugging may prove unreliable.
 Quit this debugging session? (y or n)

The backtrace, after running it through c++filt, looks like:

 ----- Backtrace -----
 0xa18914 gdb_internal_backtrace_1
	 /root/binutils-gdb/gdb/bt-utils.c:122
 0xa18914 gdb_internal_backtrace()
	 /root/binutils-gdb/gdb/bt-utils.c:168
 0xdec834 internal_vproblem
	 /root/binutils-gdb/gdb/utils.c:401
 0xdecad8 internal_verror(char const*, int, char const*, __va_list_tag*)
	 /root/binutils-gdb/gdb/utils.c:481
 0xf3638c internal_error_loc(char const*, int, char const*, ...)
	 /root/binutils-gdb/gdbsupport/errors.cc:58
 0xd70580 target_resume(ptid_t, int, gdb_signal)
	 /root/binutils-gdb/gdb/target.c:2648
 0xc59e85 procfs_target::wait(ptid_t, target_waitstatus*, enum_flags<target_wait_flag>)
	 /root/binutils-gdb/gdb/procfs.c:2187
 0xcf6da7 sol_thread_target::wait(ptid_t, target_waitstatus*, enum_flags<target_wait_flag>)
	 /root/binutils-gdb/gdb/sol-thread.c:442
 0xd73711 target_wait(ptid_t, target_waitstatus*, enum_flags<target_wait_flag>)
	 /root/binutils-gdb/gdb/target.c:2586
 ...

The problem is that the procfs backend, while inside target_wait,
called target_resume without switching to the leader thread of that
resumption.

The target_resume interface is:

 /* Resume execution (or prepare for execution) of the current thread
    (INFERIOR_PTID), while optionally letting other threads of the
    current process or all processes run free.
    ...

Thus calling target_resume with inferior_ptid == null_ptid is bogus.

target_wait (which leads to procfs_target::wait on Solaris) is called
with inferior_ptid == null_ptid on entry exactly to help catch such
bogus uses.

From the backtrace, it seems that the relevant line in question is
procfs.c:2187:

2186  /* How to keep going without returning to wfi: */
2187  target_continue_no_signal (ptid);
2188  goto wait_again;

target_continue_no_signal is a small wrapper around target_resume,
which would make sense.

The fix is to not call target_resume or go via the target stack at
all.  Instead, factor out a new proc_resume function out of
procfs_target::resume, and call that.  The new function does not rely
on inferior_ptid.

I've not been able to test it myself, but Petr confirmed it fixes the
assertion failure with his test case, and Marcel Telka also confirmed
it solves the problem.

Tested-By: Petr Šumbera <petr.sumbera@oracle.com>
Tested-By: Marcel Telka <marcel@telka.sk>
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30252
Change-Id: I6213c59b081d400a22e799ee621c2eff6dcafbf3
2023-07-06 15:11:46 +01:00
GDB Administrator
3ee1593a53 Automatic date update in version.in 2023-07-06 00:00:51 +00:00
GDB Administrator
b8ddd75f2d Automatic date update in version.in 2023-07-05 00:00:26 +00:00
GDB Administrator
8c6429ed44 Automatic date update in version.in 2023-07-04 00:00:39 +00:00
GDB Administrator
9d9965cdf7 Automatic date update in version.in 2023-07-03 00:00:34 +00:00
GDB Administrator
6f7bb43739 Automatic date update in version.in 2023-07-02 00:00:27 +00:00
GDB Administrator
f71d37da72 Automatic date update in version.in 2023-07-01 00:00:40 +00:00
GDB Administrator
0737540fe4 Automatic date update in version.in 2023-06-30 00:00:26 +00:00
GDB Administrator
c865a29b65 Automatic date update in version.in 2023-06-29 00:00:43 +00:00
GDB Administrator
e08b775dfb Automatic date update in version.in 2023-06-28 00:01:06 +00:00
GDB Administrator
65ba4a63fa Automatic date update in version.in 2023-06-27 00:00:38 +00:00
GDB Administrator
6f8c86b005 Automatic date update in version.in 2023-06-26 00:00:25 +00:00
GDB Administrator
228250e325 Automatic date update in version.in 2023-06-25 00:00:34 +00:00
GDB Administrator
45fe7c5b32 Automatic date update in version.in 2023-06-24 00:00:35 +00:00
GDB Administrator
f41b8af5c5 Automatic date update in version.in 2023-06-23 00:00:23 +00:00
GDB Administrator
30af4b5b54 Automatic date update in version.in 2023-06-22 00:00:37 +00:00
GDB Administrator
1f71605129 Automatic date update in version.in 2023-06-21 00:00:35 +00:00
GDB Administrator
9576466d5e Automatic date update in version.in 2023-06-20 00:00:27 +00:00
GDB Administrator
5bd4c857ab Automatic date update in version.in 2023-06-19 00:00:31 +00:00
GDB Administrator
46db8415d1 Automatic date update in version.in 2023-06-18 00:00:34 +00:00
GDB Administrator
d9cebfc669 Automatic date update in version.in 2023-06-17 00:00:39 +00:00
GDB Administrator
399ea9f9b4 Automatic date update in version.in 2023-06-16 00:00:37 +00:00
GDB Administrator
107d63c4bc Automatic date update in version.in 2023-06-15 00:00:46 +00:00
GDB Administrator
016c472eb9 Automatic date update in version.in 2023-06-14 00:00:37 +00:00
GDB Administrator
94b75f8626 Automatic date update in version.in 2023-06-13 00:00:30 +00:00
GDB Administrator
1b7aa2cd11 Automatic date update in version.in 2023-06-12 00:00:30 +00:00
GDB Administrator
4b5f2953ff Automatic date update in version.in 2023-06-11 00:00:34 +00:00
GDB Administrator
079fdcb421 Automatic date update in version.in 2023-06-10 00:00:27 +00:00
GDB Administrator
f8170d1345 Automatic date update in version.in 2023-06-09 00:01:20 +00:00
GDB Administrator
686ccf6d84 Automatic date update in version.in 2023-06-08 00:01:02 +00:00
GDB Administrator
8ac7928bb5 Automatic date update in version.in 2023-06-07 00:01:29 +00:00
GDB Administrator
d05c047a71 Automatic date update in version.in 2023-06-06 00:02:12 +00:00
GDB Administrator
05343fb1c4 Automatic date update in version.in 2023-06-05 00:00:52 +00:00
GDB Administrator
1260f5cf34 Automatic date update in version.in 2023-06-04 00:01:01 +00:00
GDB Administrator
eef145e48c Automatic date update in version.in 2023-06-03 00:01:11 +00:00
GDB Administrator
52485dfc52 Automatic date update in version.in 2023-06-02 00:01:46 +00:00
GDB Administrator
1c9f40d600 Automatic date update in version.in 2023-06-01 00:00:52 +00:00
GDB Administrator
e22ae05c06 Automatic date update in version.in 2023-05-31 00:01:11 +00:00
GDB Administrator
1963fadd29 Automatic date update in version.in 2023-05-30 00:00:54 +00:00
GDB Administrator
8899f7e6fe Automatic date update in version.in 2023-05-29 00:01:43 +00:00
GDB Administrator
0d3f12c8c3 Automatic date update in version.in 2023-05-28 00:00:56 +00:00
Joel Brobecker
191c376406 Bump GDB's version number to 13.2.90.DATE-git.
This commit changes gdb/version.in to 13.2.90.DATE-git.

This commit also makes the following changes in gdb/testsuite:

	* gdb.base/default.exp: Change $_gdb_minor to 3.
2023-05-27 12:14:07 +02:00
Joel Brobecker
662243de0e Set GDB version number to 13.2.
This commit changes gdb/version.in to 13.2.
2023-05-27 11:46:47 +02:00
GDB Administrator
7c1c1bec17 Automatic date update in version.in 2023-05-27 00:01:08 +00:00
GDB Administrator
6e1c384eb0 Automatic date update in version.in 2023-05-26 00:01:03 +00:00
GDB Administrator
cc89d24220 Automatic date update in version.in 2023-05-25 00:01:05 +00:00
GDB Administrator
0db93c9a77 Automatic date update in version.in 2023-05-24 00:00:56 +00:00
GDB Administrator
ec9a76ceb4 Automatic date update in version.in 2023-05-23 00:01:35 +00:00
GDB Administrator
7caa595c0f Automatic date update in version.in 2023-05-22 00:00:46 +00:00
GDB Administrator
51537ecddb Automatic date update in version.in 2023-05-21 00:01:02 +00:00
Jan Vrany
bcd95b84d3 gdb: fix post-hook execution for remote targets
Commit b5661ff2 ("gdb: fix possible use-after-free when
executing commands") attempted to fix possible use-after-free
in case command redefines itself.

Commit 37e5833d ("gdb: fix command lookup in execute_command ()")
updated the previous fix to handle subcommands as well by using the
original command string to lookup the command again after its execution.

This fixed the test in gdb.base/define.exp but it turned out that it
does not work (at least) for "target remote" and "target extended-remote".

The problem is that the command buffer P passed to execute_command ()
gets overwritten in dont_repeat () while executing "target remote"
command itself:

	#0  dont_repeat () at top.c:822
	#1  0x000055555730982a in target_preopen (from_tty=1) at target.c:2483
	#2  0x000055555711e911 in remote_target::open_1 (name=0x55555881c7fe ":1234", from_tty=1, extended_p=0)
	    at remote.c:5946
	#3  0x000055555711d577 in remote_target::open (name=0x55555881c7fe ":1234", from_tty=1) at remote.c:5272
	#4  0x00005555573062f2 in open_target (args=0x55555881c7fe ":1234", from_tty=1, command=0x5555589d0490)
	    at target.c:853
	#5  0x0000555556ad22fa in cmd_func (cmd=0x5555589d0490, args=0x55555881c7fe ":1234", from_tty=1)
	    at cli/cli-decode.c:2737
	#6  0x00005555573487fd in execute_command (p=0x55555881c802 "4", from_tty=1) at top.c:688

Therefore the second call to lookup_cmd () at line 697 fails to find
command because the original command string is gone.

This commit addresses this particular problem by creating a *copy* of
original command string for the sole purpose of using it after command
execution to lookup the command again. It may not be the most efficient
way but it's safer given that command buffer is shared and overwritten
in hard-to-foresee situations.

Tested on x86_64-linux.

PR 30249
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30249

Approved-By: Tom Tromey <tom@tromey.com>
(cherry picked from commit b69378ced6)
2023-05-20 19:31:20 +01:00
GDB Administrator
c9cdea72da Automatic date update in version.in 2023-05-20 00:01:19 +00:00
GDB Administrator
dd397e126a Automatic date update in version.in 2023-05-19 00:01:15 +00:00
GDB Administrator
9fa7f3deb2 Automatic date update in version.in 2023-05-18 00:00:59 +00:00
GDB Administrator
0459630d58 Automatic date update in version.in 2023-05-17 00:01:02 +00:00
Khem Raj
186143c39e gdbserver/linux-low.cc: Fix a typo in ternary operator
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 2e977d9901)
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30450
2023-05-16 10:52:49 -06:00
GDB Administrator
53d9d0516b Automatic date update in version.in 2023-05-16 00:00:59 +00:00
Tom Tromey
49664141e1 Correctly handle forward DIE references in scanner
The cooked index scanner has special code to handle forward DIE
references.  However, a bug report lead to the discovery that this
code does not work -- the "deferred_entry::spec_offset" field is
written to but never used, i.e., the lookup is done using the wrong
key.

This patch fixes the bug and adds a regression test.

The test in the bug itself used a thread_local variable, which
provoked a failure at runtime.  This test instead uses "maint print
objfiles" and then inspects to ensure that the entry in question has a
parent.  This lets us avoid a clang dependency in the test.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30271

(cherry picked from commit b10f2cd3f3)
2023-05-15 09:10:33 -06:00
GDB Administrator
df7e1a3c15 Automatic date update in version.in 2023-05-15 00:00:58 +00:00
GDB Administrator
29d0a4928e Automatic date update in version.in 2023-05-14 00:00:46 +00:00
GDB Administrator
dab27b8a37 Automatic date update in version.in 2023-05-13 00:00:51 +00:00
GDB Administrator
dbaf8426ea Automatic date update in version.in 2023-05-12 00:01:41 +00:00
GDB Administrator
bf1abbf3a1 Automatic date update in version.in 2023-05-11 00:00:45 +00:00
GDB Administrator
54fb01a5c4 Automatic date update in version.in 2023-05-10 00:01:45 +00:00
GDB Administrator
2f464f5237 Automatic date update in version.in 2023-05-09 00:01:28 +00:00
GDB Administrator
26570c3c45 Automatic date update in version.in 2023-05-08 00:01:13 +00:00
GDB Administrator
28962d16b6 Automatic date update in version.in 2023-05-07 00:01:03 +00:00
GDB Administrator
8415822ffa Automatic date update in version.in 2023-05-06 00:00:54 +00:00
Simon Marchi
caaf38247f gdb: fix -Wsingle-bit-bitfield-constant-conversion warning in z80-tdep.c
When building with clang 16, I see:

    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:338:32: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
            info->prologue_type.load_args = 1;
                                          ^ ~
    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:345:36: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
          info->prologue_type.critical = 1;
                                       ^ ~
    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:351:37: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
          info->prologue_type.interrupt = 1;
                                        ^ ~
    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:367:36: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
                  info->prologue_type.fp_sdcc = 1;
                                              ^ ~
    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:375:35: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
          info->prologue_type.fp_sdcc = 1;
                                      ^ ~
    /home/smarchi/src/binutils-gdb/gdb/z80-tdep.c:380:35: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
          info->prologue_type.fp_sdcc = 1;
                                      ^ ~

Fix that by using "unsigned int" as the bitfield's underlying type.

(cherry picked from commit 07f2859348)

Change-Id: I3550a0112f993865dc70b18f02ab11bb5012693d
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30423
Approved-By: Tom Tromey <tom@tromey.com>
2023-05-05 15:27:06 -04:00
Simon Marchi
12e3f3bc6e gdbsupport: ignore -Wenum-constexpr-conversion in enum-flags.h
When building with clang 16, we get:

      CXX    gdb.o
    In file included from /home/smarchi/src/binutils-gdb/gdb/gdb.c:19:
    In file included from /home/smarchi/src/binutils-gdb/gdb/defs.h:65:
    /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/enum-flags.h:95:52: error: integer value -1 is outside the valid range of values [0, 15] for this enumeration type [-Wenum-constexpr-conversion]
        integer_for_size<sizeof (T), static_cast<bool>(T (-1) < T (0))>::type
                                                       ^

The error message does not make it clear in the context of which enum
flag this fails (i.e. what is T in this context), but it doesn't really
matter, we have similar warning/errors for many of them, if we let the
build go through.

clang is right that the value -1 is invalid for the enum type we cast -1
to.  However, we do need this expression in order to select an integer
type with the appropriate signedness.  That is, with the same signedness
as the underlying type of the enum.

I first wondered if that was really needed, if we couldn't use
std::underlying_type for that.  It turns out that the comment just above
says:

    /* Note that std::underlying_type<enum_type> is not what we want here,
       since that returns unsigned int even when the enum decays to signed
       int.  */

I was surprised, because std::is_signed<std::underlying_type<enum_type>>
returns the right thing.  So I tried replacing all this with
std::underlying_type, see if that would work.  Doing so causes some
build failures in unittests/enum-flags-selftests.c:

      CXX    unittests/enum-flags-selftests.o
    /home/smarchi/src/binutils-gdb/gdb/unittests/enum-flags-selftests.c:254:1: error: static assertion failed due to requirement 'gdb::is_same<selftests::enum_flags_tests::check_valid_expr254::archetype<enum_flags<s
    elftests::enum_flags_tests::RE>, selftests::enum_flags_tests::RE, enum_flags<selftests::enum_flags_tests::RE2>, selftests::enum_flags_tests::RE2, enum_flags<selftests::enum_flags_tests::URE>, selftests::enum_fla
    gs_tests::URE, int>, selftests::enum_flags_tests::check_valid_expr254::archetype<enum_flags<selftests::enum_flags_tests::RE>, selftests::enum_flags_tests::RE, enum_flags<selftests::enum_flags_tests::RE2>, selfte
    sts::enum_flags_tests::RE2, enum_flags<selftests::enum_flags_tests::URE>, selftests::enum_flags_tests::URE, unsigned int>>::value == true':
    CHECK_VALID (true,  int,  true ? EF () : EF2 ())
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/smarchi/src/binutils-gdb/gdb/unittests/enum-flags-selftests.c:91:3: note: expanded from macro 'CHECK_VALID'
      CHECK_VALID_EXPR_6 (EF, RE, EF2, RE2, UEF, URE, VALID, EXPR_TYPE, EXPR)
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/valid-expr.h:105:3: note: expanded from macro 'CHECK_VALID_EXPR_6'
      CHECK_VALID_EXPR_INT (ESC_PARENS (typename T1, typename T2,           \
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/smarchi/src/binutils-gdb/gdb/../gdbsupport/valid-expr.h:66:3: note: expanded from macro 'CHECK_VALID_EXPR_INT'
      static_assert (gdb::is_detected_exact<archetype<TYPES, EXPR_TYPE>,    \
      ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is a bit hard to decode, but basically enumerations have the
following funny property that they decay into a signed int, even if
their implicit underlying type is unsigned.  This code:

    enum A {};
    enum B {};

    int main() {
      std::cout << std::is_signed<std::underlying_type<A>::type>::value
                << std::endl;
      std::cout << std::is_signed<std::underlying_type<B>::type>::value
                << std::endl;
      auto result = true ? A() : B();
      std::cout << std::is_signed<decltype(result)>::value << std::endl;
    }

produces:

    0
    0
    1

So, the "CHECK_VALID" above checks that this property works for enum flags the
same way as it would if you were using their underlying enum types.  And
somehow, changing integer_for_size to use std::underlying_type breaks that.

Since the current code does what we want, and I don't see any way of doing it
differently, ignore -Wenum-constexpr-conversion around it.

(cherry picked from commit ae61525fcf)

Change-Id: Ibc82ae7bbdb812102ae3f1dd099fc859dc6f3cc2
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30423
Approved-By: Tom Tromey <tom@tromey.com>
2023-05-05 15:27:04 -04:00
GDB Administrator
1eee7aa650 Automatic date update in version.in 2023-05-05 00:00:57 +00:00
GDB Administrator
e3c9db5ea3 Automatic date update in version.in 2023-05-04 00:00:45 +00:00
GDB Administrator
6c6747bc53 Automatic date update in version.in 2023-05-03 00:01:18 +00:00
GDB Administrator
6a880a3ac0 Automatic date update in version.in 2023-05-02 00:01:02 +00:00
GDB Administrator
372e8383ca Automatic date update in version.in 2023-05-01 00:01:01 +00:00
GDB Administrator
3c79bd3620 Automatic date update in version.in 2023-04-30 00:00:56 +00:00
GDB Administrator
106c36ff21 Automatic date update in version.in 2023-04-29 00:01:09 +00:00
GDB Administrator
a49112870d Automatic date update in version.in 2023-04-28 00:00:53 +00:00
GDB Administrator
10765a6650 Automatic date update in version.in 2023-04-27 00:01:02 +00:00
GDB Administrator
81b693a4e7 Automatic date update in version.in 2023-04-26 00:01:07 +00:00
GDB Administrator
3c2fcf70d6 Automatic date update in version.in 2023-04-25 00:00:58 +00:00
GDB Administrator
e78b5e649a Automatic date update in version.in 2023-04-24 00:00:46 +00:00
GDB Administrator
08af75307f Automatic date update in version.in 2023-04-23 00:01:14 +00:00
WANG Rui
3310ec8b5b gdb: Fix false match issue in skip_prologue_using_linetable
[ Changes in v2:
  - rebase on trunk
  Changes in v3:
  - add test-case ]

We should exclude matches to the ending PC to prevent false matches with the
next function, as prologue_end is located at the end PC.

  <fun1>:
    0x00: ... <-- start_pc
    0x04: ...
    0x08: ... <-- breakpoint
    0x0c: ret
  <fun2>:
    0x10: ret <-- end_pc | prologue_end of fun2

Tested on x86_64-linux.

Co-Authored-By: WANG Rui <r@hev.cc> (fix, tiny change [1])
Co-Authored-By: Tom de Vries <tdevries@suse.de> (test-case)
Approved-by: Kevin Buettner <kevinb@redhat.com>

[1] https://www.gnu.org/prep/maintain/html_node/Legally-Significant.html

PR symtab/30369
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30369
2023-04-22 09:33:45 +02:00
GDB Administrator
6f0d75747f Automatic date update in version.in 2023-04-22 00:00:37 +00:00
GDB Administrator
1c2960e25c Automatic date update in version.in 2023-04-21 00:00:41 +00:00
GDB Administrator
e907ecf5e0 Automatic date update in version.in 2023-04-20 00:00:36 +00:00
GDB Administrator
b89160c2d8 Automatic date update in version.in 2023-04-19 00:01:21 +00:00
Tom de Vries
69eedc8e31 [gdb/symtab] Handle empty file name in .debug_line section
With DWARF 5, it's possible to produce an empty file name in the File Name
Table of the .debug_line section:
...
 The File Name Table (offset 0x112, lines 1, columns 2):
  Entry Dir     Name
  0     1       (indirect line string, offset: 0x2d):
...

Currently, when gdb reads an exec containing such debug info, it segfaults:
...
Thread 1 "gdb" received signal SIGSEGV, Segmentation fault.
0x000000000072cd38 in dwarf2_start_subfile (cu=0x2badc50, fe=..., lh=...) at \
  gdb/dwarf2/read.c:18716
18716     if (!IS_ABSOLUTE_PATH (filename) && dirname != NULL)
...
because read_direct_string transforms "" into a nullptr, and we end up
dereferencing the nullptr.

Note that the behaviour of read_direct_string has been present since repo
creation.

Fix this in read_formatted_entries, by transforming nullptr filenames in to ""
filenames.

Tested on x86_64-linux.

Reviewed-By: Tom Tromey <tom@tromey.com>

PR symtab/30357
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30357
2023-04-18 05:47:21 +02:00
GDB Administrator
05eafba441 Automatic date update in version.in 2023-04-18 00:01:13 +00:00
GDB Administrator
264563f173 Automatic date update in version.in 2023-04-17 00:00:58 +00:00
GDB Administrator
7559342d20 Automatic date update in version.in 2023-04-16 00:01:02 +00:00
GDB Administrator
3b8178bea2 Automatic date update in version.in 2023-04-15 00:00:56 +00:00
GDB Administrator
ae435ba3a4 Automatic date update in version.in 2023-04-14 00:00:56 +00:00
GDB Administrator
cb9fbf2694 Automatic date update in version.in 2023-04-13 00:00:37 +00:00
GDB Administrator
116524243e Automatic date update in version.in 2023-04-12 00:00:34 +00:00
GDB Administrator
7840e64290 Automatic date update in version.in 2023-04-11 00:00:34 +00:00
GDB Administrator
38e89bef80 Automatic date update in version.in 2023-04-10 00:00:55 +00:00
GDB Administrator
30c525d47f Automatic date update in version.in 2023-04-09 00:00:40 +00:00
GDB Administrator
35bcb4f14a Automatic date update in version.in 2023-04-08 00:00:50 +00:00
GDB Administrator
c35a7c837c Automatic date update in version.in 2023-04-07 00:00:31 +00:00
GDB Administrator
f67d203032 Automatic date update in version.in 2023-04-06 00:00:38 +00:00
GDB Administrator
efac80d4bd Automatic date update in version.in 2023-04-05 00:00:40 +00:00
GDB Administrator
b125afa290 Automatic date update in version.in 2023-04-04 00:00:37 +00:00
GDB Administrator
b7b17d806f Automatic date update in version.in 2023-04-03 00:00:33 +00:00
GDB Administrator
9e8f5b2aa0 Automatic date update in version.in 2023-04-02 00:00:27 +00:00
GDB Administrator
db944ee7c0 Automatic date update in version.in 2023-04-01 00:00:38 +00:00
GDB Administrator
0d09cb5369 Automatic date update in version.in 2023-03-31 00:00:53 +00:00
GDB Administrator
03e1f78fd5 Automatic date update in version.in 2023-03-30 00:00:31 +00:00
GDB Administrator
681f30742a Automatic date update in version.in 2023-03-29 00:00:35 +00:00
GDB Administrator
f20ed6a420 Automatic date update in version.in 2023-03-28 00:00:30 +00:00
GDB Administrator
8a0897f135 Automatic date update in version.in 2023-03-27 00:00:21 +00:00
GDB Administrator
83d67ba77a Automatic date update in version.in 2023-03-26 00:00:26 +00:00
GDB Administrator
913105ea21 Automatic date update in version.in 2023-03-25 00:00:32 +00:00
Luis Machado
b3eff3e155 aarch64: Check for valid inferior thread/regcache before reading pauth registers
There were reports of gdb throwing internal errors when calling
inferior_thread ()/get_current_regcache () on a system with
Pointer Authentication enabled.

In such cases, gdb produces the following backtrace, or a variation
of it (for gdb's with the non-address removal implemented only in
the aarch64-linux-tdep.c file).

../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
----- Backtrace -----
0xaaaae04a571f gdb_internal_backtrace_1
        ../../../repos/binutils-gdb/gdb/bt-utils.c:122
0xaaaae04a57f3 _Z22gdb_internal_backtracev
        ../../../repos/binutils-gdb/gdb/bt-utils.c:168
0xaaaae0b52ccf internal_vproblem
        ../../../repos/binutils-gdb/gdb/utils.c:401
0xaaaae0b5310b _Z15internal_verrorPKciS0_St9__va_list
        ../../../repos/binutils-gdb/gdb/utils.c:481
0xaaaae0e24b8f _Z18internal_error_locPKciS0_z
        ../../../repos/binutils-gdb/gdbsupport/errors.cc:58
0xaaaae0a88983 _Z15inferior_threadv
        ../../../repos/binutils-gdb/gdb/thread.c:86
0xaaaae0956c87 _Z20get_current_regcachev
        ../../../repos/binutils-gdb/gdb/regcache.c:428
0xaaaae035223f aarch64_remove_non_address_bits
        ../../../repos/binutils-gdb/gdb/aarch64-tdep.c:3572
0xaaaae03e8abb _Z31gdbarch_remove_non_address_bitsP7gdbarchm
        ../../../repos/binutils-gdb/gdb/gdbarch.c:3109
0xaaaae0a692d7 memory_xfer_partial
        ../../../repos/binutils-gdb/gdb/target.c:1620
0xaaaae0a695e3 _Z19target_xfer_partialP10target_ops13target_objectPKcPhPKhmmPm
        ../../../repos/binutils-gdb/gdb/target.c:1684
0xaaaae0a69e9f target_read_partial
        ../../../repos/binutils-gdb/gdb/target.c:1937
0xaaaae0a69fdf _Z11target_readP10target_ops13target_objectPKcPhml
        ../../../repos/binutils-gdb/gdb/target.c:1977
0xaaaae0a69937 _Z18target_read_memorymPhl
        ../../../repos/binutils-gdb/gdb/target.c:1773
0xaaaae08be523 ps_xfer_memory
        ../../../repos/binutils-gdb/gdb/proc-service.c:90
0xaaaae08be6db ps_pdread
        ../../../repos/binutils-gdb/gdb/proc-service.c:124
0x40001ed7c3b3 _td_fetch_value
        /build/glibc-RIFKjK/glibc-2.31/nptl_db/fetch-value.c:115
0x40001ed791ef td_ta_map_lwp2thr
        /build/glibc-RIFKjK/glibc-2.31/nptl_db/td_ta_map_lwp2thr.c:194
0xaaaae07f4473 thread_from_lwp
        ../../../repos/binutils-gdb/gdb/linux-thread-db.c:413
0xaaaae07f6d6f _ZN16thread_db_target4waitE6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE
        ../../../repos/binutils-gdb/gdb/linux-thread-db.c:1420
0xaaaae0a6b33b _Z11target_wait6ptid_tP17target_waitstatus10enum_flagsI16target_wait_flagE
        ../../../repos/binutils-gdb/gdb/target.c:2586
0xaaaae0789cf7 do_target_wait_1
        ../../../repos/binutils-gdb/gdb/infrun.c:3825
0xaaaae0789e6f operator()
        ../../../repos/binutils-gdb/gdb/infrun.c:3884
0xaaaae078a167 do_target_wait
        ../../../repos/binutils-gdb/gdb/infrun.c:3903
0xaaaae078b0af _Z20fetch_inferior_eventv
        ../../../repos/binutils-gdb/gdb/infrun.c:4314
0xaaaae076652f _Z22inferior_event_handler19inferior_event_type
        ../../../repos/binutils-gdb/gdb/inf-loop.c:41
0xaaaae07dc68b handle_target_event
        ../../../repos/binutils-gdb/gdb/linux-nat.c:4206
0xaaaae0e25fbb handle_file_event
        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:573
0xaaaae0e264f3 gdb_wait_for_event
        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:694
0xaaaae0e24f9b _Z16gdb_do_one_eventi
        ../../../repos/binutils-gdb/gdbsupport/event-loop.cc:217
0xaaaae080f033 start_event_loop
        ../../../repos/binutils-gdb/gdb/main.c:411
0xaaaae080f1b7 captured_command_loop
        ../../../repos/binutils-gdb/gdb/main.c:475
0xaaaae0810b97 captured_main
        ../../../repos/binutils-gdb/gdb/main.c:1318
0xaaaae0810c1b _Z8gdb_mainP18captured_main_args
        ../../../repos/binutils-gdb/gdb/main.c:1337
0xaaaae0338453 main
        ../../../repos/binutils-gdb/gdb/gdb.c:32
---------------------
../../../repos/binutils-gdb/gdb/thread.c:86: internal-error: inferior_thread: Assertion `current_thread_ != nullptr' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

We also see failures across the testsuite if the tests get executed on a target
that has native support for the pointer authentication feature. But
gdb.base/break.exp and gdb.base/access-mem-running.exp are two examples of
tests that run into errors and internal errors.

This issue started after commit d88cb738e6, which
enabled more broad use of pointer authentication masks to remove non-address
bits of pointers, but wasn't immediately detected because systems with native
support for pointer authentication are not that common yet.

The above crash happens because gdb is in the middle of handling an event,
and do_target_wait_1 calls switch_to_inferior_no_thread, nullifying the
current thread.  This means a call to inferior_thread () will assert, and
attempting to call get_current_regcache () will also call inferior_thread (),
resulting in an assertion as well.

target_has_registers was one function that seemed useful for detecting these
types of situation where we don't have a register cache. The problem with that
is the inconsistent state of inferior_ptid, which is used by
target_has_registers.

Despite the call to switch_to_no_thread in switch_to_inferior_no_thread from
do_target_wait_1 in the backtrace above clearing inferior_ptid, the call to
ps_xfer_memory sets inferior_ptid momentarily before reading memory:

static ps_err_e
ps_xfer_memory (const struct ps_prochandle *ph, psaddr_t addr,
                gdb_byte *buf, size_t len, int write)
{
  scoped_restore_current_inferior restore_inferior;
  set_current_inferior (ph->thread->inf);

  scoped_restore_current_program_space restore_current_progspace;
  set_current_program_space (ph->thread->inf->pspace);

  scoped_restore save_inferior_ptid = make_scoped_restore (&inferior_ptid);
  inferior_ptid = ph->thread->ptid;

  CORE_ADDR core_addr = ps_addr_to_core_addr (addr);

  int ret;
  if (write)
    ret = target_write_memory (core_addr, buf, len);
  else
    ret = target_read_memory (core_addr, buf, len);
  return (ret == 0 ? PS_OK : PS_ERR);
}

Maybe this shouldn't happen, or maybe it is just an unfortunate state to be
in. But this prevents the use of target_has_registers to guard against the
lack of registers, since, although current_thread_ is still nullptr,
inferior_ptid is valid and is not null_ptid.

There is another crash scenario after we kill a previously active inferior, in
which case the gdbarch will still say we support pointer authentication but we
will also have no current thread (inferior_thread () will assert etc).

If the target has support for pointer authentication, gdb needs to use
a couple (or 4, for bare-metal) mask registers to mask off some bits of
pointers, and for that it needs to access the registers.

At some points, like the one from the backtrace above, there is no active
thread/current regcache because gdb is in the middle of doing event handling
and switching between threads.

Simon suggested the use of inferior_ptid to fetch the register cache, as
opposed to relying on the current register cache.  Though we need to make sure
inferior_ptid is valid (not null_ptid), I think this works nicely.

With inferior_ptid, we can do safety checks along the way, making sure we have
a thread to fetch a register cache from and checking if the thread is actually
stopped or running.

The following patch implements this idea with safety checks to make sure we
don't run into assertions or errors.  If any of the checks fail, we fallback to
using a default mask to remove non-address bits of a pointer.

I discussed with Pedro the possibility of caching the mask register values
(which are per-process and can change mid-execution), but there isn't a good
spot to cache those values. Besides, the mask registers can change constantly
for bare-metal debugging when switching between exception levels.

In some cases, it is just not possible to get access to these mask registers,
like the case where threads are running. In those cases, using a default mask
to remove the non-address bits should be enough.

This can happen when we let threads run in the background and then we attempt
to access a memory address (now that gdb is capable of reading memory even
with threads running).  Thus gdb will attempt to remove non-address bits
of that memory access, will attempt to access registers, running into errors.

Regression-tested on aarch64-linux Ubuntu 20.04.
2023-03-24 12:36:49 +00:00
GDB Administrator
d0eff5dbcb Automatic date update in version.in 2023-03-24 00:00:59 +00:00
GDB Administrator
3cfee3b5cb Automatic date update in version.in 2023-03-23 00:01:22 +00:00
GDB Administrator
8067be0fc6 Automatic date update in version.in 2023-03-22 00:00:54 +00:00
GDB Administrator
404b84adaf Automatic date update in version.in 2023-03-21 00:01:13 +00:00
GDB Administrator
56ac43d472 Automatic date update in version.in 2023-03-20 00:01:07 +00:00
GDB Administrator
0079429826 Automatic date update in version.in 2023-03-19 00:00:57 +00:00
GDB Administrator
502154cc76 Automatic date update in version.in 2023-03-18 00:01:12 +00:00
GDB Administrator
0c8d88bd9d Automatic date update in version.in 2023-03-17 00:00:49 +00:00
GDB Administrator
6dde7de287 Automatic date update in version.in 2023-03-16 00:01:15 +00:00
GDB Administrator
4947ba8ce9 Automatic date update in version.in 2023-03-15 00:01:07 +00:00
GDB Administrator
c866f18f05 Automatic date update in version.in 2023-03-14 00:01:31 +00:00
Tom Tromey
562403d4f5 Fix crash in inside_main_func
gdb 13.1 crashes while running the rust compiler's debugger tests.
The crash has a number of causes.

First, the rust compiler still uses the C++-like _Z mangling, but with
its own twist -- some hex digits added to the end of a symbol.  So,
while gdb finds the correct name of "main":

(top-gdb) p name
$13 = 0x292e0c0 "rustc_gdb_1031745::main"

It isn't found in the minsyms, because C++ demangling yields:

[99] t 0x90c0 _ZN17rustc_gdb_10317454main17h5b5be7fe16a97225E section .text  rustc_gdb_1031745::main::h5b5be7fe16a97225  zko06yobckx336v

This could perhaps be fixed.  I also filed a new PR to suggest
preferring the linkage name of the main program.

Next, the rust compiler emits both a DW_TAG_subprogram and a
DW_TAG_namespace for "main".  This happens because the file is named
"main.rs" -- i.e., the bug is specific to the source file name.  The
crash also seems to require the nested function inside of 'main', at
least for me.  The namespace always is generated, but perhaps this
changes the ordering in the DWARF.

When inside_main_func looks up the main symbol, it finds the namespace
symbol rather than the function.  (I filed a bug about fixing gdb's
symbol tables -- long overdue.)

Meanwhile, as I think it's important to fix this crash sooner rather
than later, this patch changes inside_main_func to check that the
symbol that is found is LOC_BLOCK.  This perhaps should have been done
in the first place, anyway.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30158

(cherry picked from commit 5f056fcb3d)
2023-03-13 14:19:21 -06:00
GDB Administrator
792b1fd5a8 Automatic date update in version.in 2023-03-13 00:00:50 +00:00
GDB Administrator
f06873510d Automatic date update in version.in 2023-03-12 00:01:03 +00:00
GDB Administrator
b40137baaf Automatic date update in version.in 2023-03-11 00:00:59 +00:00
John Baldwin
a980a7d24b PR gdb/30214: Prefer local include paths to system include paths
Some systems may install binutils headers into a system location
(e.g. /usr/local/include on FreeBSD) which may also include headers
for other external packages used by GDB such as zlib or zstd.  If a
system include path such as /usr/local/include is added before local
include paths to directories within a clone or release tarball, then
headers from the external binutils package are used which can result
in build failures if the external binutils package is out of sync with
the version of GDB being built.

To fix, sort the include paths in INTERNAL_CFLAGS_BASE to add CFLAGS
for "local" componenets before external components.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30214
Reviewed-By: Tom Tromey <tom@tromey.com>
(cherry picked from commit a2fbb69038)
2023-03-10 12:06:42 -08:00
GDB Administrator
cb7fd28390 Automatic date update in version.in 2023-03-10 00:01:11 +00:00
GDB Administrator
885ab3db98 Automatic date update in version.in 2023-03-09 00:00:51 +00:00
GDB Administrator
b7d1a75ca7 Automatic date update in version.in 2023-03-08 00:01:01 +00:00
GDB Administrator
8487291757 Automatic date update in version.in 2023-03-07 00:01:33 +00:00
GDB Administrator
e54175bd12 Automatic date update in version.in 2023-03-06 00:00:58 +00:00
GDB Administrator
de76b54b28 Automatic date update in version.in 2023-03-05 00:00:57 +00:00
GDB Administrator
cb3c6519cd Automatic date update in version.in 2023-03-04 00:00:59 +00:00
GDB Administrator
31b17e2106 Automatic date update in version.in 2023-03-03 00:00:53 +00:00
GDB Administrator
76e8b48e86 Automatic date update in version.in 2023-03-02 00:01:02 +00:00
GDB Administrator
a003e63803 Automatic date update in version.in 2023-03-01 00:01:20 +00:00
GDB Administrator
a9dc6b99c1 Automatic date update in version.in 2023-02-28 00:00:59 +00:00
GDB Administrator
864009de89 Automatic date update in version.in 2023-02-27 00:00:33 +00:00
GDB Administrator
bc8af55ae5 Automatic date update in version.in 2023-02-26 00:00:33 +00:00
GDB Administrator
a55702108f Automatic date update in version.in 2023-02-25 00:00:33 +00:00
GDB Administrator
812ca62301 Automatic date update in version.in 2023-02-24 00:00:38 +00:00
GDB Administrator
da8e6a5da0 Automatic date update in version.in 2023-02-23 00:00:51 +00:00
GDB Administrator
d17e9c8c97 Automatic date update in version.in 2023-02-22 00:01:10 +00:00
GDB Administrator
0426ba8f52 Automatic date update in version.in 2023-02-21 00:00:44 +00:00
GDB Administrator
c0af3c5630 Automatic date update in version.in 2023-02-20 00:00:33 +00:00
Joel Brobecker
1d2740610c Bump GDB's version number to 13.1.90.DATE-git.
This commit changes gdb/version.in to 13.1.90.DATE-git.

This commit also makes the following changes in gdb/testsuite:

	* gdb.base/default.exp: Change $_gdb_minor to 2.
2023-02-19 18:00:08 +04:00
Joel Brobecker
4f3e26ac6e Set GDB version number to 13.1.
This commit changes gdb/version.in to 13.1.
2023-02-19 17:45:06 +04:00
GDB Administrator
9761733ec7 Automatic date update in version.in 2023-02-19 00:00:50 +00:00
Tom Tromey
7f4307436f Fix "start" for D, Rust, etc
The new DWARF indexer broke "start" for some languages.

For D, it is broken because, while the code in cooked_index_shard::add
specifically excludes Ada, it fails to exclude D.  This means that the
C "main" will be detected as "main" here -- whereas what is intended
is for the code in find_main_name to use d_main_name to find the name.

The Rust compiler, on the other hand, uses DW_AT_main_subprogram.
However, the code in dwarf2_build_psymtabs_hard fails to create a
fully-qualified name, so the name always ends up as plain "main".

For D and Ada, a very simple approach suffices: remove the check
against "main" from cooked_index_shard::add.  This also has the
benefit of slightly speeding up DWARF indexing.  I assume this
approach will work for Pascal and Modula-2 as well, but I don't have a
way to test those at present.

For Rust, though, this is not sufficient.  And, computing the
fully-qualified name in dwarf2_build_psymtabs_hard will crash, because
cooked_index_entry::full_name uses the canonical name -- and that is
not computed until after canonicalization.

However, we don't want to wait for canonicalization to be done before
computing the main name.  That would remove any benefit from doing
canonicalization is the background.

This patch solves this dilemma by noticing that languages using
DW_AT_main_subprogram are, currently, disjoint from languages
requiring canonicalization.  Because of this, we can add a parameter
to full_name to let us avoid crashes, slowdowns, and races here.

This is kind of tricky and ugly, so I've tried to comment it
sufficiently.

While doing this, I had to change gdb.dwarf2/main-subprogram.exp.  A
different possibility here would be to ignore the canonicalization
needs of C in this situation, because those only affect certain types.
However, I chose this approach because the test case is artificial
anyhow.

A long time ago, in an earlier threading attempt, I changed the global
current_language to be a function (hidden behind a macro) to let us
attempt lazily computing the current language.  Perhaps this approach
could still be made to work.  However, that also seemed rather tricky,
more so than this patch.

Reviewed-By: Andrew Burgess <aburgess@redhat.com>
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30116
(cherry picked from commit 47fe57c928)
2023-02-18 16:30:31 -07:00
GDB Administrator
c7c263ea9c Automatic date update in version.in 2023-02-18 00:00:27 +00:00
GDB Administrator
ba1572b512 Automatic date update in version.in 2023-02-17 00:00:39 +00:00
GDB Administrator
34c8bf99b6 Automatic date update in version.in 2023-02-16 00:00:38 +00:00
GDB Administrator
53622d843b Automatic date update in version.in 2023-02-15 00:00:44 +00:00
GDB Administrator
3053fcf3d1 Automatic date update in version.in 2023-02-14 00:00:44 +00:00
Keith Seitz
c594b6f7d5 Fix doc build dependencies for --with-system-readline
PR build/30108 concerns building gdb documentation with
--with-sytem-readline.  If the in-tree readline directory is
missing, though, the docs will fail to build:

make[4]: Entering directory '/home/keiths/work/readline-doc-issue/linux/gdb/doc'
make[4]: *** No rule to make target '../../../src/gdb/doc/../../readline/readline/doc/rluser.texi', needed by 'gdb.info'.  Stop.

The listed file (and hsuser.texi) are conditionally included by gdb.texinfo.
When system readline is used, gdb/configure.ac will leave
READLINE_TEXI_INCFLAGS empty, causing doc/Makefile.in to output a line to
$BUILD/doc/GDBvn.texi with "@set SYSTEM_READLINE".  This surpresses the
inclusion of the missing files. They are not needed or used in this
scenario.

However, GDB_DOC_SOURCE_INCLUDES always lists these two files as dependencies,
thus provoking the build error whenever readline/ is missing.

This patch fixes this by creating (essentially) a conditional setting of the
dependencies to be included from readline.
2023-02-13 06:20:58 -08:00
GDB Administrator
6e92595dc2 Automatic date update in version.in 2023-02-13 00:00:26 +00:00
GDB Administrator
62f2dfcc74 Automatic date update in version.in 2023-02-12 00:00:26 +00:00
GDB Administrator
4b69f04bd8 Automatic date update in version.in 2023-02-11 00:00:32 +00:00
GDB Administrator
a0f9e84579 Automatic date update in version.in 2023-02-10 00:00:34 +00:00
GDB Administrator
8364dca17d Automatic date update in version.in 2023-02-09 00:00:43 +00:00
GDB Administrator
257660c3de Automatic date update in version.in 2023-02-08 00:00:45 +00:00
GDB Administrator
e045e0fa77 Automatic date update in version.in 2023-02-07 00:00:45 +00:00
GDB Administrator
5f157ecd60 Automatic date update in version.in 2023-02-06 00:00:44 +00:00
GDB Administrator
9a7d273178 Automatic date update in version.in 2023-02-05 00:00:37 +00:00
GDB Administrator
3199e96dae Automatic date update in version.in 2023-02-04 00:00:28 +00:00
GDB Administrator
39d4bba77d Automatic date update in version.in 2023-02-03 00:00:42 +00:00
Joel Brobecker
83f1f651c7 Bump GDB's version number to 13.0.91.DATE-git.
This commit changes gdb/version.in to 13.0.91.DATE-git.
2023-02-02 09:23:37 +04:00
Nick Clifton
16c45b9ab6 Ensure that libbacktrace/allocfail.sh is not deleted when creating release tarballs.
* Makefile.am (CLEANFILES): Import patch from upstream to prevent
        allocafail.sh from being removed when running 'make clean'.

(cherry picked from commit edf64cd235)
2023-02-02 08:54:49 +04:00
Joel Brobecker
a27bbd9878 Set GDB version number to 13.0.91.
This commit changes gdb/version.in to 13.0.91.
2023-02-02 07:55:07 +04:00
Joel Brobecker
cc49130bda gdb/NEWS: Change "Changes since GDB 12" to "Changes in GDB 13".
Now that the version number is confirmed to GDB 13, this commit
updates the gdb/NEWS file accordingly, as per GDB's release procedures.
2023-02-02 07:49:08 +04:00
GDB Administrator
7b48b6d70a Automatic date update in version.in 2023-02-02 00:00:28 +00:00
GDB Administrator
59f9d0c5cb Automatic date update in version.in 2023-02-01 00:00:45 +00:00
Torbjörn SVENSSON
7944d45790 gdb/arm: Use new dwarf2 function cache
This patch resolves the performance issue reported in pr/29738 by
caching the values for the stack pointers for the inner frame.  By
doing so, the impact can be reduced to checking the state and
returning the appropriate value.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Signed-off-by: Yvan Roux <yvan.roux@foss.st.com>
2023-01-31 13:39:01 +00:00
Torbjörn SVENSSON
2d36c9404e gdb: dwarf2 generic implementation for caching function data
When there is no dwarf2 data for a register, a function can be called
to provide the value of this register.  In some situations, it might
not be trivial to determine the value to return and it would cause a
performance bottleneck to do the computation each time.

This patch allows the called function to have a "cache" object that it
can use to store some metadata between calls to reduce the performance
impact of the complex logic.

The cache object is unique for each function and frame, so if there are
more than one function pointer stored in the dwarf2_frame_cache->reg
array, then the appropriate pointer will be supplied (the type is not
known by the dwarf2 implementation).

dwarf2_frame_get_fn_data can be used to retrieve the function unique
cache object.
dwarf2_frame_allocate_fn_data can be used to allocate and retrieve the
function unique cache object.

Signed-off-by: Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
Signed-off-by: Yvan Roux <yvan.roux@foss.st.com>
2023-01-31 13:38:44 +00:00
GDB Administrator
ccb99ed2cb Automatic date update in version.in 2023-01-31 00:00:36 +00:00
Tom Tromey
7ba1fc5a18 Fix comparator bug in cooked index
Simon pointed out that the cooked index template-matching patch
introduced a failure in libstdc++ debug mode.  In particular, the new
code violates the assumption of std::lower_bound and std::upper_bound
that the range is sorted with respect to the comparison.

When I first debugged this, I thought the problem was unfixable as-is
and that a second layer of filtering would have to be done.  However,
on irc, Simon pointed out that it could perhaps be solved if the
comparison function were assured that one operand always came from the
index, with the other always being the search string.

This patch implements this idea.

First, a new mode is introduced: a sorting mode for
cooked_index_entry::compare.  In this mode, strings are compared
case-insensitively, but we're careful to always sort '<' before any
other printable character.  This way, two names like "func" and
"func<param>" will be sorted next to each other -- i.e., "func1" will
not be seen between them.  This is important when searching.

Second, the compare function is changed to work in a strcmp-like way.
This makes it easier to test and (IMO) understand.

Third, the compare function is modified so that in non-sorting modes,
the index entry is always the first argument.  This allows consistency
in compares.

I regression tested this in libstdc++ debug mode on x86-64 Fedora 36.
It fixes the crash that Simon saw.

This is v2.  I believe it addresses the review comments, except for
the 'enum class' change, as I mentioned in email on the list.

Approved-By: Simon Marchi <simon.marchi@efficios.com>

(cherry picked from commit c121e82c39)
2023-01-30 10:49:55 -07:00
GDB Administrator
f36a570ad4 Automatic date update in version.in 2023-01-30 00:00:51 +00:00
GDB Administrator
ce6dea4c4c Automatic date update in version.in 2023-01-29 00:01:35 +00:00
GDB Administrator
c6a722b3c3 Automatic date update in version.in 2023-01-28 00:01:00 +00:00
GDB Administrator
0dd4a8af81 Automatic date update in version.in 2023-01-27 00:00:34 +00:00
GDB Administrator
e0f4beb3a0 Automatic date update in version.in 2023-01-26 00:00:33 +00:00
GDB Administrator
12dd2ec62f Automatic date update in version.in 2023-01-25 00:00:51 +00:00
GDB Administrator
b07439230b Automatic date update in version.in 2023-01-24 00:00:57 +00:00
GDB Administrator
a0ab91c141 Automatic date update in version.in 2023-01-23 00:00:53 +00:00
GDB Administrator
7f2778a363 Automatic date update in version.in 2023-01-22 00:00:30 +00:00
GDB Administrator
378135c586 Automatic date update in version.in 2023-01-21 00:00:33 +00:00
GDB Administrator
80e3c0c758 Automatic date update in version.in 2023-01-20 00:00:38 +00:00
GDB Administrator
6008f313d3 Automatic date update in version.in 2023-01-19 00:00:48 +00:00
GDB Administrator
ca1b45b87c Automatic date update in version.in 2023-01-18 00:00:49 +00:00
Tom Tromey
83d3152401 Fix parameter-less template regression in new DWARF reader
PR c++/29896 points out a regression in the new DWARF reader.  It does
not properly handle a case like "break fn", where "fn" is a template
function.

This happens because the new index uses strncasecmp to compare.
However, to make this work correctly, we need a custom function that
ignores template parameters.

This patch adds a custom comparison function and fixes the bug.  A new
test case is included.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29896

(cherry picked from commit ac37b79cc4)
2023-01-17 07:07:00 -07:00
Tom Tromey
947b698401 Move hash_entry and eq_entry into cooked_index::do_finalize
I was briefly confused by the hash_entry and eq_entry functions in the
cooked index.  They are only needed in a single method, and that
method already has a couple of local lambdas for a different hash
table.  So, it seemed cleaner to move these there as well.

(cherry picked from commit 5a89072f36)
2023-01-17 07:06:58 -07:00
Tom Tromey
6107546876 Avoid submitting empty tasks in parallel_for_each
I found that parallel_for_each would submit empty tasks to the thread
pool.  For example, this can happen if the number of tasks is smaller
than the number of available threads.  In the DWARF reader, this
resulted in the cooked index containing empty sub-indices.  This patch
arranges to instead shrink the result vector and process the trailing
entries in the calling thread.

(cherry picked from commit 63078a0498)
2023-01-17 07:06:56 -07:00
GDB Administrator
2ec9694617 Automatic date update in version.in 2023-01-17 00:01:16 +00:00
GDB Administrator
5d53fb99d5 Automatic date update in version.in 2023-01-16 00:01:01 +00:00
GDB Administrator
e6a3c6ab33 Automatic date update in version.in 2023-01-15 00:01:00 +00:00
GDB Administrator
b6762b3d7c Automatic date update in version.in 2023-01-14 00:00:38 +00:00
GDB Administrator
d54a65f427 Automatic date update in version.in 2023-01-13 00:01:01 +00:00
Tom Tromey
3cc048fc6b Set _WIN32_WINNT in common.m4 configure check
GCC recently added support for the Windows thread model, enabling
libstdc++ to support Windows natively.  However, this supporrt
requires a version of Windows later than the minimum version that is
supported by GDB.

PR build/29966 points out that the GDB configure test for std::thread
does not work in this situation, because _WIN32_WINNT is not defined
in test program, and so <thread> seems to be fine.

This patch is an attempt to fix the problem, by using the same setting
for _WIN32_WINNT at configure time as is used at build time.

I don't have access to one of the older systems so I don't think I can
truly test this.  I did do a mingw cross build, though.  I'm going to
ask the bug reporter to test it.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29966

(cherry picked from commit 2124b2de4b)
2023-01-12 07:20:46 -07:00
GDB Administrator
86ac3f1401 Automatic date update in version.in 2023-01-12 00:01:26 +00:00
GDB Administrator
95d3c7776d Automatic date update in version.in 2023-01-11 00:00:47 +00:00
GDB Administrator
5fcfbade4e Automatic date update in version.in 2023-01-10 00:01:20 +00:00
GDB Administrator
02ccd8cfbc Automatic date update in version.in 2023-01-09 00:01:22 +00:00
GDB Administrator
15c994179b Automatic date update in version.in 2023-01-08 00:01:06 +00:00
GDB Administrator
82a83b0f41 Automatic date update in version.in 2023-01-07 00:00:53 +00:00
GDB Administrator
514dead4d8 Automatic date update in version.in 2023-01-06 00:01:12 +00:00
GDB Administrator
01b95e43f8 Automatic date update in version.in 2023-01-05 00:01:00 +00:00
GDB Administrator
8c189ebcd2 Automatic date update in version.in 2023-01-04 00:00:49 +00:00
Andrew Burgess
322fde46dc [gdb] Fix segfault during inferior call to ifunc
With a simple test-case:
...
$ cat test.c
char *p = "a";
int main (void) {
  return strlen (p);
}
$ gcc -g test.c
...
we run into this segfault:
...
$ gdb -q -batch a.out -ex start -ex "p strlen (p)"
Temporary breakpoint 1 at 0x1151: file test.c, line 4.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Temporary breakpoint 1, main () at test.c:4
4	  return strlen (p);

Fatal signal: Segmentation fault
...

The strlen is an ifunc, and consequently during the call to
call_function_by_hand_dummy for "p strlen (p)" another call
to call_function_by_hand_dummy is used to resolve the ifunc.

This invalidates the get_current_frame () result in the outer call.

Fix this by using prepare_reinflate and reinflate.

Note that this series (
https://inbox.sourceware.org/gdb-patches/20221214033441.499512-1-simon.marchi@polymtl.ca/ )
should address this problem, but this patch is a simpler fix which is easy to
backport.

Tested on x86_64-linux.

Co-Authored-By: Tom de Vries <tdevries@suse.de>
PR gdb/29941
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29941
2023-01-03 11:53:09 +01:00
GDB Administrator
44916dc850 Automatic date update in version.in 2023-01-03 00:00:38 +00:00
Jonas Hoerberg
08bdba1418 Fix target remote pipe command for MinGW
The cced7cacec ("gdb: preserve `|` in connection details string")
commit added '|' detection and removal to ser-pipe.c, but missed to add it
to ser-mingw.c.

This results in the error message below for MinGW hosts:
error starting child process '| <executable> <args>': CreateProcess: No such file or directory

This commit add the missing '|' detection and removal to ser-mingw.c.

(cherry picked from commit c43d829bca)
2023-01-02 08:11:07 -07:00
GDB Administrator
33214e7a6d Automatic date update in version.in 2023-01-02 00:00:31 +00:00
Joel Brobecker
a943a2644d manual copyright year range of various GDB files to add 2023
This commit updates the following file...

   gdb/doc/gdb.texinfo
   gdb/doc/refcard.tex
   gdb/syscalls/update-netbsd.sh

... by hand as instructed by the gdb/copyright.py script.
The update by hand is needed because the copyright headers
to update are actually nested inside those files, rather
than located at the start of the file.

(cherry picked from commit 944bfb2ccb)
2023-01-01 17:07:44 +04:00
Joel Brobecker
a493ca9ec0 Update copyright year range in header of all files managed by GDB
This commit is the result of running the gdb/copyright.py script,
which automated the update of the copyright year range for all
source files managed by the GDB project to be updated to include
year 2023.
2023-01-01 17:07:37 +04:00
Joel Brobecker
1806fe04b0 gdb/copyright.py: Adjust following rename of sim/ppc/ppc-instructions...
... to sim/ppc/powerpc.igen

This file is in the NOT_FSF_LIST because this file has a copyright
which is not assigned to the FSF. Since the file got renamed,
the corresponding entry in NOT_FSF_LIST needs to be renamed as well.

(cherry picked from commit e4661570ea)
2023-01-01 17:07:32 +04:00
Joel Brobecker
47004354ff Update copyright year in help message of gdb, gdbserver, gdbreplay
This commit updates the copyright year displayed by gdb, gdbserver
and gdbreplay's help message from 2022 to 2023, as per our Start
of New Year procedure. The corresponding source files' copyright
header are also updated accordingly.

(cherry picked from commit e1ca55341c)
2023-01-01 17:07:20 +04:00
GDB Administrator
41be9b6a6d Automatic date update in version.in 2023-01-01 00:00:31 +00:00
GDB Administrator
4102b8f7a8 Automatic date update in version.in 2022-12-31 00:01:01 +00:00
GDB Administrator
c3f45d1e9a Automatic date update in version.in 2022-12-30 00:00:39 +00:00
GDB Administrator
04a82ddcb1 Automatic date update in version.in 2022-12-29 00:00:38 +00:00
Tom Tromey
ecb7214fc1 Fix "set debug timestamp"
PR cli/29945 points out that "set debug timestamp 1" stopped working
-- this is a regression due to commit b8043d27 ("Remove a ui-related
memory leak").

This patch fixes the bug and adds a regression test.

I think this should probably be backported to the gdb 13 branch.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29945

(cherry picked from commit a60535c39b)
2022-12-28 09:38:34 -07:00
GDB Administrator
bb9bdfb840 Automatic date update in version.in 2022-12-28 00:00:56 +00:00
GDB Administrator
e69618fb98 Automatic date update in version.in 2022-12-27 00:01:08 +00:00
GDB Administrator
aad9e4797f Automatic date update in version.in 2022-12-26 00:00:25 +00:00
GDB Administrator
204c8ed14d Automatic date update in version.in 2022-12-25 00:00:54 +00:00
GDB Administrator
661169d7b5 Automatic date update in version.in 2022-12-24 00:00:38 +00:00
GDB Administrator
08081297f6 Automatic date update in version.in 2022-12-23 00:02:38 +00:00
Eli Zaretskii
2d71df1e2f Fix MinGW build using mingw.org's MinGW
This allows to build GDB even though the default value of
_WIN32_WINNT is lower than the one needed to expose some
new APIs used here, and leave the test for their actual
support to run time.
* gdb/nat/windows-nat.c (EXTENDED_STARTUPINFO_PRESENT): Define if
not defined.
(create_process_wrapper): Use 'gdb_lpproc_thread_attribute_list'
instead of 'PPROC_THREAD_ATTRIBUTE_LIST' (which might not be defined
at compile time).  This fixes compilation error using mingw.org's
MinGW.
2022-12-22 12:42:24 +02:00
Alan Modra
cadab61a48 PR29915, bfdio.c does not compile with mingw.org's MinGW
PR 29915
	* configure.ac: Add AC_CHECK_DECLS test ___lc_codepage_func.
	* configure: Regenerate.
	* config.in: Regenerate.
	* bfdio.c (___lc_codepage_func): Move declaration to..
	(_bfd_real_fopen): ..here, and use !HAVE_DECL____LC_CODEPAGE_FUNC.

(cherry picked from commit 9d09914492)
2022-12-22 12:37:55 +02:00
GDB Administrator
4547ad37f8 Automatic date update in version.in 2022-12-22 00:01:48 +00:00
GDB Administrator
467cc79cd2 Automatic date update in version.in 2022-12-21 00:01:36 +00:00
Hannes Domani
a444d5309d Fix install-strip target
The libtool patch broke install-strip of gdb:

/bin/sh ../../gdb/../mkinstalldirs /src/gdb/inst/share/gdb/python/gdb
transformed_name=`t='s,y,y,'; \
                  echo gdb | sed -e "$t"` ; \
        if test "x$transformed_name" = x; then \
          transformed_name=gdb ; \
        else \
          true ; \
        fi ; \
        /bin/sh ../../gdb/../mkinstalldirs /src/gdb/inst/bin ; \
        /bin/sh ./libtool --mode=install STRIPPROG='strip' /bin/sh /src/gdb/gdb.git/install-sh -c -s \
                gdb \
                /src/gdb/inst/bin/$transformed_name ; \
        /bin/sh ../../gdb/../mkinstalldirs /src/gdb/inst/include/gdb ; \
        /usr/bin/install -c -m 644 jit-reader.h /src/gdb/inst/include/gdb/jit-reader.h
libtool: install: `/src/gdb/inst/bin/gdb' is not a directory
libtool: install: Try `libtool --help --mode=install' for more information.

Since INSTALL_PROGRAM_ENV is no longer at the beginning of the command, the
gdb executable is not installed with install-strip.
2022-12-20 20:43:26 +01:00
Jan Vrany
a47dacc45b gdb: fix command lookup in execute_command ()
Commit b5661ff2 ("gdb: fix possible use-after-free when
executing commands") used lookup_cmd_exact () to lookup
command again after its execution to avoid possible
use-after-free error.

However this change broke test gdb.base/define.exp which
defines a post-hook for subcommand ("target testsuite").
In this case,  lookup_cmd_exact () returned NULL because
there's no command 'testsuite' in top-level commands.

This commit fixes this case by looking up the command again
using the original command line via lookup_cmd ().

Approved-By: Simon Marchi <simon.marchi@efficios.com>
(cherry picked from commit 37e5833da5)
2022-12-20 12:02:02 -07:00
GDB Administrator
e110f63216 Automatic date update in version.in 2022-12-20 00:01:24 +00:00
GDB Administrator
8897f1690e Automatic date update in version.in 2022-12-19 00:01:54 +00:00
Joel Brobecker
006808a9a7 Set development mode to "off" by default.
This is done by setting the "development" variable to "false"
in bfd/development.sh.
2022-12-18 08:34:09 +04:00
Joel Brobecker
117d18d2fc Bump version to 13.0.90.DATE-git.
Now that the GDB 13 branch has been created,
this commit bumps the version number in gdb/version.in to
13.0.90.DATE-git

For the record, the GDB 13 branch was created
from commit 71c90666e6.
2022-12-18 08:33:54 +04:00
7081 changed files with 8384 additions and 7243 deletions

View File

@@ -31,11 +31,6 @@
#include <locale.h>
#endif
#if defined(__MINGW64_VERSION_MAJOR) && __MINGW64_VERSION_MAJOR < 9
/* This prototype was added to locale.h in version 9.0 of MinGW-w64. */
_CRTIMP unsigned int __cdecl ___lc_codepage_func(void);
#endif
#ifndef S_IXUSR
#define S_IXUSR 0100 /* Execute by owner. */
#endif
@@ -127,7 +122,11 @@ _bfd_real_fopen (const char *filename, const char *modes)
const wchar_t prefix[] = L"\\\\?\\";
const size_t partPathLen = strlen (filename) + 1;
#ifdef __MINGW32__
const unsigned int cp = ___lc_codepage_func();
#if !HAVE_DECL____LC_CODEPAGE_FUNC
/* This prototype was added to locale.h in version 9.0 of MinGW-w64. */
_CRTIMP unsigned int __cdecl ___lc_codepage_func (void);
#endif
const unsigned int cp = ___lc_codepage_func ();
#else
const unsigned int cp = CP_UTF8;
#endif

View File

@@ -64,6 +64,10 @@
don't. */
#undef HAVE_DECL_VASPRINTF
/* Define to 1 if you have the declaration of `___lc_codepage_func', and to 0
if you don't. */
#undef HAVE_DECL____LC_CODEPAGE_FUNC
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

12
bfd/configure vendored
View File

@@ -13006,6 +13006,18 @@ cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_STRNLEN $ac_have_decl
_ACEOF
ac_fn_c_check_decl "$LINENO" "___lc_codepage_func" "ac_cv_have_decl____lc_codepage_func" "#include <locale.h>
"
if test "x$ac_cv_have_decl____lc_codepage_func" = xyes; then :
ac_have_decl=1
else
ac_have_decl=0
fi
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL____LC_CODEPAGE_FUNC $ac_have_decl
_ACEOF
case "${host}" in

View File

@@ -227,6 +227,7 @@ AC_CHECK_FUNCS(fcntl fdopen fileno fls getgid getpagesize getrlimit getuid \
sysconf)
AC_CHECK_DECLS([basename, ffs, stpcpy, asprintf, vasprintf, strnlen])
AC_CHECK_DECLS([___lc_codepage_func], [], [], [[#include <locale.h>]])
BFD_BINARY_FOPEN

View File

@@ -16,7 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Controls whether to enable development-mode features by default.
development=true
development=false
# Indicate whether this is a release branch.
experimental=true

View File

@@ -16,7 +16,7 @@
In releases, the date is not included in either version strings or
sonames. */
#define BFD_VERSION_DATE 20221218
#define BFD_VERSION_DATE 20231008
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@

View File

@@ -1,5 +1,5 @@
;; Emacs settings.
;; Copyright (C) 2012-2022 Free Software Foundation, Inc.
;; Copyright (C) 2012-2023 Free Software Foundation, Inc.
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by

View File

@@ -1,4 +1,4 @@
# Copyright (C) 1989-2022 Free Software Foundation, Inc.
# Copyright (C) 1989-2023 Free Software Foundation, Inc.
# This file is part of GDB.
@@ -629,8 +629,8 @@ INTERNAL_CPPFLAGS = $(CPPFLAGS) @GUILE_CPPFLAGS@ @PYTHON_CPPFLAGS@ \
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
INTERNAL_CFLAGS_BASE = \
$(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(READLINE_CFLAGS) $(ZLIBINC) \
$(ZSTD_CFLAGS) $(BFD_CFLAGS) $(INCLUDE_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
$(GDB_CFLAGS) $(OPCODES_CFLAGS) $(BFD_CFLAGS) $(INCLUDE_CFLAGS) \
$(READLINE_CFLAGS) $(ZLIBINC) $(ZSTD_CFLAGS) $(LIBDECNUMBER_CFLAGS) \
$(INTL_CFLAGS) $(INCGNU) $(INCSUPPORT) $(LIBBACKTRACE_INC) \
$(ENABLE_CFLAGS) $(INTERNAL_CPPFLAGS) $(SRCHIGH_CFLAGS) \
$(TOP_CFLAGS) $(PTHREAD_CFLAGS) $(DEBUGINFOD_CFLAGS)
@@ -2020,7 +2020,7 @@ install-only: $(CONFIG_INSTALL)
true ; \
fi ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) \
gdb$(EXEEXT) \
$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(includedir)/gdb ; \
@@ -2533,7 +2533,7 @@ install-gdbtk:
true ; \
fi ; \
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir); \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) \
insight$(EXEEXT) \
$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
$(SHELL) $(srcdir)/../mkinstalldirs \

View File

@@ -1,7 +1,7 @@
What has changed in GDB?
(Organized release by release)
*** Changes since GDB 12
*** Changes in GDB 13
* MI version 1 is deprecated, and will be removed in GDB 14.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1999-2022 Free Software Foundation, Inc.
/* Copyright (C) 1999-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1999-2022 Free Software Foundation, Inc.
/* Copyright (C) 1999-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
/* Copyright (C) 2019-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
/* Copyright (C) 2019-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for FreeBSD/aarch64.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for FreeBSD/aarch64.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* FreeBSD/aarch64 target support, prototypes.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for GNU/Linux AArch64.
Copyright (C) 2011-2022 Free Software Foundation, Inc.
Copyright (C) 2011-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for GNU/Linux AArch64.
Copyright (C) 2009-2022 Free Software Foundation, Inc.
Copyright (C) 2009-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.
@@ -57,6 +57,9 @@
#include "elf/common.h"
#include "elf/aarch64.h"
/* For inferior_ptid and current_inferior (). */
#include "inferior.h"
/* Signal frame handling.
+------------+ ^
@@ -1986,29 +1989,60 @@ aarch64_linux_decode_memtag_section (struct gdbarch *gdbarch,
static CORE_ADDR
aarch64_remove_non_address_bits (struct gdbarch *gdbarch, CORE_ADDR pointer)
{
aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
/* By default, we assume TBI and discard the top 8 bits plus the VA range
select bit (55). */
select bit (55). Below we try to fetch information about pointer
authentication masks in order to make non-address removal more
precise. */
CORE_ADDR mask = AARCH64_TOP_BITS_MASK;
if (tdep->has_pauth ())
/* Check if we have an inferior first. If not, just use the default
mask.
We use the inferior_ptid here because the pointer authentication masks
should be the same across threads of a process. Since we may not have
access to the current thread (gdb may have switched to no inferiors
momentarily), we use the inferior ptid. */
if (inferior_ptid != null_ptid)
{
/* Fetch the PAC masks. These masks are per-process, so we can just
fetch data from whatever thread we have at the moment.
/* If we do have an inferior, attempt to fetch its thread's thread_info
struct. */
thread_info *thread
= find_thread_ptid (current_inferior ()->process_target (),
inferior_ptid);
Also, we have both a code mask and a data mask. For now they are the
same, but this may change in the future. */
struct regcache *regs = get_current_regcache ();
CORE_ADDR cmask, dmask;
/* If the thread is running, we will not be able to fetch the mask
registers. */
if (thread != nullptr && thread->state != THREAD_RUNNING)
{
/* Otherwise, fetch the register cache and the masks. */
struct regcache *regs
= get_thread_regcache (current_inferior ()->process_target (),
inferior_ptid);
if (regs->cooked_read (tdep->pauth_reg_base, &dmask) != REG_VALID)
dmask = mask;
/* Use the gdbarch from the register cache to check for pointer
authentication support, as it matches the features found in
that particular thread. */
aarch64_gdbarch_tdep *tdep
= gdbarch_tdep<aarch64_gdbarch_tdep> (regs->arch ());
if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask) != REG_VALID)
cmask = mask;
/* Is there pointer authentication support? */
if (tdep->has_pauth ())
{
/* We have both a code mask and a data mask. For now they are
the same, but this may change in the future. */
CORE_ADDR cmask, dmask;
mask |= aarch64_mask_from_pac_registers (cmask, dmask);
if (regs->cooked_read (tdep->pauth_reg_base, &dmask)
!= REG_VALID)
dmask = mask;
if (regs->cooked_read (tdep->pauth_reg_base + 1, &cmask)
!= REG_VALID)
cmask = mask;
mask |= aarch64_mask_from_pac_registers (cmask, dmask);
}
}
}
return aarch64_remove_top_bits (pointer, mask);

View File

@@ -1,6 +1,6 @@
/* GNU/Linux on AArch64 target support, prototypes.
Copyright (C) 2012-2022 Free Software Foundation, Inc.
Copyright (C) 2012-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for AArch64.
Copyright (C) 2011-2022 Free Software Foundation, Inc.
Copyright (C) 2011-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for AArch64.
Copyright (C) 2011-2022 Free Software Foundation, Inc.
Copyright (C) 2011-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for Newlib AArch64.
Copyright (C) 2011-2022 Free Software Foundation, Inc.
Copyright (C) 2011-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ravenscar Aarch64 target support.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ravenscar Aarch64 target support.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common target dependent code for GDB on AArch64 systems.
Copyright (C) 2009-2022 Free Software Foundation, Inc.
Copyright (C) 2009-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common target dependent code for GDB on AArch64 systems.
Copyright (C) 2009-2022 Free Software Foundation, Inc.
Copyright (C) 2009-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
# Copyright (C) 1992-2022 Free Software Foundation, Inc.
# Copyright (C) 1992-2023 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without

View File

@@ -3,7 +3,7 @@
/* UTF-32 case-folding for GDB
Copyright (C) 2022 Free Software Foundation, Inc.
Copyright (C) 2022-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Definitions for Ada expressions
Copyright (C) 2020-2022 Free Software Foundation, Inc.
Copyright (C) 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* YACC parser for Ada expressions, for GDB.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ada language support routines for GDB, the GNU debugger.
Copyright (C) 1992-2022 Free Software Foundation, Inc.
Copyright (C) 1992-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ada language support definitions for GDB, the GNU debugger.
Copyright (C) 1992-2022 Free Software Foundation, Inc.
Copyright (C) 1992-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* FLEX lexer for Ada expressions, for GDB. -*- c++ -*-
Copyright (C) 1994-2022 Free Software Foundation, Inc.
Copyright (C) 1994-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1992-2022 Free Software Foundation, Inc.
/* Copyright (C) 1992-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Support for printing Ada types for GDB, the GNU debugger.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -2,7 +2,7 @@
# Generate Unicode case-folding table for Ada.
# Copyright (C) 2022 Free Software Foundation, Inc.
# Copyright (C) 2022-2023 Free Software Foundation, Inc.
# This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Support for printing Ada values for GDB, the GNU debugger.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* varobj support for Ada.
Copyright (C) 2012-2022 Free Software Foundation, Inc.
Copyright (C) 2012-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* addrmap.c --- implementation of address map data structure.
Copyright (C) 2007-2022 Free Software Foundation, Inc.
Copyright (C) 2007-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* addrmap.h --- interface to address map data structure.
Copyright (C) 2007-2022 Free Software Foundation, Inc.
Copyright (C) 2007-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2012-2022 Free Software Foundation, Inc.
/* Copyright (C) 2012-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Low level interface for debugging AIX 4.3+ pthreads.
Copyright (C) 1999-2022 Free Software Foundation, Inc.
Copyright (C) 1999-2023 Free Software Foundation, Inc.
Written by Nick Duffek <nsd@redhat.com>.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Shared allocation functions for GDB, the GNU debugger.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for Alpha BSD's.
Copyright (C) 2000-2022 Free Software Foundation, Inc.
Copyright (C) 2000-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common target dependent code Alpha BSD's.
Copyright (C) 2000-2022 Free Software Foundation, Inc.
Copyright (C) 2000-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common target dependent code for Alpha BSD's.
Copyright (C) 2002-2022 Free Software Foundation, Inc.
Copyright (C) 2002-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Low level Alpha GNU/Linux interface, for GDB when running native.
Copyright (C) 2005-2022 Free Software Foundation, Inc.
Copyright (C) 2005-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Target-dependent code for GNU/Linux on Alpha.
Copyright (C) 2002-2022 Free Software Foundation, Inc.
Copyright (C) 2002-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Target-dependent mdebug code for the ALPHA architecture.
Copyright (C) 1993-2022 Free Software Foundation, Inc.
Copyright (C) 1993-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for NetBSD/alpha.
Copyright (C) 2002-2022 Free Software Foundation, Inc.
Copyright (C) 2002-2023 Free Software Foundation, Inc.
Contributed by Wasabi Systems, Inc.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for OpenBSD/alpha.
Copyright (C) 2006-2022 Free Software Foundation, Inc.
Copyright (C) 2006-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for the ALPHA architecture, for GDB, the GNU Debugger.
Copyright (C) 1993-2022 Free Software Foundation, Inc.
Copyright (C) 1993-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Common target dependent code for GDB on Alpha systems.
Copyright (C) 1993-2022 Free Software Foundation, Inc.
Copyright (C) 1993-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for AMD64 BSD's.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for modern AMD64 BSD's.
Copyright (C) 2018-2022 Free Software Foundation, Inc.
Copyright (C) 2018-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Darwin support for GDB, the GNU debugger.
Copyright (C) 1997-2022 Free Software Foundation, Inc.
Copyright (C) 1997-2023 Free Software Foundation, Inc.
Contributed by Apple Computer, Inc.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for Darwin x86-64.
Copyright (C) 2009-2022 Free Software Foundation, Inc.
Copyright (C) 2009-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for DICOS running on x86-64's, for GDB.
Copyright (C) 2009-2022 Free Software Foundation, Inc.
Copyright (C) 2009-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for FreeBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for FreeBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* FreeBSD/amd64 target support, prototypes.
Copyright (C) 2021 Free Software Foundation, Inc.
Copyright (C) 2021-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for GNU/Linux x86-64.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for GNU/Linux x86-64.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for GNU/Linux AMD64.
Copyright (C) 2006-2022 Free Software Foundation, Inc.
Copyright (C) 2006-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for AMD64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for AMD64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for NetBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for NetBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for OpenBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for OpenBSD/amd64.
Copyright (C) 2003-2022 Free Software Foundation, Inc.
Copyright (C) 2003-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ravenscar x86-64 target support.
Copyright (C) 2020-2022 Free Software Foundation, Inc.
Copyright (C) 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Ravenscar x86-64 target support.
Copyright (C) 2020-2022 Free Software Foundation, Inc.
Copyright (C) 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for AMD64 Solaris.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Contributed by Joseph Myers, CodeSourcery, LLC.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for AMD64.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.

View File

@@ -1,6 +1,6 @@
/* Target-dependent definitions for AMD64.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
Copyright (C) 2001-2023 Free Software Foundation, Inc.
Contributed by Jiri Smid, SuSE Labs.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2008-2022 Free Software Foundation, Inc.
/* Copyright (C) 2008-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2009-2022 Free Software Foundation, Inc.
/* Copyright (C) 2009-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Annotation routines for GDB.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,5 +1,5 @@
/* Annotation routines for GDB.
Copyright (C) 1986-2022 Free Software Foundation, Inc.
Copyright (C) 1986-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Native-dependent code for GNU/Linux ARC.
Copyright 2020-2022 Free Software Foundation, Inc.
Copyright 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target dependent code for GNU/Linux ARC.
Copyright 2020-2022 Free Software Foundation, Inc.
Copyright 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target dependent code for GNU/Linux ARC.
Copyright 2020-2022 Free Software Foundation, Inc.
Copyright 2020-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target-dependent code for Newlib ARC.
Copyright (C) 2016-2022 Free Software Foundation, Inc.
Copyright (C) 2016-2023 Free Software Foundation, Inc.
Contributed by Synopsys Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target dependent code for ARC architecture, for GDB.
Copyright 2005-2022 Free Software Foundation, Inc.
Copyright 2005-2023 Free Software Foundation, Inc.
Contributed by Synopsys Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Target dependent code for ARC architecture, for GDB.
Copyright 2005-2022 Free Software Foundation, Inc.
Copyright 2005-2023 Free Software Foundation, Inc.
Contributed by Synopsys Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Dynamic architecture support for GDB, the GNU debugger.
Copyright (C) 1998-2022 Free Software Foundation, Inc.
Copyright (C) 1998-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Dynamic architecture support for GDB, the GNU debugger.
Copyright (C) 1998-2022 Free Software Foundation, Inc.
Copyright (C) 1998-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
/* Copyright (C) 2019-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2019-2022 Free Software Foundation, Inc.
/* Copyright (C) 2019-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2009-2022 Free Software Foundation, Inc.
/* Copyright (C) 2009-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2009-2022 Free Software Foundation, Inc.
/* Copyright (C) 2009-2023 Free Software Foundation, Inc.
Contributed by ARM Ltd.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common Linux target-dependent functionality for AArch64 MTE
Copyright (C) 2021-2022 Free Software Foundation, Inc.
Copyright (C) 2021-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common Linux target-dependent definitions for AArch64 MTE
Copyright (C) 2021-2022 Free Software Foundation, Inc.
Copyright (C) 2021-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
/* Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common target-dependent functionality for AArch64.
Copyright (C) 2017-2022 Free Software Foundation, Inc.
Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
/* Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
/* Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
/* Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2017-2022 Free Software Foundation, Inc.
/* Copyright (C) 2017-2023 Free Software Foundation, Inc.
This file is part of GDB.

View File

@@ -1,6 +1,6 @@
/* Common code for ARM software single stepping support.
Copyright (C) 1988-2022 Free Software Foundation, Inc.
Copyright (C) 1988-2023 Free Software Foundation, Inc.
This file is part of GDB.

Some files were not shown because too many files have changed in this diff Show More