* xcoffread.c (xcoff_next_symbol_text): New function.
(read_xcoff_symtab): Set next_symbol_text_func to it. Move raw_symbol outside of read_xcoff_symtab.
This commit is contained in:
parent
aece310f08
commit
34d265dc08
2 changed files with 30 additions and 13 deletions
|
@ -1,5 +1,9 @@
|
|||
Wed Mar 30 11:43:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||
|
||||
* xcoffread.c (xcoff_next_symbol_text): New function.
|
||||
(read_xcoff_symtab): Set next_symbol_text_func to it.
|
||||
Move raw_symbol outside of read_xcoff_symtab.
|
||||
|
||||
* remote.c (getpkt): Remove unused "out" label.
|
||||
|
||||
Wed Mar 30 09:15:42 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
|
||||
|
|
|
@ -971,6 +971,30 @@ static int static_block_section = -1;
|
|||
|
||||
static int symname_alloced = 0;
|
||||
|
||||
/* Next symbol to read. Pointer into raw seething symbol table. */
|
||||
|
||||
static char *raw_symbol;
|
||||
|
||||
/* This is the function which stabsread.c calls to get symbol
|
||||
continuations. */
|
||||
static char *
|
||||
xcoff_next_symbol_text ()
|
||||
{
|
||||
struct internal_syment symbol;
|
||||
static struct complaint msg =
|
||||
{"Unexpected symbol continuation", 0, 0};
|
||||
|
||||
bfd_coff_swap_sym_in (current_objfile->obfd, raw_symbol, &symbol);
|
||||
if (symbol->n_zeroes)
|
||||
complain (&msg);
|
||||
else if (symbol->n_sclass & 0x80)
|
||||
return debugsec + symbol->n_offset;
|
||||
else
|
||||
complain (&msg);
|
||||
raw_symbol += coff_data (current_objfile->obfd)->local_symesz;
|
||||
++symnum;
|
||||
}
|
||||
|
||||
/* read the whole symbol table of a given bfd. */
|
||||
|
||||
static void
|
||||
|
@ -979,7 +1003,6 @@ read_xcoff_symtab (objfile, nsyms)
|
|||
int nsyms; /* # of symbols */
|
||||
{
|
||||
bfd *abfd = objfile->obfd;
|
||||
char *raw_symbol; /* Pointer into raw seething symbol table */
|
||||
char *raw_auxptr; /* Pointer to first raw aux entry for sym */
|
||||
sec_ptr textsec; /* Pointer to text section */
|
||||
TracebackInfo *ptb; /* Pointer to traceback table */
|
||||
|
@ -1050,6 +1073,8 @@ read_xcoff_symtab (objfile, nsyms)
|
|||
printf_unfiltered ("Unable to locate text section!\n");
|
||||
}
|
||||
|
||||
next_symbol_text_func = xcoff_next_symbol_text;
|
||||
|
||||
while (symnum < nsyms) {
|
||||
|
||||
QUIT; /* make this command interruptable. */
|
||||
|
@ -1863,18 +1888,6 @@ free_linetab ()
|
|||
linetab = NULL;
|
||||
}
|
||||
|
||||
/* dbx allows the text of a symbol name to be continued into the
|
||||
next symbol name! When such a continuation is encountered
|
||||
(a \ at the end of the text of a name)
|
||||
call this function to get the continuation. */
|
||||
/* So far, I haven't seen this happenning xlc output. I doubt we'll need this
|
||||
for xcoff. */
|
||||
|
||||
#undef next_symbol_text
|
||||
#define next_symbol_text() \
|
||||
printf_unfiltered ("Gdb Error: symbol names on multiple lines not implemented.\n")
|
||||
|
||||
|
||||
static void
|
||||
xcoff_new_init (objfile)
|
||||
struct objfile *objfile;
|
||||
|
|
Loading…
Reference in a new issue