forked from OSchip/llvm-project
Revert "Add section header stream to PDB." because it depends on r283823.
The change this patch depends on was reverted. llvm-svn: 283837
This commit is contained in:
parent
80dca0c78f
commit
9aa4ab6f9b
|
@ -11,6 +11,7 @@
|
|||
#include "Config.h"
|
||||
#include "Error.h"
|
||||
#include "InputFiles.h"
|
||||
#include "PDB.h"
|
||||
#include "SymbolTable.h"
|
||||
#include "Symbols.h"
|
||||
#include "Writer.h"
|
||||
|
@ -373,8 +374,10 @@ void LinkerDriver::link(llvm::ArrayRef<const char *> ArgsArr) {
|
|||
}
|
||||
|
||||
// Create a dummy PDB file to satisfy build sytem rules.
|
||||
if (auto *Arg = Args.getLastArg(OPT_pdb))
|
||||
if (auto *Arg = Args.getLastArg(OPT_pdb)) {
|
||||
Config->PDBPath = Arg->getValue();
|
||||
createPDB(Config->PDBPath);
|
||||
}
|
||||
|
||||
// Handle /noentry
|
||||
if (Args.hasArg(OPT_noentry)) {
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace llvm::support::endian;
|
|||
|
||||
static ExitOnError ExitOnErr;
|
||||
|
||||
void coff::createPDB(StringRef Path, ArrayRef<uint8_t> SectionTable) {
|
||||
void coff::createPDB(StringRef Path) {
|
||||
BumpPtrAllocator Alloc;
|
||||
pdb::PDBFileBuilder Builder(Alloc);
|
||||
ExitOnErr(Builder.initialize(4096)); // 4096 is blocksize
|
||||
|
@ -63,10 +63,6 @@ void coff::createPDB(StringRef Path, ArrayRef<uint8_t> SectionTable) {
|
|||
auto &IpiBuilder = Builder.getIpiBuilder();
|
||||
IpiBuilder.setVersionHeader(pdb::PdbTpiV80);
|
||||
|
||||
// Add COFF section header stream.
|
||||
ExitOnErr(
|
||||
DbiBuilder.addDbgStream(pdb::DbgHeaderType::SectionHdr, SectionTable));
|
||||
|
||||
// Write to a file.
|
||||
ExitOnErr(Builder.commit(Path));
|
||||
}
|
||||
|
|
|
@ -10,12 +10,11 @@
|
|||
#ifndef LLD_COFF_PDB_H
|
||||
#define LLD_COFF_PDB_H
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
|
||||
namespace lld {
|
||||
namespace coff {
|
||||
void createPDB(llvm::StringRef Path, llvm::ArrayRef<uint8_t> SectionTable);
|
||||
void createPDB(llvm::StringRef Path);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -7,14 +7,13 @@
|
|||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "Writer.h"
|
||||
#include "Config.h"
|
||||
#include "DLL.h"
|
||||
#include "Error.h"
|
||||
#include "InputFiles.h"
|
||||
#include "PDB.h"
|
||||
#include "SymbolTable.h"
|
||||
#include "Symbols.h"
|
||||
#include "Writer.h"
|
||||
#include "lld/Core/Parallel.h"
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
|
@ -148,7 +147,6 @@ private:
|
|||
std::unique_ptr<Chunk> DebugDirectory;
|
||||
std::vector<std::unique_ptr<Chunk>> DebugRecords;
|
||||
CVDebugRecordChunk *BuildId = nullptr;
|
||||
ArrayRef<uint8_t> SectionTable;
|
||||
|
||||
uint64_t FileSize;
|
||||
uint32_t PointerToSymbolTable = 0;
|
||||
|
@ -303,10 +301,6 @@ void Writer::run() {
|
|||
writeSections();
|
||||
sortExceptionTable();
|
||||
writeBuildId();
|
||||
|
||||
if (!Config->PDBPath.empty())
|
||||
createPDB(Config->PDBPath, SectionTable);
|
||||
|
||||
if (auto EC = Buffer->commit())
|
||||
fatal(EC, "failed to write the output file");
|
||||
}
|
||||
|
@ -725,8 +719,6 @@ template <typename PEHeaderTy> void Writer::writeHeader() {
|
|||
Sec->writeHeaderTo(Buf);
|
||||
Buf += sizeof(coff_section);
|
||||
}
|
||||
SectionTable = ArrayRef<uint8_t>(
|
||||
Buf - OutputSections.size() * sizeof(coff_section), Buf);
|
||||
|
||||
if (OutputSymtab.empty())
|
||||
return;
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
|
||||
namespace lld {
|
||||
namespace coff {
|
||||
class SymbolTable;
|
||||
|
||||
class Chunk;
|
||||
class OutputSection;
|
||||
|
||||
void writeResult(SymbolTable *T);
|
||||
|
||||
|
|
|
@ -3,28 +3,25 @@
|
|||
# RUN: llvm-pdbdump pdb2yaml -stream-metadata -stream-directory -pdb-stream \
|
||||
# RUN: -dbi-stream -ipi-stream %t.pdb | FileCheck %s
|
||||
|
||||
# RUN: llvm-pdbdump raw -section-headers %t.pdb | FileCheck -check-prefix RAW %s
|
||||
|
||||
# CHECK: MSF:
|
||||
# CHECK-NEXT: SuperBlock:
|
||||
# CHECK-NEXT: BlockSize: 4096
|
||||
# CHECK-NEXT: FreeBlockMap:
|
||||
# CHECK-NEXT: NumBlocks: 10
|
||||
# CHECK-NEXT: NumDirectoryBytes: 48
|
||||
# CHECK-NEXT: NumBlocks: 9
|
||||
# CHECK-NEXT: NumDirectoryBytes: 40
|
||||
# CHECK-NEXT: Unknown1: 0
|
||||
# CHECK-NEXT: BlockMapAddr: 3
|
||||
# CHECK-NEXT: NumDirectoryBlocks: 1
|
||||
# CHECK-NEXT: DirectoryBlocks: [ 9 ]
|
||||
# CHECK-NEXT: NumStreams: 6
|
||||
# CHECK-NEXT: FileSize: 40960
|
||||
# CHECK-NEXT: StreamSizes: [ 0, 48, 56, 90, 56, 80 ]
|
||||
# CHECK-NEXT: DirectoryBlocks: [ 8 ]
|
||||
# CHECK-NEXT: NumStreams: 5
|
||||
# CHECK-NEXT: FileSize: 36864
|
||||
# CHECK-NEXT: StreamSizes: [ 0, 48, 56, 68, 56 ]
|
||||
# CHECK-NEXT: StreamMap:
|
||||
# CHECK-NEXT: - Stream: [ ]
|
||||
# CHECK-NEXT: - Stream: [ ]
|
||||
# CHECK-NEXT: - Stream: [ 4 ]
|
||||
# CHECK-NEXT: - Stream: [ 6 ]
|
||||
# CHECK-NEXT: - Stream: [ 5 ]
|
||||
# CHECK-NEXT: - Stream: [ 7 ]
|
||||
# CHECK-NEXT: - Stream: [ 6 ]
|
||||
# CHECK-NEXT: - Stream: [ 8 ]
|
||||
# CHECK-NEXT: - Stream: [ 4 ]
|
||||
# CHECK-NEXT: PdbStream:
|
||||
# CHECK-NEXT: Age: 1
|
||||
# CHECK-NEXT: Guid: '{00000000-0000-0000-0000-000000000000}'
|
||||
|
@ -43,40 +40,6 @@
|
|||
# CHECK-NEXT: Version: VC80
|
||||
# CHECK-NEXT: Records:
|
||||
|
||||
# RAW: Section Headers [
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .text
|
||||
# RAW-NEXT: Virtual Size: 3
|
||||
# RAW-NEXT: Virtual Address: 4096
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x60000020)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_CODE (0x20)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: {
|
||||
# RAW-NEXT: Name: .rdata
|
||||
# RAW-NEXT: Virtual Size: 107
|
||||
# RAW-NEXT: Virtual Address: 8192
|
||||
# RAW-NEXT: Size of Raw Data: 512
|
||||
# RAW-NEXT: File Pointer to Raw Data: 1024
|
||||
# RAW-NEXT: File Pointer to Relocations: 0
|
||||
# RAW-NEXT: File Pointer to Linenumbers: 0
|
||||
# RAW-NEXT: Number of Relocations: 0
|
||||
# RAW-NEXT: Number of Linenumbers: 0
|
||||
# RAW-NEXT: Characteristics [ (0x40000040)
|
||||
# RAW-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
|
||||
# RAW-NEXT: IMAGE_SCN_MEM_READ (0x40000000)
|
||||
# RAW-NEXT: ]
|
||||
# RAW-NEXT: }
|
||||
# RAW-NEXT: ]
|
||||
|
||||
--- !COFF
|
||||
header:
|
||||
Machine: IMAGE_FILE_MACHINE_I386
|
||||
|
|
Loading…
Reference in New Issue