[all-commits] [llvm/llvm-project] 977ece: [lldb] Truncate an over-wide symbol address in the...

Jonas Devlieghere via All-commits all-commits at lists.llvm.org
Fri Jul 17 13:26:13 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 977eced054d9de031423dee9493addd4e1fd5eaf
      https://github.com/llvm/llvm-project/commit/977eced054d9de031423dee9493addd4e1fd5eaf
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2026-07-17 (Fri, 17 Jul 2026)

  Changed paths:
    M lldb/source/Expression/IRInterpreter.cpp

  Log Message:
  -----------
  [lldb] Truncate an over-wide symbol address in the IR interpreter (#210372)

IRInterpreter::ResolveConstantValue built a pointer-width APInt directly
from the address returned by FindSymbol. That address can be wider than
a target pointer, because lldb records extra information in the high
bits on some targets, such as the code/memory address-space tag on
WebAssembly.

A 32-bit pointer then cannot hold the tagged address and the APInt
constructor asserts, aborting the debugger when a function-valued
expression is evaluated (for example `expr main`).

Truncate to the pointer width instead of asserting, matching the idiom
already used in DWARFExpression. On targets whose addresses fit in a
pointer this is a no-op.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list