forked from Imagelibrary/binutils-gdb
* gdbarch.sh (static_transform_name): New gdbarch callback.
* gdbarch.c, gdbarch.h: Regenerate. * dbxread.c (read_dbx_symtab): Use gdbarch_static_transform_name instead of STATIC_TRANSFORM_NAME. * mdebugread.c (parse_partial_symbols): Likewise. * stabsread.c (define_symbol): Likewise. * xcoffread.c (scan_xcoff_symtab): Likewise. * config/i368/tm-i386sol2.h (STATIC_TRANSFORM_NAME): Remove. (IS_STATIC_TRANSFORM_NAME): Remove. * i386-tdep.c (sunpro_static_transform_name): Remove, move to ... * i386-sol2-tdep.c (i386_sol2_static_transform_name): ... here. (i386_sol2_init_abi): Install it. * config/sparc/tm-sol2.h (STATIC_TRANSFORM_NAME): Remove. (IS_STATIC_TRANSFORM_NAME): Remove. * sparc-tdep.c (sparc_stabs_unglobalize_name): Remove, move to ... * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): ... here. (sparc32_sol2_init_abi): Install it. * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Likewise. * sparc-tdep.h (sparc_sol2_static_transform_name): Add prototype.
This commit is contained in:
@@ -1354,37 +1354,6 @@ sparc_write_pc (struct regcache *regcache, CORE_ADDR pc)
|
||||
regcache_cooked_write_unsigned (regcache, tdep->npc_regnum, pc + 4);
|
||||
}
|
||||
|
||||
/* Unglobalize NAME. */
|
||||
|
||||
char *
|
||||
sparc_stabs_unglobalize_name (char *name)
|
||||
{
|
||||
/* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop,
|
||||
SunPRO) convert file static variables into global values, a
|
||||
process known as globalization. In order to do this, the
|
||||
compiler will create a unique prefix and prepend it to each file
|
||||
static variable. For static variables within a function, this
|
||||
globalization prefix is followed by the function name (nested
|
||||
static variables within a function are supposed to generate a
|
||||
warning message, and are left alone). The procedure is
|
||||
documented in the Stabs Interface Manual, which is distrubuted
|
||||
with the compilers, although version 4.0 of the manual seems to
|
||||
be incorrect in some places, at least for SPARC. The
|
||||
globalization prefix is encoded into an N_OPT stab, with the form
|
||||
"G=<prefix>". The globalization prefix always seems to start
|
||||
with a dollar sign '$'; a dot '.' is used as a seperator. So we
|
||||
simply strip everything up until the last dot. */
|
||||
|
||||
if (name[0] == '$')
|
||||
{
|
||||
char *p = strrchr (name, '.');
|
||||
if (p)
|
||||
return p + 1;
|
||||
}
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
/* Return the appropriate register set for the core section identified
|
||||
by SECT_NAME and SECT_SIZE. */
|
||||
|
||||
Reference in New Issue
Block a user