[all-commits] [llvm/llvm-project] 771f09: [SystemZ][z/OS] Do not cache section definitions

Kai Nacke via All-commits all-commits at lists.llvm.org
Mon Sep 21 11:13:07 PDT 2026


  Branch: refs/heads/users/redstar/nosectioncaching
  Home:   https://github.com/llvm/llvm-project
  Commit: 771f0945028418e9da872721fda195f80f815e3f
      https://github.com/llvm/llvm-project/commit/771f0945028418e9da872721fda195f80f815e3f
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M llvm/include/llvm/MC/MCContext.h
    M llvm/lib/MC/MCContext.cpp
    A llvm/test/CodeGen/SystemZ/zos-eh-2.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Do not cache section definitions

If a section was seen before, `MCContext::getGOFFSection()` returns
that section for reuse. However, in most cases this is the wrong
behaviour. ED symbols, e.g. C_WSA64, need to be recreated instead of
being reused. The current code attempted that by constructing a
unique name including the name of the SD symbol. But this fails for
the DWARF EH data, because teh SD symbol is always the same. Therfore
the C_WSA64 section is shared across all DWARF tables, resulting in
a "invalid data" binder error.
To fix this, the caching of section object is removed.



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