mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 11:02:59 +02:00
[PDB] Correctly use the target machine when writing DBI stream.
Using Config->is64() will treat ARM64 as Amd64, which is incorrect. Furthermore, there are more esoteric architectures that could theoretically be encountered. Just set it directly to the machine type, which we already know anyway. llvm-svn: 330157
This commit is contained in:
parent
4a217547b7
commit
d4bde9b53a
@ -12,6 +12,7 @@
|
||||
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/StringSet.h"
|
||||
#include "llvm/BinaryFormat/COFF.h"
|
||||
#include "llvm/Support/Error.h"
|
||||
|
||||
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
|
||||
@ -51,6 +52,7 @@ public:
|
||||
void setPdbDllRbld(uint16_t R);
|
||||
void setFlags(uint16_t F);
|
||||
void setMachineType(PDB_Machine M);
|
||||
void setMachineType(COFF::MachineTypes M);
|
||||
void setSectionMap(ArrayRef<SecMapEntry> SecMap);
|
||||
|
||||
// Add given bytes as a new stream.
|
||||
|
@ -53,6 +53,11 @@ void DbiStreamBuilder::setFlags(uint16_t F) { Flags = F; }
|
||||
|
||||
void DbiStreamBuilder::setMachineType(PDB_Machine M) { MachineType = M; }
|
||||
|
||||
void DbiStreamBuilder::setMachineType(COFF::MachineTypes M) {
|
||||
// These enums are mirrors of each other, so we can just cast the value.
|
||||
MachineType = static_cast<pdb::PDB_Machine>(static_cast<unsigned>(M));
|
||||
}
|
||||
|
||||
void DbiStreamBuilder::setSectionMap(ArrayRef<SecMapEntry> SecMap) {
|
||||
SectionMap = SecMap;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user