From 0629e1252ff62948ca2085653c2f24f76ec30ab8 Mon Sep 17 00:00:00 2001 From: Jordan Rupprecht Date: Thu, 6 Jun 2019 23:23:14 +0000 Subject: [PATCH] Revert [ELF] Simplify the condition to create .interp This reverts r362355 (git commit c78c999a9cd7a77b9d13c610c9faebac5d560a55) This causes some internal tests to fail; details provided offthread. llvm-svn: 362755 --- lld/ELF/Writer.cpp | 3 ++- lld/test/ELF/dynamic-linker.s | 16 +++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index b71a87c9af9e..1ee132282a45 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -138,7 +138,8 @@ StringRef elf::getOutputSectionName(const InputSectionBase *S) { } static bool needsInterpSection() { - return !Config->DynamicLinker.empty() && Script->needsInterpSection(); + return !SharedFiles.empty() && !Config->DynamicLinker.empty() && + Script->needsInterpSection(); } template void elf::writeResult() { Writer().run(); } diff --git a/lld/test/ELF/dynamic-linker.s b/lld/test/ELF/dynamic-linker.s index ac7ec6a3b3e9..3faf8e8a169e 100644 --- a/lld/test/ELF/dynamic-linker.s +++ b/lld/test/ELF/dynamic-linker.s @@ -1,19 +1,21 @@ # REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/shared.s -o %t1.o +# RUN: ld.lld -shared %t1.o -o %t.so # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o -# RUN: ld.lld --dynamic-linker foo %t.o -o %t -# RUN: llvm-readelf --program-headers %t | FileCheck %s +# RUN: ld.lld --dynamic-linker foo %t.o %t.so -o %t +# RUN: llvm-readelf -program-headers %t | FileCheck %s -# RUN: ld.lld --dynamic-linker=foo %t.o -o %t -# RUN: llvm-readelf --program-headers %t | FileCheck %s +# RUN: ld.lld --dynamic-linker=foo %t.o %t.so -o %t +# RUN: llvm-readelf -program-headers %t | FileCheck %s # CHECK: [Requesting program interpreter: foo] -# RUN: ld.lld %t.o -o %t +# RUN: ld.lld %t.o %t.so -o %t # RUN: llvm-readelf -program-headers %t | FileCheck --check-prefix=NO %s -# RUN: ld.lld --dynamic-linker foo --no-dynamic-linker %t.o -o %t -# RUN: llvm-readelf --program-headers %t | FileCheck --check-prefix=NO %s +# RUN: ld.lld --dynamic-linker foo --no-dynamic-linker %t.o %t.so -o %t +# RUN: llvm-readelf -program-headers %t | FileCheck --check-prefix=NO %s # NO-NOT: PT_INTERP