diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-21 05:15:01 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2014-05-21 05:15:01 +0000 |
commit | 8235ed1808c65ca8ebcc811c166387c24ff63083 (patch) | |
tree | ffc1a3df509c372e7ef40b7d3a044e0bc758e7ce | |
parent | 651f680b79947b345a5cd6ddb177483365e3b551 (diff) | |
download | llvm-8235ed1808c65ca8ebcc811c166387c24ff63083.tar.gz llvm-8235ed1808c65ca8ebcc811c166387c24ff63083.tar.bz2 llvm-8235ed1808c65ca8ebcc811c166387c24ff63083.tar.xz |
MC: mark COFF .drectve section as REMOVE
The .drectve section should be marked as IMAGE_SCN_LNK_REMOVE. This matches what
the MSVC toolchain does and accurately reflects that this section should not be
emitted into the final binary. This section is merely information for the
linker, comprising of additional linker directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209273 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/MC/MCObjectFileInfo.cpp | 2 | ||||
-rw-r--r-- | test/MC/COFF/directive-section-characteristics.ll | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp index e4bcfa257f..e5377890da 100644 --- a/lib/MC/MCObjectFileInfo.cpp +++ b/lib/MC/MCObjectFileInfo.cpp @@ -739,7 +739,7 @@ void MCObjectFileInfo::InitCOFFMCObjectFileInfo(Triple T) { DrectveSection = Ctx->getCOFFSection(".drectve", - COFF::IMAGE_SCN_LNK_INFO, + COFF::IMAGE_SCN_LNK_INFO | COFF::IMAGE_SCN_LNK_REMOVE, SectionKind::getMetadata()); PDataSection = diff --git a/test/MC/COFF/directive-section-characteristics.ll b/test/MC/COFF/directive-section-characteristics.ll new file mode 100644 index 0000000000..ca8102af64 --- /dev/null +++ b/test/MC/COFF/directive-section-characteristics.ll @@ -0,0 +1,17 @@ +; RUN: llc -mtriple i686-windows -filetype obj -o - %s | llvm-readobj -sections \ +; RUN: | FileCheck %s + +define dllexport void @function() { +entry: + ret void +} + +; CHECK: Section { +; CHECK: Name: .drectve +; CHECK: Characteristics [ +; CHECK: IMAGE_SCN_ALIGN_1BYTES +; CHECK: IMAGE_SCN_LNK_INFO +; CHECK: IMAGE_SCN_LNK_REMOVE +; CHECK: ] +; CHECK: } + |