mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Handle getting UnknownAddressOrSize or section_end().
These should probably be error conditions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205509 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
051c948bbe
commit
46aa8c8dae
@ -354,12 +354,21 @@ inline error_code SymbolRef::getFileOffset(uint64_t &Result) const {
|
||||
uint64_t Address;
|
||||
if (error_code EC = getAddress(Address))
|
||||
return EC;
|
||||
if (Address == UnknownAddressOrSize) {
|
||||
Result = UnknownAddressOrSize;
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
const ObjectFile *Obj = getObject();
|
||||
section_iterator SecI(Obj->section_begin());
|
||||
if (error_code EC = getSection(SecI))
|
||||
return EC;
|
||||
|
||||
if (SecI == Obj->section_end()) {
|
||||
Result = UnknownAddressOrSize;
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
uint64_t SectionAddress;
|
||||
if (error_code EC = SecI->getAddress(SectionAddress))
|
||||
return EC;
|
||||
|
Loading…
Reference in New Issue
Block a user