[PATCH] [lld] Fix the ELF shared library build targets

Greg Fitzgerald garious at gmail.com
Wed Jan 21 22:02:01 PST 2015


Hi ruiu, shankarke, chandlerc, Bigcheese, nicholas,

lldELF is used by each ELF backend.  lldELF's ELFLinkingContext
also held a reference to each backend, creating a link-time cycle.
This patch moves the backend references to lldDriver.

Here's a link-time dependency diagram for what is implemented here: http://yuml.me/324beed8.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D7119

Files:
  include/lld/ReaderWriter/ELF/AArch64LinkingContext.h
  include/lld/ReaderWriter/ELF/ARMLinkingContext.h
  include/lld/ReaderWriter/ELF/HexagonLinkingContext.h
  include/lld/ReaderWriter/ELF/MipsELFFlagsMerger.h
  include/lld/ReaderWriter/ELF/MipsLinkingContext.h
  include/lld/ReaderWriter/ELF/PPCLinkingContext.h
  include/lld/ReaderWriter/ELF/X86LinkingContext.h
  include/lld/ReaderWriter/ELF/X86_64LinkingContext.h
  lib/Driver/CMakeLists.txt
  lib/Driver/GnuLdDriver.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/AArch64/AArch64ExecutableWriter.h
  lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h
  lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64RelocationPass.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64Target.h
  lib/ReaderWriter/ELF/AArch64/AArch64TargetHandler.cpp
  lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
  lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h
  lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp
  lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h
  lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.cpp
  lib/ReaderWriter/ELF/ARM/ARMRelocationPass.cpp
  lib/ReaderWriter/ELF/ARM/ARMTarget.h
  lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp
  lib/ReaderWriter/ELF/ARM/CMakeLists.txt
  lib/ReaderWriter/ELF/CMakeLists.txt
  lib/ReaderWriter/ELF/ELFLinkingContext.cpp
  lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt
  lib/ReaderWriter/ELF/Hexagon/HexagonDynamicLibraryWriter.h
  lib/ReaderWriter/ELF/Hexagon/HexagonELFFile.h
  lib/ReaderWriter/ELF/Hexagon/HexagonELFWriters.h
  lib/ReaderWriter/ELF/Hexagon/HexagonExecutableWriter.h
  lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp
  lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.h
  lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp
  lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h
  lib/ReaderWriter/ELF/Hexagon/HexagonTargetHandler.cpp
  lib/ReaderWriter/ELF/Makefile
  lib/ReaderWriter/ELF/Mips/CMakeLists.txt
  lib/ReaderWriter/ELF/Mips/MipsDynamicLibraryWriter.h
  lib/ReaderWriter/ELF/Mips/MipsELFFile.h
  lib/ReaderWriter/ELF/Mips/MipsELFFlagsMerger.cpp
  lib/ReaderWriter/ELF/Mips/MipsELFFlagsMerger.h
  lib/ReaderWriter/ELF/Mips/MipsELFReader.h
  lib/ReaderWriter/ELF/Mips/MipsELFWriters.h
  lib/ReaderWriter/ELF/Mips/MipsExecutableWriter.h
  lib/ReaderWriter/ELF/Mips/MipsLinkingContext.cpp
  lib/ReaderWriter/ELF/Mips/MipsLinkingContext.h
  lib/ReaderWriter/ELF/Mips/MipsRelocationHandler.cpp
  lib/ReaderWriter/ELF/Mips/MipsRelocationHandler.h
  lib/ReaderWriter/ELF/Mips/MipsRelocationPass.cpp
  lib/ReaderWriter/ELF/Mips/MipsTarget.h
  lib/ReaderWriter/ELF/Mips/MipsTargetHandler.cpp
  lib/ReaderWriter/ELF/Mips/MipsTargetHandler.h
  lib/ReaderWriter/ELF/PPC/CMakeLists.txt
  lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp
  lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h
  lib/ReaderWriter/ELF/PPC/PPCTarget.h
  lib/ReaderWriter/ELF/PPC/PPCTargetHandler.cpp
  lib/ReaderWriter/ELF/Targets.h
  lib/ReaderWriter/ELF/X86/CMakeLists.txt
  lib/ReaderWriter/ELF/X86/X86DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/X86/X86ExecutableWriter.h
  lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp
  lib/ReaderWriter/ELF/X86/X86LinkingContext.h
  lib/ReaderWriter/ELF/X86/X86RelocationHandler.cpp
  lib/ReaderWriter/ELF/X86/X86Target.h
  lib/ReaderWriter/ELF/X86/X86TargetHandler.cpp
  lib/ReaderWriter/ELF/X86_64/CMakeLists.txt
  lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
  lib/ReaderWriter/ELF/X86_64/X86_64ExecutableWriter.h
  lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
  lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64Target.h
  lib/ReaderWriter/ELF/X86_64/X86_64TargetHandler.cpp
  lib/ReaderWriter/MachO/CMakeLists.txt
  lib/ReaderWriter/MachO/Makefile
  lib/ReaderWriter/PECOFF/CMakeLists.txt
  lib/ReaderWriter/PECOFF/Makefile

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7119.18585.patch
Type: text/x-patch
Size: 71047 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150122/e415e29b/attachment.bin>


More information about the llvm-commits mailing list