summaryrefslogtreecommitdiff
path: root/app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch')
-rw-r--r--app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch b/app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch
new file mode 100644
index 00000000..b1a628be
--- /dev/null
+++ b/app-arch/lld/files/patches-0/0006-ELF-Writer-Fix-interp-phdr.patch
@@ -0,0 +1,40 @@
+From 80f91433c000f599baced23566270ac96a26ae9a Mon Sep 17 00:00:00 2001
+From: Michael Spencer <bigcheesegs@gmail.com>
+Date: Wed, 13 Feb 2013 16:59:57 -0800
+Subject: [PATCH 06/13] [ELF][Writer] Fix interp phdr.
+
+---
+ include/lld/ReaderWriter/ELFTargetInfo.h | 2 +-
+ lib/ReaderWriter/ELF/HeaderChunks.h | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/include/lld/ReaderWriter/ELFTargetInfo.h b/include/lld/ReaderWriter/ELFTargetInfo.h
+index c2715fe..9362aac 100644
+--- a/include/lld/ReaderWriter/ELFTargetInfo.h
++++ b/include/lld/ReaderWriter/ELFTargetInfo.h
+@@ -50,7 +50,7 @@ public:
+ }
+
+ virtual StringRef getInterpreter() const {
+- return "/lib/ld64.so.1";
++ return "/lib64/ld-linux-x86-64.so.2";
+ }
+
+ /// \brief Does the output have dynamic sections.
+diff --git a/lib/ReaderWriter/ELF/HeaderChunks.h b/lib/ReaderWriter/ELF/HeaderChunks.h
+index 86f21e2..49fec92 100644
+--- a/lib/ReaderWriter/ELF/HeaderChunks.h
++++ b/lib/ReaderWriter/ELF/HeaderChunks.h
+@@ -182,7 +182,8 @@ bool ProgramHeader<ELFT>::addSegment(Segment<ELFT> *segment) {
+ bool allocatedNew = false;
+ for (auto slice : segment->slices()) {
+ // If we have a TLS segment, emit a LOAD first.
+- if (segment->segmentType() == llvm::ELF::PT_TLS) {
++ if (segment->segmentType() == llvm::ELF::PT_TLS ||
++ segment->segmentType() == llvm::ELF::PT_DYNAMIC) {
+ auto phdr = allocateProgramHeader();
+ if (phdr.second)
+ allocatedNew = true;
+--
+1.8.1.2
+