[PATCH] D58005: Recover elf32-powerpc support in LLD

vit9696 via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 9 11:42:17 PST 2019


vit9696 created this revision.
vit9696 added reviewers: lld, ruiu.
Herald added subscribers: llvm-commits, jsji, arichardson, nemanjai, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.

This fixes a 7.0 -> 8.0 regression when parsing OUTPUT_FORMAT("elf32-powerpc"); directive in ldscripts as well as an unknown emulation error when lld is invoked by clang due to missed elf32ppclinux case.

I request this to be backported to LLD 8.0, as it is a regression breaking ldscripts that worked fine with LLD 7.0.


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D58005

Files:
  lld/ELF/Driver.cpp
  lld/ELF/ScriptParser.cpp


Index: lld/ELF/ScriptParser.cpp
===================================================================
--- lld/ELF/ScriptParser.cpp
+++ lld/ELF/ScriptParser.cpp
@@ -391,6 +391,7 @@
       .Case("elf32-x86-64", {ELF32LEKind, EM_X86_64})
       .Case("elf64-aarch64", {ELF64LEKind, EM_AARCH64})
       .Case("elf64-littleaarch64", {ELF64LEKind, EM_AARCH64})
+      .Case("elf32-powerpc", {ELF32BEKind, EM_PPC})
       .Case("elf64-powerpc", {ELF64BEKind, EM_PPC64})
       .Case("elf64-powerpcle", {ELF64LEKind, EM_PPC64})
       .Case("elf64-x86-64", {ELF64LEKind, EM_X86_64})
Index: lld/ELF/Driver.cpp
===================================================================
--- lld/ELF/Driver.cpp
+++ lld/ELF/Driver.cpp
@@ -129,7 +129,7 @@
           .Cases("elf32btsmip", "elf32btsmipn32", {ELF32BEKind, EM_MIPS})
           .Cases("elf32ltsmip", "elf32ltsmipn32", {ELF32LEKind, EM_MIPS})
           .Case("elf32lriscv", {ELF32LEKind, EM_RISCV})
-          .Case("elf32ppc", {ELF32BEKind, EM_PPC})
+          .Cases("elf32ppc", "elf32ppclinux", {ELF32BEKind, EM_PPC})
           .Case("elf64btsmip", {ELF64BEKind, EM_MIPS})
           .Case("elf64ltsmip", {ELF64LEKind, EM_MIPS})
           .Case("elf64lriscv", {ELF64LEKind, EM_RISCV})


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58005.186126.patch
Type: text/x-patch
Size: 1231 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190209/f1bc3b78/attachment.bin>


More information about the llvm-commits mailing list