[all-commits] [llvm/llvm-project] d0c427: [MC][ARM] Don't create multiple .ARM.exidx associa...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Feb 25 18:18:59 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: d0c4277d388628154b647a45cbc6914a1ea5a822
https://github.com/llvm/llvm-project/commit/d0c4277d388628154b647a45cbc6914a1ea5a822
Author: Fangrui Song <maskray at google.com>
Date: 2020-02-25 (Tue, 25 Feb 2020)
Changed paths:
M llvm/lib/MC/MCContext.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
Log Message:
-----------
[MC][ARM] Don't create multiple .ARM.exidx associated to one .text
Fixed an issue exposed by D74006.
In clang cc1as, MCContext::UseNamesOnTempLabels is true.
When parsing a .fnstart directive, FnStart gets redefined to a temporary symbol of a different name (.Ltmp0, .Ltmp1, ...).
MCContext::getELFSection() called by SwitchToEHSection() will create a different .ARM.exidx each time.
llvm-mc uses `Ctx.setUseNamesOnTempLabels(false);` and FnStart is unnamed.
MCContext::getELFSection() called by SwitchToEHSection() will reuse the same .ARM.exidx .
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D75095
More information about the All-commits
mailing list