mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-04 21:31:03 +00:00
Use the same encoding for EH stuff uniformly on all MachO targets.
This hopefulyl should unbreak EH on PPC/Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96637 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c94fa4c759
commit
f0e7c87e56
@ -171,6 +171,11 @@ public:
|
||||
virtual const MCExpr *
|
||||
getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
MachineModuleInfo *MMI, unsigned Encoding) const;
|
||||
|
||||
virtual unsigned getPersonalityEncoding() const;
|
||||
virtual unsigned getLSDAEncoding() const;
|
||||
virtual unsigned getFDEEncoding() const;
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
using namespace llvm;
|
||||
using namespace dwarf;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// ELF
|
||||
@ -754,6 +755,22 @@ getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
}
|
||||
|
||||
|
||||
unsigned TargetLoweringObjectFileMachO::getPersonalityEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
unsigned TargetLoweringObjectFileMachO::getLSDAEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned TargetLoweringObjectFileMachO::getFDEEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned TargetLoweringObjectFileMachO::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// COFF
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -148,35 +148,3 @@ unsigned X8664_ELFTargetObjectFile::getTTypeEncoding() const {
|
||||
|
||||
return DW_EH_PE_absptr;
|
||||
}
|
||||
|
||||
unsigned X8632_MachoTargetObjectFile::getPersonalityEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
unsigned X8632_MachoTargetObjectFile::getLSDAEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned X8632_MachoTargetObjectFile::getFDEEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned X8632_MachoTargetObjectFile::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
unsigned X8664_MachoTargetObjectFile::getPersonalityEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
||||
unsigned X8664_MachoTargetObjectFile::getLSDAEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned X8664_MachoTargetObjectFile::getFDEEncoding() const {
|
||||
return DW_EH_PE_pcrel;
|
||||
}
|
||||
|
||||
unsigned X8664_MachoTargetObjectFile::getTTypeEncoding() const {
|
||||
return DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4;
|
||||
}
|
||||
|
@ -25,10 +25,6 @@ namespace llvm {
|
||||
virtual const MCExpr *
|
||||
getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
MachineModuleInfo *MMI, unsigned Encoding) const;
|
||||
virtual unsigned getPersonalityEncoding() const;
|
||||
virtual unsigned getLSDAEncoding() const;
|
||||
virtual unsigned getFDEEncoding() const;
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
/// X8664_MachoTargetObjectFile - This TLOF implementation is used for
|
||||
@ -39,10 +35,6 @@ namespace llvm {
|
||||
virtual const MCExpr *
|
||||
getSymbolForDwarfGlobalReference(const GlobalValue *GV, Mangler *Mang,
|
||||
MachineModuleInfo *MMI, unsigned Encoding) const;
|
||||
virtual unsigned getPersonalityEncoding() const;
|
||||
virtual unsigned getLSDAEncoding() const;
|
||||
virtual unsigned getFDEEncoding() const;
|
||||
virtual unsigned getTTypeEncoding() const;
|
||||
};
|
||||
|
||||
class X8632_ELFTargetObjectFile : public TargetLoweringObjectFileELF {
|
||||
|
Loading…
x
Reference in New Issue
Block a user