[lld] r234050 - ELF: Fix header file dependencies.

Rui Ueyama ruiu at google.com
Fri Apr 3 13:56:22 PDT 2015


Author: ruiu
Date: Fri Apr  3 15:56:22 2015
New Revision: 234050

URL: http://llvm.org/viewvc/llvm-project?rev=234050&view=rev
Log:
ELF: Fix header file dependencies.

<Arch>TargetHandler.h and <ArcH>RelocationHandler.h include each other.
This patch breaks the circular dependencies.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.h
    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h
    lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp
    lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h
    lld/trunk/lib/ReaderWriter/ELF/X86/X86RelocationHandler.h
    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h

Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.h?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64RelocationHandler.h Fri Apr  3 15:56:22 2015
@@ -10,14 +10,12 @@
 #ifndef AARCH64_RELOCATION_HANDLER_H
 #define AARCH64_RELOCATION_HANDLER_H
 
-#include "AArch64TargetHandler.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
 
 namespace lld {
 namespace elf {
 typedef llvm::object::ELFType<llvm::support::little, 2, true> AArch64ELFType;
 
-template <class ELFT> class AArch64TargetLayout;
-
 class AArch64TargetRelocationHandler final : public TargetRelocationHandler {
 public:
   std::error_code applyRelocation(ELFWriter &, llvm::FileOutputBuffer &,

Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMRelocationHandler.h Fri Apr  3 15:56:22 2015
@@ -10,10 +10,11 @@
 #ifndef LLD_READER_WRITER_ELF_ARM_ARM_RELOCATION_HANDLER_H
 #define LLD_READER_WRITER_ELF_ARM_ARM_RELOCATION_HANDLER_H
 
-#include "ARMTargetHandler.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
 
 namespace lld {
 namespace elf {
+
 typedef llvm::object::ELFType<llvm::support::little, 2, false> ARMELFType;
 
 template <class ELFT> class ARMTargetLayout;

Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.cpp Fri Apr  3 15:56:22 2015
@@ -9,8 +9,9 @@
 
 #include "HexagonLinkingContext.h"
 #include "HexagonRelocationFunctions.h"
-#include "HexagonTargetHandler.h"
 #include "HexagonRelocationHandler.h"
+#include "HexagonTargetHandler.h"
+#include "lld/ReaderWriter/RelocationHelperFunctions.h"
 #include "llvm/Support/Endian.h"
 
 using namespace lld;

Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonRelocationHandler.h Fri Apr  3 15:56:22 2015
@@ -9,14 +9,14 @@
 #ifndef LLD_READER_WRITER_ELF_HEXAGON_HEXAGON_RELOCATION_HANDLER_H
 #define LLD_READER_WRITER_ELF_HEXAGON_HEXAGON_RELOCATION_HANDLER_H
 
-#include "HexagonSectionChunks.h"
-#include "HexagonTargetHandler.h"
-#include "lld/ReaderWriter/RelocationHelperFunctions.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
 
 namespace lld {
 namespace elf {
-
 class HexagonTargetHandler;
+template <class ELFT> class HexagonTargetLayout;
+
+typedef llvm::object::ELFType<llvm::support::little, 2, false> HexagonELFType;
 
 class HexagonTargetRelocationHandler final : public TargetRelocationHandler {
 public:

Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86RelocationHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86RelocationHandler.h?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86/X86RelocationHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86RelocationHandler.h Fri Apr  3 15:56:22 2015
@@ -10,7 +10,7 @@
 #ifndef X86_X86_RELOCATION_HANDLER_H
 #define X86_X86_RELOCATION_HANDLER_H
 
-#include "X86TargetHandler.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
 
 namespace lld {
 namespace elf {

Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h?rev=234050&r1=234049&r2=234050&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64RelocationHandler.h Fri Apr  3 15:56:22 2015
@@ -10,7 +10,7 @@
 #ifndef X86_64_RELOCATION_HANDLER_H
 #define X86_64_RELOCATION_HANDLER_H
 
-#include "X86_64TargetHandler.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
 
 namespace lld {
 namespace elf {





More information about the llvm-commits mailing list