[PATCH] Linking of shared libraries for MIPS little-endian 32-bit target

Michael Spencer bigcheesegs at gmail.com
Tue Nov 12 13:49:13 PST 2013


  Other than that it looks good here.


================
Comment at: lib/ReaderWriter/ELF/X86/X86TargetHandler.h:18
@@ -17,3 +17,3 @@
 namespace elf {
-typedef llvm::object::ELFType<llvm::support::little, 2, false> X86ELFType;
+typedef llvm::object::ELFType<llvm::support::little, 4, false> X86ELFType;
 class X86LinkingContext;
----------------
This is an unrelated (and incorrect) change.

================
Comment at: lib/ReaderWriter/ELF/TargetHandler.h:125
@@ +124,3 @@
+  virtual LLD_UNIQUE_BUMP_PTR(DynamicTable<ELFT>)
+    createDynamicTable(llvm::BumpPtrAllocator &alloc,
+                       StringRef name, int32_t order) = 0;
----------------
No indentation.

================
Comment at: lib/ReaderWriter/ELF/TargetHandler.h:130
@@ +129,3 @@
+  virtual LLD_UNIQUE_BUMP_PTR(DynamicSymbolTable<ELFT>)
+      createDynamicSymbolTable(llvm::BumpPtrAllocator &alloc,
+                               StringRef name, int32_t order) = 0;
----------------
No indentation.

================
Comment at: lib/ReaderWriter/ELF/Mips/MipsLinkingContext.h:39
@@ +38,3 @@
+private:
+  MipsGOT _got;
+};
----------------
This isn't a great place for this as it preserves atom pointers from a specific pass, which are not guaranteed to be stable. It seems that it's only used for the local and global offsets of the got. I think a better option here would be to calculate the offsets in the layout by iterating over the final .got MergedSection.


http://llvm-reviews.chandlerc.com/D2156



More information about the llvm-commits mailing list