[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