From 62af08e4325492721cf5034a2db7ac2a54c9c8a9 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Wed, 14 Oct 2026 19:28:13 -0400 Subject: [PATCH 1/2] Normalize addresses printed for non-file-scope pointers in output [] --- dev_tools/pylibs/edgtest/filter/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dev_tools/pylibs/edgtest/filter/__init__.py b/dev_tools/pylibs/edgtest/filter/__init__.py index cfcb640ce7..bac3d19a8d 100644 --- a/dev_tools/pylibs/edgtest/filter/__init__.py +++ b/dev_tools/pylibs/edgtest/filter/__init__.py @@ -108,6 +108,9 @@ async def load_build_constants(compiler_bin: Path) -> BuildConstants: # IL-style address annotations. r'@[0-9a-f]{3,}': '@XXXXXXXX', r'@0x[0-9a-f]{3,}': '@XXXXXXXX', + # IL display of a name that is not in the file scope memory region. + r'\*\*possible non-file-scope ptr\*\* \(0x[0-9a-f]+\)': + '**possible non-file-scope ptr** (0xXX)', # Linker section offsets that move with codegen layout; keep the .text # marker so symbol-blame changes remain visible. r'\.text\+0x[0-9a-f]+': '.text+0xXX', From e334eae1a72f94dd01985fa4b42e553d813aa1b8 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Mon, 19 Oct 2026 10:45:49 -0400 Subject: [PATCH 2/2] Move proposed change into il_display [] --- dev_tools/pylibs/edgtest/filter/__init__.py | 3 --- src/il_display.c | 8 +++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/dev_tools/pylibs/edgtest/filter/__init__.py b/dev_tools/pylibs/edgtest/filter/__init__.py index bac3d19a8d..cfcb640ce7 100644 --- a/dev_tools/pylibs/edgtest/filter/__init__.py +++ b/dev_tools/pylibs/edgtest/filter/__init__.py @@ -108,9 +108,6 @@ async def load_build_constants(compiler_bin: Path) -> BuildConstants: # IL-style address annotations. r'@[0-9a-f]{3,}': '@XXXXXXXX', r'@0x[0-9a-f]{3,}': '@XXXXXXXX', - # IL display of a name that is not in the file scope memory region. - r'\*\*possible non-file-scope ptr\*\* \(0x[0-9a-f]+\)': - '**possible non-file-scope ptr** (0xXX)', # Linker section offsets that move with codegen layout; keep the .text # marker so symbol-blame changes remain visible. r'\.text\+0x[0-9a-f]+': '.text+0xXX', diff --git a/src/il_display.c b/src/il_display.c index 92f44065db..9145ed239d 100644 --- a/src/il_display.c +++ b/src/il_display.c @@ -168,10 +168,12 @@ kind entry_kind. function-scope memory region kind. For string entries this can happen even when the string is allocated in file-scope memory, because strings referenced from a function-scope memory region - are numbered as honorary members of that region during IL output. */ + are numbered as honorary members of that region during IL output. + See assign_entry_number for details. */ if (is_string_entry_kind(entry_kind)) { - (void)fprintf(f_display, "**possible non-file-scope ptr** (%p)", - (a_void_ptr)entry_ptr); + /* This is usually benign, so omit the pointer value, which would + only make the display vary from run to run. */ + (void)fprintf(f_display, "**possible non-file-scope ptr**"); } else { (void)fprintf(f_display, "**NON FILE SCOPE PTR** (%p)", (a_void_ptr)entry_ptr);