- Update to fedora rawhide @ 0481d32. Maintenance script import-fedora.sh: * Skip gdb-fix-bg-execution-repeat.patch. - Add MIT in License tag due to gdbsupport/unordered_dense.h. - Update to fedora rawhide @ 89e3933. Maintenance script import-fedora.sh: * Drop gdb-6.8-bz466901-backtrace-full-prelinked.patch from skip_patches. - Update to fedora rawhide @ 660c52f. Drop patches: * gdb-rhbz1149205-catch-syscall-after-fork-test.patch - Update to fedora rawhide @ 885cdf8. Update patches: * gdb-add-rpm-suggestion-script.patch Drop patches: * fixup-gdb-add-rpm-suggestion-script.patch - Update to fedora rawhide @ 9c718a5. Drop patches: * gdb-6.3-mapping-zero-inode-test.patch - Update to fedora rawhide @ 15778f3. Drop patches: * gdb-archer-next-over-throw-cxx-exec.patch - Update to fedora rawhide @ 152468c. Maintenance script import-fedora.sh: * Rename gdb-6.3-rh-testversion-20041202.patch to gdb-test-show-version.patch in skip_patches. Patches dropped (Renamed to ...): * gdb-add-rpm-suggestion-script.patch Patches added (... this): * gdb-rpm-suggestion-script.patch - Move some patches from "Backport from gdb-patches" to "Backports from master, available in GDB 17". - Add patches (swo#33000): * gdb-tdep-fix-gdb.ada-finish-var-size.exp-on-ppc64le-.patch - Add patches (swo#32409): * gdb-ada-fix-gdb.ada-overloads.exp-on-s390x.patch - Add patches: * gdb-testsuite-make-gdb.reverse-time-reverse.exp-more.patch * gdb-testsuite-fix-gdb.reverse-time-reverse.exp-timeo.patch * gdb-testsuite-handle-asm-frame-in-gdb.python-py-miss.patch * gdb-testsuite-fix-gdb.base-ptype.exp-with-gcc-15.patch * gdb-testsuite-fix-gdb.python-py-objfile.exp-with-gcc.patch * gdb-testsuite-fix-gdb.ada-scalar_storage.exp-on-s390.patch * gdb-testsuite-fix-gdb.base-bp-permanent.exp-with-gcc.patch * gdb-testsuite-don-t-run-to-main-in-gdb.cp-cplusfuncs.patch OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=465
72 lines
1.9 KiB
Diff
72 lines
1.9 KiB
Diff
From 75397d995ffe1e1bbcfb75f9b4f744ba9c036d6d Mon Sep 17 00:00:00 2001
|
|
From: Tom de Vries <tdevries@suse.de>
|
|
Date: Tue, 15 Apr 2025 16:59:32 +0200
|
|
Subject: [PATCH 1/2] [gdb/ada] Fix gdb.ada/overloads.exp on s390x
|
|
|
|
On s390x-linux, with test-case gdb.ada/overloads.exp and gcc 7.5.0 I run into:
|
|
...
|
|
(gdb) print Oload(CA)^M
|
|
Could not find a match for oload^M
|
|
(gdb) FAIL: $exp: print Oload(CA)
|
|
...
|
|
|
|
The mismatch happens here in ada_type_match:
|
|
...
|
|
return ftype->code () == atype->code ();
|
|
...
|
|
with:
|
|
...
|
|
(gdb) p ftype->code ()
|
|
$3 = TYPE_CODE_TYPEDEF
|
|
(gdb) p atype->code ()
|
|
$4 = TYPE_CODE_ARRAY
|
|
...
|
|
|
|
At the start of ada_type_match, typedefs are skipped:
|
|
...
|
|
ftype = ada_check_typedef (ftype);
|
|
atype = ada_check_typedef (atype);
|
|
...
|
|
but immediately after this, refs are skipped:
|
|
...
|
|
if (ftype->code () == TYPE_CODE_REF)
|
|
ftype = ftype->target_type ();
|
|
if (atype->code () == TYPE_CODE_REF)
|
|
atype = atype->target_type ();
|
|
...
|
|
which in this case makes ftype a typedef.
|
|
|
|
Fix this by using ada_check_typedef after skipping the refs as well.
|
|
|
|
Tested on x86_64-linux and s390x-linux.
|
|
|
|
Approved-By: Tom Tromey <tom@tromey.com>
|
|
|
|
PR ada/32409
|
|
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32409
|
|
---
|
|
gdb/ada-lang.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
|
|
index fdb89cb0bb3..e9311c179b9 100644
|
|
--- a/gdb/ada-lang.c
|
|
+++ b/gdb/ada-lang.c
|
|
@@ -3944,9 +3944,9 @@ ada_type_match (struct type *ftype, struct type *atype)
|
|
atype = ada_check_typedef (atype);
|
|
|
|
if (ftype->code () == TYPE_CODE_REF)
|
|
- ftype = ftype->target_type ();
|
|
+ ftype = ada_check_typedef (ftype->target_type ());
|
|
if (atype->code () == TYPE_CODE_REF)
|
|
- atype = atype->target_type ();
|
|
+ atype = ada_check_typedef (atype->target_type ());
|
|
|
|
switch (ftype->code ())
|
|
{
|
|
|
|
base-commit: bb86ddf7c6827ec9b467cc0107395f91b9cbc5d2
|
|
--
|
|
2.43.0
|
|
|