forked from OSchip/llvm-project
[lldb][COFF] Load absolute symbols from COFF symbol table
Reviewed By: labath Differential Revision: https://reviews.llvm.org/D134517
This commit is contained in:
parent
20c2f94c3c
commit
7ebff6ab26
|
@ -830,6 +830,9 @@ void ObjectFilePECOFF::AppendFromCOFFSymbolTable(
|
|||
symbol.SetType(exported->GetType());
|
||||
}
|
||||
}
|
||||
} else if (section_number == llvm::COFF::IMAGE_SYM_ABSOLUTE) {
|
||||
symbol.GetAddressRef() = Address(coff_sym_ref.getValue());
|
||||
symbol.SetType(lldb::eSymbolTypeAbsolute);
|
||||
}
|
||||
symtab.AddSymbol(symbol);
|
||||
}
|
||||
|
|
|
@ -4,9 +4,10 @@
|
|||
## The .file symbol isn't checked, but is included to test that the symbol
|
||||
## table iteration handles cases with a symbol with more than one aux symbol.
|
||||
|
||||
# CHECK: Type File Address/Value {{.*}} Size Flags Name
|
||||
# CHECK: Code 0x0000000040001000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} entry
|
||||
# CHECK: 0x0000000040002000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} variable
|
||||
# CHECK: Type File Address/Value {{.*}} Size Flags Name
|
||||
# CHECK: Code 0x0000000040001000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} entry
|
||||
# CHECK: 0x0000000040002000 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} variable
|
||||
# CHECK: Absolute 0x00000000deadbeef 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}} absolute_symbol
|
||||
|
||||
--- !COFF
|
||||
OptionalHeader:
|
||||
|
@ -123,4 +124,10 @@ symbols:
|
|||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
||||
- Name: absolute_symbol
|
||||
Value: 0xdeadbeef
|
||||
SectionNumber: -1
|
||||
SimpleType: IMAGE_SYM_TYPE_NULL
|
||||
ComplexType: IMAGE_SYM_DTYPE_NULL
|
||||
StorageClass: IMAGE_SYM_CLASS_STATIC
|
||||
...
|
||||
|
|
Loading…
Reference in New Issue