about summary refs log tree commit diff
path: root/library/compiler-builtins
diff options
context:
space:
mode:
authorTrevor Gross <tmgross@umich.edu>2025-08-07 03:27:16 -0500
committerTrevor Gross <tmgross@umich.edu>2025-08-07 03:32:37 -0500
commitab0def2739744ae31d5738263acd0cc0e00e1a16 (patch)
tree5a320f4f71b1bb7752ca4133a6abef3dfcfb14fb /library/compiler-builtins
parentdecdb950bf016391145b582cd0756d3e67481ad6 (diff)
downloadrust-ab0def2739744ae31d5738263acd0cc0e00e1a16.tar.gz
rust-ab0def2739744ae31d5738263acd0cc0e00e1a16.zip
symcheck: Ignore symbols in `.debug_gdb_scripts`
Since [1], our object files may now contain a GDB script section. These
symbols wind up with multiple instances in the archive but are weak, so
we can safely ignore them in our duplicates check.

This resolves the current CI failures.

[1]: https://github.com/rust-lang/rust/pull/143679
Diffstat (limited to 'library/compiler-builtins')
-rw-r--r--library/compiler-builtins/crates/symbol-check/src/main.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/library/compiler-builtins/crates/symbol-check/src/main.rs b/library/compiler-builtins/crates/symbol-check/src/main.rs
index beb568a0f84..129c959f23a 100644
--- a/library/compiler-builtins/crates/symbol-check/src/main.rs
+++ b/library/compiler-builtins/crates/symbol-check/src/main.rs
@@ -215,6 +215,11 @@ fn verify_no_duplicates(archive: &Archive) {
             return;
         }
 
+        // GDB pretty printing symbols may show up more than once but are weak.
+        if sym.section == ".debug_gdb_scripts" && sym.is_weak {
+            return;
+        }
+
         // Windows has symbols for literal numeric constants, string literals, and MinGW pseudo-
         // relocations. These are allowed to have repeated definitions.
         let win_allowed_dup_pfx = ["__real@", "__xmm@", "??_C@_", ".refptr"];