[all-commits] [llvm/llvm-project] 5422e8: [XCOFF][AIX] Emit TOC entries for object file gene...
jasonliudev via All-commits
all-commits at lists.llvm.org
Wed Dec 4 08:44:58 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 5422e81a89f50263fd111841090b96cd0d49120a
https://github.com/llvm/llvm-project/commit/5422e81a89f50263fd111841090b96cd0d49120a
Author: jasonliu <jasonliu.development at gmail.com>
Date: 2019-12-04 (Wed, 04 Dec 2019)
Changed paths:
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
M llvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
Log Message:
-----------
[XCOFF][AIX] Emit TOC entries for object file generation
Summary:
Implement emitTCEntry for PPCTargetXCOFFStreamer.
Add TC csects to TOCCsects for object file writing.
Note:
1. I did not include any raw data testing for this object file generation
because TC entries raw data will all be 0 without relocation implemented.
I will add raw data testing as part of relocation testing later.
2. I removed "Symbol->setFragment(F);" for common symbols because we
don't need it, and if we have it then we would hit assertions below:
Assertion `(SymbolContents == SymContentsUnset ||
SymbolContents == SymContentsOffset) &&
"Cannot get offset for a common/variable symbol"' failed.
3.Fixed incorrect TOC-base alignment.
Differential Revision: https://reviews.llvm.org/D70798
More information about the All-commits
mailing list