- Patches added: * avoid-crash-with-length.patch * correct-bounds-check-when-working-around-gas-dwarf-5.patch * fix-crash-in-f-typeprint.c.patch - Patches added (swo#33560, bsc#1251213): * bfd-elf-handle-prstatus-of-156-bytes-in-elf32_arm_na.patch * gdb-corefiles-fix-segfault-in-add_thread_silent.patch - Patches added (swo#32542, swo#33354): * change-return-value-of-_bfd_mmap_temporary.patch - Patches added (swo#33068, swo#33069): * gdb-fix-handling-of-aborted-inferior-call.patch - Patches added (swo#33620): * gdb-rust-fix-handling-of-unsigned-discriminant.patch - Patches added (swo#33444): * have-gdb.threadexitedevent-inherit-from-gdb.threadev.patch - Patches added (swo#33617): * mark-pascal-as-case-insensitive.patch - Patches added (testsuite): * check-gnatmake-version-in-gnat_version_compare.patch * gdb-testsuite-fix-build-id-check-in-gdb.python-py-mi.patch * gdb-testsuite-fix-gdb.mi-mi-sym-info.exp.patch * gdb-testsuite-fix-gdb.rust-methods.exp-on-i686-linux.patch * gdb-testsuite-fix-main-in-gdb.trace-mi-trace-frame-c.patch * gdb-testsuite-fix-possible-tcl-errors-in-gdb.threads.patch * gdb-testsuite-fix-sizeof-test-in-gdb.rust-simple.exp.patch * gdb-testsuite-fix-xfail-in-gdb.ada-array_of_variant..patch * gdb-testsuite-fix-xfail-in-gdb.ada-variant_record_fi.patch * gdb-testsuite-force-dwarf-in-gdb.pascal.patch * gdb-testsuite-rust-fix-for-empty-array.patch * gdb-testsuite-use-expect_build_id_in_core_file-a-bit.patch * gdb-testsuite-use-std-c99-in-gdb.base-callfuncs.exp.patch * gdb-testsuite-use-std-c99-in-gdb.base-nodebug.exp.patch * powerpc-mark-rtti-typeid-tests-as-expected-fail-befo.patch - Maintenance script import-patches.sh: * Use git instead of osc. - Maintenance script qa.sh: * Add PR32893 kfail.
58 lines
2.2 KiB
Diff
58 lines
2.2 KiB
Diff
From 9504544659b7215bce811876c1a4e4491b3d70df Mon Sep 17 00:00:00 2001
|
|
From: Abhay Kandpal <abhay@linux.ibm.com>
|
|
Date: Mon, 24 Nov 2025 04:49:44 -0600
|
|
Subject: [PATCH 23/25] PowerPC: Mark RTTI typeid tests as expected fail before
|
|
inferior start
|
|
|
|
On PowerPC targets, the RTTI typeinfo objects for base types may not
|
|
be emitted until the inferior has been started. As a result,
|
|
the `gdb.cp/typeid.exp` test fails when checking typeid results
|
|
before program execution begins.
|
|
|
|
This patch marks these specific cases as expected failures on PowerPC
|
|
when the inferior has not yet started, aligning the behavior with other
|
|
targets (such as Clang) where RTTI emission is deferred until runtime.
|
|
|
|
gdb/testsuite/
|
|
* gdb.cp/typeid.exp (do_typeid_tests): Mark PowerPC pre-start
|
|
RTTI typeinfo checks as expected failures for `i`, `cp`, and `ccp`.
|
|
---
|
|
gdb/testsuite/gdb.cp/typeid.exp | 21 ++++++++++++++++-----
|
|
1 file changed, 16 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/gdb/testsuite/gdb.cp/typeid.exp b/gdb/testsuite/gdb.cp/typeid.exp
|
|
index 3ba82f6f001..4dbd9729b54 100644
|
|
--- a/gdb/testsuite/gdb.cp/typeid.exp
|
|
+++ b/gdb/testsuite/gdb.cp/typeid.exp
|
|
@@ -28,11 +28,22 @@ proc do_typeid_tests {started} {
|
|
set type_re "(std::type_info|gdb_gnu_v3_type_info)"
|
|
|
|
set var {ca b}
|
|
- if {$started || ![test_compiler_info clang-*-* c++]} {
|
|
- # Clang doesn't place type information for the base types in
|
|
- # the executable, and relies on this being linked in from the
|
|
- # standard library. As a result, type information for these
|
|
- # variables is only available once the inferior is started.
|
|
+
|
|
+ set have_base_types 1
|
|
+ if {!$started} {
|
|
+ if {[test_compiler_info clang-*-* c++]} {
|
|
+ # Clang doesn't place type information for the base types in
|
|
+ # the executable, and relies on this being linked in from the
|
|
+ # standard library. As a result, type information for these
|
|
+ # variables is only available once the inferior is started.
|
|
+ set have_base_types 0
|
|
+ } elseif {[istarget "powerpc*-*-*"] || [is_aarch32_target]} {
|
|
+ # On PowerPC, RTTI typeinfo for base types (i, cp, ccp) may not be
|
|
+ # emitted until the inferior is started.
|
|
+ set have_base_types 0
|
|
+ }
|
|
+ }
|
|
+ if { $have_base_types } {
|
|
lappend var i cp ccp
|
|
}
|
|
|
|
--
|
|
2.51.0
|
|
|