mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 20:49:43 +00:00
* stabsread.c (patch_block_stabs): If stab & no symbol, make
a LOC_OPTIMIZED_OUT symbol. symtab.h (enum address_class): Add LOC_OPTIMIZED_OUT. findvar.c (read_var_value), printcmd.c (address_info), symmisc.c (print_{,partial_}symbol), c-exp.y (variable), m2-exp.y (yylex): Deal with it.
This commit is contained in:
parent
c209295fa5
commit
0848ad1c4d
@ -1,3 +1,24 @@
|
||||
Fri Apr 2 08:23:14 1993 Jim Kingdon (kingdon@cygnus.com)
|
||||
|
||||
* xcoffexec.c: Call fatal() not abort().
|
||||
|
||||
* stabsread.c (patch_block_stabs): If stab & no symbol, make
|
||||
a LOC_OPTIMIZED_OUT symbol.
|
||||
symtab.h (enum address_class): Add LOC_OPTIMIZED_OUT.
|
||||
findvar.c (read_var_value), printcmd.c (address_info),
|
||||
symmisc.c (print_{,partial_}symbol), c-exp.y (variable),
|
||||
m2-exp.y (yylex): Deal with it.
|
||||
**** start-sanitize-chill ****
|
||||
ch-exp.y (yylex): Deal with it.
|
||||
**** end-sanitize-chill ****
|
||||
|
||||
Thu Apr 1 18:43:02 1993 Stu Grossman (grossman@cygnus.com)
|
||||
|
||||
* findvar.c (value_from_register): H8500 specific, check to see
|
||||
if we are looking at short pointer. If so, skip crock.
|
||||
* h8500-tdep.c (h8500_frame_chain): Mask down value from
|
||||
read_memory_integer() to avoid getting messed up by sign extension.
|
||||
|
||||
Thu Apr 1 16:44:41 1993 K. Richard Pixley (rich@rtl.cygnus.com)
|
||||
|
||||
* sparc-tdep.c (in_solib_trampoline), symfile.c (find_pc_section):
|
||||
|
@ -671,6 +671,7 @@ variable: name_not_typename
|
||||
case LOC_LABEL:
|
||||
case LOC_BLOCK:
|
||||
case LOC_CONST_BYTES:
|
||||
case LOC_OPTIMIZED_OUT:
|
||||
|
||||
/* In this case the expression can
|
||||
be evaluated regardless of what
|
||||
|
@ -1979,6 +1979,7 @@ yylex ()
|
||||
case LOC_UNDEF:
|
||||
case LOC_TYPEDEF:
|
||||
case LOC_CONST_BYTES:
|
||||
case LOC_OPTIMIZED_OUT:
|
||||
error ("Symbol \"%s\" names no location.", simplename);
|
||||
break;
|
||||
}
|
||||
|
@ -617,6 +617,7 @@ variable: NAME
|
||||
case LOC_LABEL: /* maybe should go above? */
|
||||
case LOC_BLOCK:
|
||||
case LOC_CONST_BYTES:
|
||||
case LOC_OPTIMIZED_OUT:
|
||||
/* These are listed so gcc -Wall will reveal
|
||||
un-handled cases. */
|
||||
break;
|
||||
|
@ -382,9 +382,32 @@ patch_block_stabs (symbols, stabs, objfile)
|
||||
sym = find_symbol_in_list (symbols, name, pp-name);
|
||||
if (!sym)
|
||||
{
|
||||
#ifndef IBM6000_TARGET
|
||||
printf ("ERROR! stab symbol not found!\n"); /* FIXME */
|
||||
#endif
|
||||
/* On xcoff, if a global is defined and never referenced,
|
||||
ld will remove it from the executable. There is then
|
||||
a N_GSYM stab for it, but no regular (C_EXT) symbol. */
|
||||
sym = (struct symbol *)
|
||||
obstack_alloc (&objfile->symbol_obstack,
|
||||
sizeof (struct symbol));
|
||||
|
||||
memset (sym, 0, sizeof (struct symbol));
|
||||
SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
|
||||
SYMBOL_CLASS (sym) = LOC_OPTIMIZED_OUT;
|
||||
SYMBOL_NAME (sym) =
|
||||
obstack_copy0 (&objfile->symbol_obstack, name, pp - name);
|
||||
pp += 2;
|
||||
if (*(pp-1) == 'F' || *(pp-1) == 'f')
|
||||
{
|
||||
/* I don't think the linker does this with functions,
|
||||
so as far as I know this is never executed.
|
||||
But it doesn't hurt to check. */
|
||||
SYMBOL_TYPE (sym) =
|
||||
lookup_function_type (read_type (&pp, objfile));
|
||||
}
|
||||
else
|
||||
{
|
||||
SYMBOL_TYPE (sym) = read_type (&pp, objfile);
|
||||
}
|
||||
add_symbol_to_list (sym, &global_symbols);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -228,14 +228,14 @@ build_section_table (some_bfd, start, end)
|
||||
|
||||
count = bfd_count_sections (some_bfd);
|
||||
if (count == 0)
|
||||
abort(); /* return 1? */
|
||||
fatal ("aborting"); /* return 1? */
|
||||
if (*start)
|
||||
free (*start);
|
||||
*start = (struct section_table *) xmalloc (count * sizeof (**start));
|
||||
*end = *start;
|
||||
bfd_map_over_sections (some_bfd, add_to_section_table, (char *)end);
|
||||
if (*end > *start + count)
|
||||
abort();
|
||||
fatal ("aborting");
|
||||
/* We could realloc the table, but it probably loses for most files. */
|
||||
return 0;
|
||||
}
|
||||
@ -644,7 +644,7 @@ xfer_memory (memaddr, myaddr, len, write, target)
|
||||
boolean (*xfer_fn) PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
|
||||
|
||||
if (len <= 0)
|
||||
abort();
|
||||
fatal ("aborting");
|
||||
|
||||
memend = memaddr + len;
|
||||
xfer_fn = write? bfd_set_section_contents: bfd_get_section_contents;
|
||||
|
Loading…
Reference in New Issue
Block a user