mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-29 06:50:32 +00:00
1999-09-11 Donn Terry <donn@interix.com>
* coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such symbols named .bf.
This commit is contained in:
parent
eeaf533e61
commit
d510f9a69b
@ -12,6 +12,9 @@
|
||||
function symbols.
|
||||
|
||||
* syms.c (BSF_DEBUGGING_RELOC): Define.
|
||||
* coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING
|
||||
for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such
|
||||
symbols named .bf.
|
||||
* coffgen.c (fixup_symbol_value): Relocate a symbol which has
|
||||
BSF_DEBUGGING_RELOC set.
|
||||
* bfd-in2.h: Rebuild.
|
||||
|
@ -4139,16 +4139,24 @@ coff_slurp_symbol_table (abfd)
|
||||
#endif
|
||||
|
||||
case C_BLOCK: /* ".bb" or ".eb" */
|
||||
case C_FCN: /* ".bf" or ".ef" */
|
||||
case C_FCN: /* ".bf" or ".ef" (or PE ".lf") */
|
||||
case C_EFCN: /* physical end of function */
|
||||
dst->symbol.flags = BSF_LOCAL;
|
||||
#if defined COFF_WITH_PE
|
||||
/* PE sets the symbol to a value relative to the start
|
||||
of the section. */
|
||||
dst->symbol.value = src->u.syment.n_value;
|
||||
if (strcmp (dst->symbol.name, ".bf") != 0)
|
||||
{
|
||||
/* PE uses funny values for .ef and .lf; don't
|
||||
relocate them. */
|
||||
dst->symbol.flags = BSF_DEBUGGING;
|
||||
}
|
||||
else
|
||||
dst->symbol.flags = BSF_DEBUGGING | BSF_DEBUGGING_RELOC;
|
||||
#else
|
||||
/* Base the value as an index from the base of the
|
||||
section. */
|
||||
dst->symbol.flags = BSF_LOCAL;
|
||||
dst->symbol.value = (src->u.syment.n_value
|
||||
- dst->symbol.section->vma);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user