[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