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
This commit is contained in:
Saleem Abdulrasool 2014-05-21 05:15:01 +00:00
parent 651f680b79
commit 8235ed1808
2 changed files with 18 additions and 1 deletions

View File

@ -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 =

View File

@ -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: }