2010-05-16 Michael Snyder <msnyder@vmware.com>

* scm-exp.c: White space.
	* scm-lang.c: White space.
	* scm-valprint.c: White space.
	* sentinel-frame.c: White space.
	* ser-base.c: White space.
	* ser-go32.c: White space.
	* serial.c: White space.
	* ser-mingw.c: White space.
	* ser-pipe.c: White space.
	* ser-tcp.c: White space.
	* ser-unix.c: White space.
	* solib.c: White space.
	* solib-darwin.c: White space.
	* solib-frv.c: White space.
	* solib-irix.c: White space.
	* solib-osf.c: White space.
	* solib-pa64.c: White space.
	* solib-som.c: White space.
	* solib-spu.c: White space.
	* solib-svr4.c: White space.
	* solib-target.c: White space.
	* source.c: White space.
	* stabsread.c: White space.
	* stack.c: White space.
	* std-regs.c: White space.
	* symfile.c: White space.
	* symmisc.c: White space.
	* symtab.c: White space.
This commit is contained in:
Michael Snyder 2010-05-16 23:49:58 +00:00
parent dd304d5382
commit 433759f709
29 changed files with 203 additions and 36 deletions

View File

@ -1,3 +1,34 @@
2010-05-16 Michael Snyder <msnyder@vmware.com>
* scm-exp.c: White space.
* scm-lang.c: White space.
* scm-valprint.c: White space.
* sentinel-frame.c: White space.
* ser-base.c: White space.
* ser-go32.c: White space.
* serial.c: White space.
* ser-mingw.c: White space.
* ser-pipe.c: White space.
* ser-tcp.c: White space.
* ser-unix.c: White space.
* solib.c: White space.
* solib-darwin.c: White space.
* solib-frv.c: White space.
* solib-irix.c: White space.
* solib-osf.c: White space.
* solib-pa64.c: White space.
* solib-som.c: White space.
* solib-spu.c: White space.
* solib-svr4.c: White space.
* solib-target.c: White space.
* source.c: White space.
* stabsread.c: White space.
* stack.c: White space.
* std-regs.c: White space.
* symfile.c: White space.
* symmisc.c: White space.
* symtab.c: White space.
2010-05-16 Michael Snyder <msnyder@vmware.com>
* source.c (_initialize_source): Add "rev" as an abbreviation

View File

@ -112,6 +112,7 @@ scm_istring2number (char *str, int len, int radix)
#if 0
SCM res;
#endif
if (len == 1)
if (*str == '+' || *str == '-') /* Catches lone `+' and `-' for speed */
return SCM_BOOL_F;
@ -238,6 +239,7 @@ static int
scm_skip_ws (void)
{
int c;
while (1)
switch ((c = *lexptr++))
{
@ -272,6 +274,7 @@ scm_lreadparen (int skipping)
for (;;)
{
int c = scm_skip_ws ();
if (')' == c || ']' == c)
return;
--lexptr;
@ -287,6 +290,7 @@ scm_lreadr (int skipping)
int c, j;
struct stoken str;
LONGEST svalue = 0;
tryagain:
c = *lexptr++;
switch (c)
@ -309,6 +313,7 @@ tryagain:
if (!skipping)
{
struct value *val = scm_evaluate_string (str.ptr, lexptr - str.ptr);
if (!is_scmvalue_type (value_type (val)))
error ("quoted scm form yields non-SCM value");
svalue = extract_signed_integer (value_contents (val),
@ -481,6 +486,7 @@ int
scm_parse (void)
{
char *start;
while (*lexptr == ' ')
lexptr++;
start = lexptr;

View File

@ -70,6 +70,7 @@ scm_get_field (LONGEST svalue, int index, int size,
enum bfd_endian byte_order)
{
gdb_byte buffer[20];
read_memory (SCM2PTR (svalue) + index * size, buffer, size);
return extract_signed_integer (buffer, size, byte_order);
}
@ -135,6 +136,7 @@ in_eval_c (void)
{
char *filename = cursal.symtab->filename;
int len = strlen (filename);
if (len >= 6 && strcmp (filename + len - 6, "eval.c") == 0)
return 1;
}
@ -188,6 +190,7 @@ scm_evaluate_string (char *str, int len)
struct value *func;
struct value *addr = value_allocate_space_in_inferior (len + 1);
LONGEST iaddr = value_as_long (addr);
write_memory (iaddr, (gdb_byte *) str, len);
/* FIXME - should find and pass env */
write_memory (iaddr + len, (gdb_byte *) "", 1);
@ -202,6 +205,7 @@ evaluate_exp (struct type *expect_type, struct expression *exp,
enum exp_opcode op = exp->elts[*pos].opcode;
int len, pc;
char *str;
switch (op)
{
case OP_NAME:

View File

@ -135,6 +135,7 @@ scm_scmlist_print (struct type *type, LONGEST svalue,
#define SCM_SIZE (TYPE_LENGTH (type))
#define SCM_BYTE_ORDER (gdbarch_byte_order (get_type_arch (type)))
unsigned int more = options->print_max;
if (recurse > 6)
{
fputs_filtered ("...", stream);
@ -240,6 +241,7 @@ taloop:
#if 0
SCM name;
#endif
fputs_filtered ("#<latte ", stream);
#if 1
fputs_filtered ("???", stream);
@ -313,6 +315,7 @@ taloop:
int i;
LONGEST elements = SCM_CDR (svalue);
LONGEST val;
fputs_filtered ("#(", stream);
for (i = 0; i < len; ++i)
{
@ -329,6 +332,7 @@ taloop:
{
SCM result;
SCM hook;
hook = scm_get_lvector_hook (exp, LV_PRINT_FN);
if (hook == BOOL_F)
{
@ -370,6 +374,7 @@ taloop:
#define SCM_CHARS(x) ((char *)(SCM_CDR(x)))
char *str = CHARS (SNAME (exp));
#endif
fprintf_filtered (stream, "#<primitive-procedure %s>",
str);
}
@ -447,6 +452,7 @@ scm_value_print (struct value *val, struct ui_file *stream,
const struct value_print_options *options)
{
struct value_print_options opts = *options;
opts.deref_ref = 1;
return (common_val_print (val, stream, 0, &opts, current_language));
}

View File

@ -36,6 +36,7 @@ sentinel_frame_cache (struct regcache *regcache)
{
struct frame_unwind_cache *cache =
FRAME_OBSTACK_ZALLOC (struct frame_unwind_cache);
cache->regcache = regcache;
return cache;
}
@ -81,6 +82,7 @@ sentinel_frame_prev_arch (struct frame_info *this_frame,
void **this_prologue_cache)
{
struct frame_unwind_cache *cache = *this_prologue_cache;
return get_regcache_arch (cache->regcache);
}

View File

@ -69,6 +69,7 @@ reschedule (struct serial *scb)
if (serial_is_async_p (scb))
{
int next_state;
switch (scb->async_state)
{
case FD_SCHEDULED:
@ -170,6 +171,7 @@ static void
push_event (void *context)
{
struct serial *scb = context;
scb->async_state = NOTHING_SCHEDULED; /* Timers are one-off */
scb->async_handler (scb, scb->async_context);
/* re-schedule */

View File

@ -677,6 +677,7 @@ static int
dos_flush_input (struct serial *scb)
{
struct dos_ttystate *port = &ports[scb->fd];
disable ();
port->first = port->count = 0;
if (port->fifo)

View File

@ -751,6 +751,7 @@ ser_console_get_tty_state (struct serial *scb)
if (isatty (scb->fd))
{
struct ser_console_ttystate *state;
state = (struct ser_console_ttystate *) xmalloc (sizeof *state);
state->is_a_tty = 1;
return state;
@ -985,6 +986,7 @@ pipe_avail (struct serial *scb, int fd)
HANDLE h = (HANDLE) _get_osfhandle (fd);
DWORD numBytes;
BOOL r = PeekNamedPipe (h, NULL, 0, NULL, &numBytes, NULL);
if (r == FALSE)
numBytes = 0;
return numBytes;

View File

@ -63,6 +63,7 @@ pipe_open (struct serial *scb, const char *name)
int pdes[2];
int err_pdes[2];
int pid;
if (socketpair (AF_UNIX, SOCK_STREAM, 0, pdes) < 0)
return -1;
if (socketpair (AF_UNIX, SOCK_STREAM, 0, err_pdes) < 0)
@ -146,6 +147,7 @@ static void
pipe_close (struct serial *scb)
{
struct pipe_state *state = scb->state;
if (state != NULL)
{
int pid = state->pid;
@ -167,6 +169,7 @@ void
_initialize_ser_pipe (void)
{
struct serial_ops *ops = XMALLOC (struct serial_ops);
memset (ops, 0, sizeof (struct serial_ops));
ops->name = "pipe";
ops->next = 0;

View File

@ -119,6 +119,7 @@ wait_for_connect (struct serial *scb, int *polls)
if (scb)
{
fd_set rset, wset, eset;
FD_ZERO (&rset);
FD_SET (scb->fd, &rset);
wset = rset;
@ -272,6 +273,7 @@ net_open (struct serial *scb, const char *name)
{
int res, err;
socklen_t len;
len = sizeof (err);
/* On Windows, the fourth parameter to getsockopt is a "char *";
on UNIX systems it is generally "void *". The cast to "void *"
@ -372,6 +374,7 @@ _initialize_ser_tcp (void)
ser-mingw.c. */
#else
struct serial_ops *ops;
ops = XMALLOC (struct serial_ops);
memset (ops, 0, sizeof (struct serial_ops));
ops->name = "tcp";

View File

@ -306,6 +306,7 @@ hardwire_drain_output (struct serial *scb)
to be discarded. */
{
struct hardwire_ttystate state;
if (get_tty_state (scb, &state))
{
return (-1);
@ -888,6 +889,7 @@ void
_initialize_ser_hardwire (void)
{
struct serial_ops *ops = XMALLOC (struct serial_ops);
memset (ops, 0, sizeof (struct serial_ops));
ops->name = "hardwire";
ops->next = 0;

View File

@ -528,6 +528,7 @@ serial_async (struct serial *scb,
void *context)
{
int changed = ((scb->async_handler == NULL) != (handler == NULL));
scb->async_handler = handler;
scb->async_context = context;
/* Only change mode if there is a need. */

View File

@ -158,6 +158,7 @@ lookup_symbol_from_bfd (bfd *abfd, char *symname)
for (i = 0; i < number_of_symbols; i++)
{
asymbol *sym = symbol_table[i];
if (strcmp (sym->name, symname) == 0
&& (sym->section->flags & (SEC_CODE | SEC_DATA)) != 0)
{
@ -320,6 +321,7 @@ darwin_solib_create_inferior_hook (int from_tty)
if (dyld_bfd)
{
bfd *sub;
sub = bfd_mach_o_fat_extract (dyld_bfd, bfd_object,
gdbarch_bfd_arch_info (target_gdbarch));
if (sub)

View File

@ -1047,6 +1047,7 @@ frv_relocate_section_addresses (struct so_list *so,
&& sec->addr < map->segs[seg].p_vaddr + map->segs[seg].p_memsz)
{
CORE_ADDR displ = map->segs[seg].addr - map->segs[seg].p_vaddr;
sec->addr += displ;
sec->endaddr += displ;
break;

View File

@ -163,6 +163,7 @@ fetch_lm_info (CORE_ADDR addr)
CORE_ADDR obj_addr = extract_mips_address (&buf.ol32.data,
sizeof (buf.ol32.data),
byte_order);
li.next = extract_mips_address (&buf.ol32.next,
sizeof (buf.ol32.next), byte_order);
@ -326,7 +327,6 @@ disable_break (void)
{
int status = 1;
/* Note that breakpoint address and original contents are in our address
space, so we just need to write the original contents back. */

View File

@ -192,6 +192,7 @@ static int
lm_sec_cmp (const void *p1, const void *p2)
{
const struct lm_sec *lms1 = p1, *lms2 = p2;
return strcmp (lms1->name, lms2->name);
}

View File

@ -491,6 +491,7 @@ pa64_current_sos (void)
#ifdef SOLIB_PA64_DBG
{
struct load_module_desc *d = &new->lm_info->desc;
printf ("\n+ library \"%s\" is described at index %d\n", new->so_name,
dll_index);
printf (" text_base = %s\n", hex_string (d->text_base));
@ -662,8 +663,8 @@ _initialize_pa64_solib (void)
void pa64_solib_select (struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
set_solib_ops (gdbarch, &pa64_so_ops);
set_solib_ops (gdbarch, &pa64_so_ops);
tdep->solib_thread_start_addr = pa64_solib_thread_start_addr;
tdep->solib_get_got_by_pc = pa64_solib_get_got_by_pc;
tdep->solib_get_solib_by_pc = pa64_solib_get_solib_by_pc;

View File

@ -816,8 +816,8 @@ void
som_solib_select (struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
set_solib_ops (gdbarch, &som_so_ops);
set_solib_ops (gdbarch, &som_so_ops);
tdep->solib_thread_start_addr = som_solib_thread_start_addr;
tdep->solib_get_got_by_pc = som_solib_get_got_by_pc;
tdep->solib_get_solib_by_pc = som_solib_get_solib_by_pc;

View File

@ -124,6 +124,7 @@ spu_current_sos (void)
if (size == 4)
{
int fd = extract_unsigned_integer (buf, 4, byte_order);
spu_relocate_main_executable (fd);
/* Re-enable breakpoints after main SPU context was established;
@ -307,9 +308,11 @@ spu_bfd_open (char *pathname)
if (spu_name)
{
int sect_size = bfd_section_size (abfd, spu_name);
if (sect_size > 20)
{
char *buf = alloca (sect_size - 20 + strlen (original_name) + 1);
bfd_get_section_contents (abfd, spu_name, buf, 20, sect_size - 20);
buf[sect_size - 20] = '\0';
@ -352,6 +355,7 @@ spu_enable_break (struct objfile *objfile)
if (spe_event_sym)
{
CORE_ADDR addr = SYMBOL_VALUE_ADDRESS (spe_event_sym);
addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch, addr,
&current_target);
create_solib_event_breakpoint (target_gdbarch, addr);

View File

@ -723,6 +723,7 @@ scan_dyntag_auxv (int dyntag, CORE_ADDR *ptr)
if (arch_size == 32)
{
Elf32_External_Dyn *dynp = (Elf32_External_Dyn *) buf;
dyn_tag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
4, byte_order);
dyn_ptr = extract_unsigned_integer ((gdb_byte *) dynp->d_un.d_ptr,
@ -731,6 +732,7 @@ scan_dyntag_auxv (int dyntag, CORE_ADDR *ptr)
else
{
Elf64_External_Dyn *dynp = (Elf64_External_Dyn *) buf;
dyn_tag = extract_unsigned_integer ((gdb_byte *) dynp->d_tag,
8, byte_order);
dyn_ptr = extract_unsigned_integer ((gdb_byte *) dynp->d_un.d_ptr,
@ -793,6 +795,7 @@ elf_locate_base (void)
struct type *ptr_type = builtin_type (target_gdbarch)->builtin_data_ptr;
gdb_byte *pbuf;
int pbuf_size = TYPE_LENGTH (ptr_type);
pbuf = alloca (pbuf_size);
/* DT_MIPS_RLD_MAP contains a pointer to the address
of the dynamic link structure. */
@ -1519,6 +1522,7 @@ enable_break (struct svr4_info *info, int from_tty)
{
struct regcache *regcache
= get_thread_arch_regcache (inferior_ptid, target_gdbarch);
load_addr = (regcache_read_pc (regcache)
- exec_entry_point (tmp_bfd, tmp_bfd_target));
}
@ -2065,6 +2069,7 @@ static int
svr4_have_link_map_offsets (void)
{
struct solib_svr4_ops *ops = gdbarch_data (target_gdbarch, solib_svr4_data);
return (ops->fetch_link_map_offsets != NULL);
}

View File

@ -135,6 +135,7 @@ library_list_end_library (struct gdb_xml_parser *parser,
{
VEC(lm_info_p) **list = user_data;
struct lm_info *lm_info = VEC_last (lm_info_p, *list);
if (lm_info->segment_bases == NULL
&& lm_info->section_bases == NULL)
gdb_xml_error (parser,
@ -364,6 +365,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"),
int bases_index = 0;
int found_range = 0;
CORE_ADDR *section_bases;
section_bases = VEC_address (CORE_ADDR,
so->lm_info->section_bases);
@ -378,6 +380,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"),
if (bfd_section_size (so->abfd, sect) > 0)
{
CORE_ADDR low, high;
low = section_bases[i];
high = low + bfd_section_size (so->abfd, sect) - 1;
@ -399,6 +402,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"),
else if (so->lm_info->segment_bases)
{
struct symfile_segment_data *data;
data = get_symfile_segment_data (so->abfd);
if (data == NULL)
warning (_("\

View File

@ -68,6 +68,7 @@ static struct target_so_ops *
solib_ops (struct gdbarch *gdbarch)
{
struct target_so_ops **ops = gdbarch_data (gdbarch, solib_data);
return *ops;
}
@ -77,6 +78,7 @@ void
set_solib_ops (struct gdbarch *gdbarch, struct target_so_ops *new_ops)
{
struct target_so_ops **ops = gdbarch_data (gdbarch, solib_data);
*ops = new_ops;
}
@ -169,6 +171,7 @@ solib_find (char *in_pathname, int *fd)
if (solib_symbols_extension)
{
char *p = in_pathname + strlen (in_pathname);
while (p > in_pathname && *p != '.')
p--;
@ -1200,6 +1203,7 @@ clear_solib (void)
while (so_list_head)
{
struct so_list *so = so_list_head;
so_list_head = so->next;
observer_notify_solib_unloaded (so);
if (so->abfd)
@ -1229,6 +1233,7 @@ void
solib_create_inferior_hook (int from_tty)
{
struct target_so_ops *ops = solib_ops (target_gdbarch);
ops->solib_create_inferior_hook (from_tty);
}
@ -1252,6 +1257,7 @@ int
in_solib_dynsym_resolve_code (CORE_ADDR pc)
{
struct target_so_ops *ops = solib_ops (target_gdbarch);
return ops->in_dynsym_resolve_code (pc);
}

View File

@ -267,6 +267,7 @@ select_source_symtab (struct symtab *s)
{
const char *name = s->filename;
int len = strlen (name);
if (!(len > 2 && (strcmp (&name[len - 2], ".h") == 0
|| strcmp (name, "<<C++-namespaces>>") == 0)))
{
@ -519,6 +520,7 @@ add_path (char *dirname, char **which_path, int parse_separators)
if (stat (name, &st) < 0)
{
int save_errno = errno;
fprintf_unfiltered (gdb_stderr, "Warning: ");
print_sys_errmsg (name, save_errno);
}
@ -813,6 +815,7 @@ done:
IS_DIR_SEPARATOR (current_directory[strlen (current_directory) - 1])
? "" : SLASH_STRING,
filename, (char *)NULL);
*filename_opened = xfullpath (f);
xfree (f);
}
@ -1910,6 +1913,7 @@ void
_initialize_source (void)
{
struct cmd_list_element *c;
current_source_symtab = 0;
init_source_path ();

View File

@ -352,7 +352,6 @@ patch_block_stabs (struct pending *symbols, struct pending_stabs *stabs,
if (stabs)
{
/* for all the stab entries, find their corresponding symbols and
patch their types! */
@ -435,6 +434,7 @@ static int
read_type_number (char **pp, int *typenums)
{
int nbits;
if (**pp == '(')
{
(*pp)++;
@ -508,9 +508,11 @@ ref_add (int refnum, struct symbol *sym, char *stabs, CORE_ADDR value)
{
int new_slots = ref_count - ref_chunk * MAX_CHUNK_REFS;
int new_chunks = new_slots / MAX_CHUNK_REFS + 1;
ref_map = (struct ref_map *)
xrealloc (ref_map, REF_MAP_SIZE (ref_chunk + new_chunks));
memset (ref_map + ref_chunk * MAX_CHUNK_REFS, 0, new_chunks * REF_CHUNK_SIZE);
memset (ref_map + ref_chunk * MAX_CHUNK_REFS, 0,
new_chunks * REF_CHUNK_SIZE);
ref_chunk += new_chunks;
}
ref_map[refnum].stabs = stabs;
@ -706,6 +708,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
if (SYMBOL_LANGUAGE (sym) == language_cplus)
{
char *name = alloca (p - string + 1);
memcpy (name, string, p - string);
name[p - string] = '\0';
new_name = cp_canonicalize_string (name);
@ -1121,6 +1124,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
&& gdbarch_stabs_argument_has_addr (gdbarch, SYMBOL_TYPE (sym)))
{
struct symbol *prev_sym;
prev_sym = local_symbols->symbol[local_symbols->nsyms - 1];
if ((SYMBOL_CLASS (prev_sym) == LOC_REF_ARG
|| SYMBOL_CLASS (prev_sym) == LOC_ARG)
@ -1154,11 +1158,13 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
!= SYMBOL_LINKAGE_NAME (sym))
{
struct minimal_symbol *msym;
msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (sym), NULL, objfile);
if (msym != NULL)
{
char *new_name = gdbarch_static_transform_name
(gdbarch, SYMBOL_LINKAGE_NAME (sym));
SYMBOL_SET_LINKAGE_NAME (sym, new_name);
SYMBOL_VALUE_ADDRESS (sym) = SYMBOL_VALUE_ADDRESS (msym);
}
@ -1205,6 +1211,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
&& TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)))
{
int j;
for (j = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; j >= 0; j--)
if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) == 0)
TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) =
@ -1315,7 +1322,8 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
{
/* Clone the sym and then modify it. */
struct symbol *typedef_sym = (struct symbol *)
obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol));
obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol));
*typedef_sym = *sym;
SYMBOL_CLASS (typedef_sym) = LOC_TYPEDEF;
SYMBOL_VALUE (typedef_sym) = valu;
@ -1339,11 +1347,14 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
!= SYMBOL_LINKAGE_NAME (sym))
{
struct minimal_symbol *msym;
msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (sym), NULL, objfile);
msym = lookup_minimal_symbol (SYMBOL_LINKAGE_NAME (sym),
NULL, objfile);
if (msym != NULL)
{
char *new_name = gdbarch_static_transform_name
(gdbarch, SYMBOL_LINKAGE_NAME (sym));
SYMBOL_SET_LINKAGE_NAME (sym, new_name);
SYMBOL_VALUE_ADDRESS (sym) = SYMBOL_VALUE_ADDRESS (msym);
}
@ -1580,6 +1591,7 @@ again:
if (q1 && p > q1 && p[1] == ':')
{
int nesting_level = 0;
for (q2 = q1; *q2; q2++)
{
if (*q2 == '<')
@ -1597,6 +1609,7 @@ again:
if (current_subfile->language == language_cplus)
{
char *new_name, *name = alloca (p - *pp + 1);
memcpy (name, *pp, p - *pp);
name[p - *pp] = '\0';
new_name = cp_canonicalize_string (name);
@ -1684,6 +1697,7 @@ again:
TYPE_CODE (type) = TYPE_CODE_TYPEDEF;
{
struct type *xtype = read_type (pp, objfile);
if (type == xtype)
{
/* It's being defined as itself. That means it is "void". */
@ -1856,6 +1870,7 @@ again:
/* type attribute */
{
char *attr = *pp;
/* Skip to the semicolon. */
while (**pp != ';' && **pp != '\0')
++(*pp);
@ -2667,6 +2682,7 @@ read_member_functions (struct field_info *fip, char **pp, struct type *type,
{
char dem_opname[256];
int ret;
ret = cplus_demangle_opname (new_fnlist->fn_fieldlist.name,
dem_opname, DMGL_ANSI);
if (!ret)
@ -2744,9 +2760,9 @@ read_cpp_abbrev (struct field_info *fip, char **pp, struct type *type,
case 'f': /* $vf -- a virtual function table pointer */
name = type_name_no_tag (context);
if (name == NULL)
{
name = "";
}
{
name = "";
}
fip->list->field.name = obconcat (&objfile->objfile_obstack,
vptr_name, name, (char *) NULL);
break;
@ -2789,6 +2805,7 @@ read_cpp_abbrev (struct field_info *fip, char **pp, struct type *type,
{
int nbits;
FIELD_BITPOS (fip->list->field) = read_huge_number (pp, ';', &nbits,
0);
if (nbits != 0)
@ -2865,6 +2882,7 @@ read_one_struct_field (struct field_info *fip, char **pp, char *p,
{
int nbits;
FIELD_BITPOS (fip->list->field) = read_huge_number (pp, ',', &nbits, 0);
if (nbits != 0)
{
@ -3068,6 +3086,7 @@ read_baseclasses (struct field_info *fip, char **pp, struct type *type,
ALLOCATE_CPLUS_STRUCT_TYPE (type);
{
int nbits;
TYPE_N_BASECLASSES (type) = read_huge_number (pp, ',', &nbits, 0);
if (nbits != 0)
return 0;
@ -3228,6 +3247,7 @@ read_tilde_fields (struct field_info *fip, char **pp, struct type *type,
--i)
{
char *name = TYPE_FIELD_NAME (t, i);
if (!strncmp (name, vptr_name, sizeof (vptr_name) - 2)
&& is_cplus_marker (name[sizeof (vptr_name) - 2]))
{
@ -3483,6 +3503,7 @@ read_struct_type (char **pp, struct type *type, enum type_code type_code,
{
int nbits;
TYPE_LENGTH (type) = read_huge_number (pp, 0, &nbits, 0);
if (nbits != 0)
return error_type (pp, objfile);
@ -3673,9 +3694,11 @@ read_enum_type (char **pp, struct type *type,
{
int last = syms == osyms ? o_nsyms : 0;
int j = syms->nsyms;
for (; --j >= last; --n)
{
struct symbol *xsym = syms->symbol[j];
SYMBOL_TYPE (xsym) = type;
TYPE_FIELD_NAME (type, n) = SYMBOL_LINKAGE_NAME (xsym);
TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (xsym);
@ -3860,6 +3883,7 @@ read_huge_number (char **pp, int end, int *bits, int twos_complement_bits)
size_t len;
char *p1 = p;
while ((c = *p1) >= '0' && c < '8')
p1++;
@ -3893,6 +3917,7 @@ read_huge_number (char **pp, int end, int *bits, int twos_complement_bits)
if (n == 0)
{
long sn = c - '0' - ((2 * (c - '0')) | (2 << sign_bit));
n = -sn;
}
else
@ -4095,6 +4120,7 @@ read_range_type (char **pp, int typenums[2], int type_size,
{
struct type *complex_type =
init_type (TYPE_CODE_COMPLEX, 2 * n2, 0, NULL, objfile);
TYPE_TARGET_TYPE (complex_type) = float_type;
return complex_type;
}
@ -4107,6 +4133,7 @@ read_range_type (char **pp, int typenums[2], int type_size,
else if (n2 == 0 && n3 == -1)
{
int bits = type_size;
if (bits <= 0)
{
/* We don't know its size. It is unsigned int or unsigned
@ -4343,9 +4370,11 @@ static void
fix_common_block (struct symbol *sym, int valu)
{
struct pending *next = (struct pending *) SYMBOL_TYPE (sym);
for (; next; next = next->next)
{
int j;
for (j = next->nsyms - 1; j >= 0; j--)
SYMBOL_VALUE_ADDRESS (next->symbol[j]) += valu;
}
@ -4748,6 +4777,7 @@ static char *
find_name_end (char *name)
{
char *s = name;
if (s[0] == '-' || *s == '+')
{
/* Must be an ObjC method symbol. */

View File

@ -287,6 +287,7 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
if (*SYMBOL_LINKAGE_NAME (sym))
{
struct symbol *nsym;
nsym = lookup_symbol (SYMBOL_LINKAGE_NAME (sym),
b, VAR_DOMAIN, NULL);
gdb_assert (nsym != NULL);
@ -624,6 +625,7 @@ print_frame_info (struct frame_info *frame, int print_level,
else
{
struct value_print_options opts;
get_user_print_options (&opts);
/* We used to do this earlier, but that is clearly
wrong. This function is used by many different
@ -721,6 +723,7 @@ find_frame_funname (struct frame_info *frame, char **funname,
with DMGL_PARAMS turned on, and here we don't want to
display parameters. So remove the parameters. */
char *func_only = cp_remove_params (*funname);
if (func_only)
{
*funname = func_only;
@ -792,6 +795,7 @@ print_frame (struct frame_info *frame, int print_level,
{
struct print_args_args args;
struct cleanup *args_list_chain;
args.frame = frame;
args.func = find_pc_function (get_frame_address_in_block (frame));
args.stream = gdb_stdout;
@ -814,6 +818,7 @@ print_frame (struct frame_info *frame, int print_level,
if (ui_out_is_mi_like_p (uiout))
{
const char *fullname = symtab_to_fullname (sal.symtab);
if (fullname != NULL)
ui_out_field_string (uiout, "fullname", fullname);
}
@ -919,6 +924,7 @@ parse_frame_specification_1 (const char *frame_exp, const char *message,
{
struct frame_info *fid;
int level = value_as_long (args[0]);
fid = find_relative_frame (get_current_frame (), &level);
if (level == 0)
/* find_relative_frame was successful */
@ -928,6 +934,7 @@ parse_frame_specification_1 (const char *frame_exp, const char *message,
/* Convert each value into a corresponding address. */
{
int i;
for (i = 0; i < numargs; i++)
addrs[i] = value_as_address (args[i]);
}
@ -1034,6 +1041,7 @@ frame_info (char *addr_exp, int from_tty)
with DMGL_PARAMS turned on, and here we don't want to
display parameters. So remove the parameters. */
char *func_only = cp_remove_params (funname);
if (func_only)
{
funname = func_only;
@ -1195,6 +1203,7 @@ frame_info (char *addr_exp, int from_tty)
int sp_size = register_size (gdbarch, gdbarch_sp_regnum (gdbarch));
gdb_byte value[MAX_REGISTER_SIZE];
CORE_ADDR sp;
frame_register_unwind (fi, gdbarch_sp_regnum (gdbarch),
&optimized, &lval, &addr,
&realnum, value);
@ -1321,6 +1330,7 @@ backtrace_command_1 (char *count_exp, int show_locals, int from_tty)
for (fi = trailing; fi != NULL && i--; fi = get_prev_frame (fi))
{
CORE_ADDR pc;
QUIT;
pc = get_frame_address_in_block (fi);
find_pc_sect_symtab_via_partial (pc, find_pc_mapped_section (pc));
@ -1514,6 +1524,7 @@ print_block_frame_labels (struct gdbarch *gdbarch, struct block *b,
{
struct symtab_and_line sal;
struct value_print_options opts;
sal = find_pc_line (SYMBOL_VALUE_ADDRESS (sym), 0);
values_printed = 1;
fputs_filtered (SYMBOL_PRINT_NAME (sym), stream);
@ -1815,6 +1826,7 @@ find_relative_frame (struct frame_info *frame, int *level_offset_ptr)
while (*level_offset_ptr > 0)
{
struct frame_info *prev = get_prev_frame (frame);
if (!prev)
break;
(*level_offset_ptr)--;
@ -1825,6 +1837,7 @@ find_relative_frame (struct frame_info *frame, int *level_offset_ptr)
while (*level_offset_ptr < 0)
{
struct frame_info *next = get_next_frame (frame);
if (!next)
break;
(*level_offset_ptr)++;
@ -2012,6 +2025,7 @@ If you continue, the return value that you specified will be ignored.\n";
if (from_tty)
{
int confirmed;
if (thisfun == NULL)
confirmed = query (_("%sMake selected stack frame return now? "),
query_prefix);

View File

@ -32,6 +32,7 @@ static struct value *
value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
if (gdbarch_deprecated_fp_regnum (gdbarch) >= 0)
/* NOTE: cagney/2003-04-24: Since the mere presence of "fp" in the
register name table overrides this built-in $fp register, there
@ -46,6 +47,7 @@ value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
struct type *data_ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
struct value *val = allocate_value (data_ptr_type);
gdb_byte *buf = value_contents_raw (val);
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
@ -59,6 +61,7 @@ static struct value *
value_of_builtin_frame_pc_reg (struct frame_info *frame, const void *baton)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
if (gdbarch_pc_regnum (gdbarch) >= 0)
return value_of_register (gdbarch_pc_regnum (gdbarch), frame);
else
@ -66,6 +69,7 @@ value_of_builtin_frame_pc_reg (struct frame_info *frame, const void *baton)
struct type *func_ptr_type = builtin_type (gdbarch)->builtin_func_ptr;
struct value *val = allocate_value (func_ptr_type);
gdb_byte *buf = value_contents_raw (val);
if (frame == NULL)
memset (buf, 0, TYPE_LENGTH (value_type (val)));
else
@ -79,6 +83,7 @@ static struct value *
value_of_builtin_frame_sp_reg (struct frame_info *frame, const void *baton)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
if (gdbarch_sp_regnum (gdbarch) >= 0)
return value_of_register (gdbarch_sp_regnum (gdbarch), frame);
error (_("Standard register ``$sp'' is not available for this target"));
@ -88,6 +93,7 @@ static struct value *
value_of_builtin_frame_ps_reg (struct frame_info *frame, const void *baton)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
if (gdbarch_ps_regnum (gdbarch) >= 0)
return value_of_register (gdbarch_ps_regnum (gdbarch), frame);
error (_("Standard register ``$ps'' is not available for this target"));

View File

@ -205,6 +205,7 @@ obsavestring (const char *ptr, int size, struct obstack *obstackp)
const char *p1 = ptr;
char *p2 = p;
const char *end = ptr + size;
while (p1 != end)
*p2++ = *p1++;
}
@ -1010,7 +1011,6 @@ syms_from_objfile (struct objfile *objfile,
void
new_symfile_objfile (struct objfile *objfile, int add_flags)
{
/* If this is the main symbol file we have to clean up all users of the
old main symbol file. Otherwise it is sufficient to fixup all the
breakpoints that may have been redefined by this symbol file. */
@ -1608,6 +1608,7 @@ symfile_bfd_open (char *name)
if (desc < 0)
{
char *exename = alloca (strlen (name) + 5);
strcat (strcpy (exename, name), ".exe");
desc = openp (getenv ("PATH"), OPF_TRY_CWD_FIRST, exename,
O_RDONLY | O_BINARY, &absolute_name);

View File

@ -391,6 +391,7 @@ dump_symtab_1 (struct objfile *objfile, struct symtab *symtab,
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
struct print_symbol_args s;
s.gdbarch = gdbarch;
s.symbol = sym;
s.depth = depth + 1;
@ -551,6 +552,7 @@ print_symbol (void *args)
{
unsigned i;
struct type *type = check_typedef (SYMBOL_TYPE (symbol));
fprintf_filtered (outfile, "const %u hex bytes:",
TYPE_LENGTH (type));
for (i = 0; i < TYPE_LENGTH (type); i++)
@ -782,6 +784,7 @@ static int
block_depth (struct block *block)
{
int i = 0;
while ((block = BLOCK_SUPERBLOCK (block)) != NULL)
{
i++;

View File

@ -191,6 +191,7 @@ got_symtab:
if (full_path != NULL)
{
const char *fp = symtab_to_fullname (s);
if (fp != NULL && FILENAME_CMP (full_path, fp) == 0)
{
return s;
@ -200,9 +201,11 @@ got_symtab:
if (real_path != NULL)
{
char *fullname = symtab_to_fullname (s);
if (fullname != NULL)
{
char *rp = gdb_realpath (fullname);
make_cleanup (xfree, rp);
if (FILENAME_CMP (real_path, rp) == 0)
{
@ -320,13 +323,12 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
mangled_name_len = ((is_constructor ? 0 : strlen (field_name))
+ strlen (buf) + len + strlen (physname) + 1);
{
mangled_name = (char *) xmalloc (mangled_name_len);
if (is_constructor)
mangled_name[0] = '\0';
else
strcpy (mangled_name, field_name);
}
mangled_name = (char *) xmalloc (mangled_name_len);
if (is_constructor)
mangled_name[0] = '\0';
else
strcpy (mangled_name, field_name);
strcat (mangled_name, buf);
/* If the class doesn't have a name, i.e. newname NULL, then we just
mangle it using 0 for the length of the class. Thus it gets mangled
@ -374,6 +376,7 @@ static hashval_t
hash_demangled_name_entry (const void *data)
{
const struct demangled_name_entry *e = data;
return htab_hash_string (e->mangled);
}
@ -383,6 +386,7 @@ eq_demangled_name_entry (const void *a, const void *b)
{
const struct demangled_name_entry *da = a;
const struct demangled_name_entry *db = b;
return strcmp (da->mangled, db->mangled) == 0;
}
@ -541,8 +545,8 @@ symbol_set_names (struct general_symbol_info *gsymbol,
if (gsymbol->language == language_java)
{
char *alloc_name;
lookup_len = len + JAVA_PREFIX_LEN;
lookup_len = len + JAVA_PREFIX_LEN;
alloc_name = alloca (lookup_len + 1);
memcpy (alloc_name, JAVA_PREFIX, JAVA_PREFIX_LEN);
memcpy (alloc_name + JAVA_PREFIX_LEN, linkage_name, len);
@ -554,8 +558,8 @@ symbol_set_names (struct general_symbol_info *gsymbol,
else if (linkage_name[len] != '\0')
{
char *alloc_name;
lookup_len = len;
lookup_len = len;
alloc_name = alloca (lookup_len + 1);
memcpy (alloc_name, linkage_name, len);
alloc_name[lookup_len] = '\0';
@ -796,6 +800,7 @@ find_pc_sect_symtab_via_partial (CORE_ADDR pc, struct obj_section *section)
ALL_OBJFILES (objfile)
{
struct symtab *result = NULL;
if (objfile->sf)
result = objfile->sf->qf->find_pc_sect_symtab (objfile, msymbol,
pc, section, 0);
@ -865,6 +870,7 @@ fixup_section (struct general_symbol_info *ginfo,
a search of the section table. */
struct obj_section *s;
ALL_OBJFILE_OSECTIONS (objfile, s)
{
int idx = s->the_bfd_section->index;
@ -954,8 +960,8 @@ lookup_symbol_in_language (const char *name, const struct block *block,
modified_name = name;
/* If we are using C++, D, or Java, demangle the name before doing a lookup, so
we can always binary search. */
/* If we are using C++, D, or Java, demangle the name before doing a
lookup, so we can always binary search. */
if (lang == language_cplus)
{
demangled_name = cplus_demangle (name, DMGL_ANSI | DMGL_PARAMS);
@ -1067,6 +1073,7 @@ lookup_symbol_aux (const char *name, const struct block *block,
{
struct symbol *sym = NULL;
const struct block *function_block = block;
/* 'this' is only defined in the function's block, so find the
enclosing function block. */
for (; function_block && !BLOCK_FUNCTION (function_block);
@ -1715,6 +1722,7 @@ find_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
if ((objfile->flags & OBJF_REORDERED) && objfile->sf)
{
struct symtab *result;
result
= objfile->sf->qf->find_pc_sect_symtab (objfile,
msymbol,
@ -1748,6 +1756,7 @@ find_pc_sect_symtab (CORE_ADDR pc, struct obj_section *section)
ALL_OBJFILES (objfile)
{
struct symtab *result;
if (!objfile->sf)
continue;
result = objfile->sf->qf->find_pc_sect_symtab (objfile,
@ -2047,7 +2056,8 @@ find_pc_line (CORE_ADDR pc, int notcurrent)
If not found, return NULL. */
struct symtab *
find_line_symtab (struct symtab *symtab, int line, int *index, int *exact_match)
find_line_symtab (struct symtab *symtab, int line,
int *index, int *exact_match)
{
int exact = 0; /* Initialized here to avoid a compiler warning. */
@ -2256,6 +2266,7 @@ int
find_pc_line_pc_range (CORE_ADDR pc, CORE_ADDR *startptr, CORE_ADDR *endptr)
{
struct symtab_and_line sal;
sal = find_pc_line (pc, 0);
*startptr = sal.pc;
*endptr = sal.end;
@ -2371,6 +2382,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
{
struct minimal_symbol *msymbol
= lookup_minimal_symbol_by_pc_section (sal->pc, sal->section);
if (msymbol == NULL)
{
do_cleanups (old_chain);
@ -2506,6 +2518,7 @@ operator_chars (char *p, char **end)
if (isalpha (*p) || *p == '_' || *p == '$')
{
char *q = p + 1;
while (isalnum (*q) || *q == '_' || *q == '$')
q++;
*end = q;
@ -2718,6 +2731,7 @@ sources_info (char *ignore, int from_tty)
ALL_SYMTABS (objfile, s)
{
const char *fullname = symtab_to_fullname (s);
output_source_filename (fullname ? fullname : s->filename, &first);
}
printf_filtered ("\n\n");
@ -2834,6 +2848,7 @@ static int
search_symbols_file_matches (const char *filename, void *user_data)
{
struct search_symbols_data *data = user_data;
return file_matches (filename, data->files, data->nfiles);
}
@ -2842,6 +2857,7 @@ static int
search_symbols_name_matches (const char *symname, void *user_data)
{
struct search_symbols_data *data = user_data;
return data->regexp == NULL || re_exec (symname);
}
@ -2874,17 +2890,13 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
char *val;
int found_misc = 0;
static enum minimal_symbol_type types[]
=
{mst_data, mst_text, mst_abs, mst_unknown};
= {mst_data, mst_text, mst_abs, mst_unknown};
static enum minimal_symbol_type types2[]
=
{mst_bss, mst_file_text, mst_abs, mst_unknown};
= {mst_bss, mst_file_text, mst_abs, mst_unknown};
static enum minimal_symbol_type types3[]
=
{mst_file_data, mst_solib_trampoline, mst_abs, mst_unknown};
= {mst_file_data, mst_solib_trampoline, mst_abs, mst_unknown};
static enum minimal_symbol_type types4[]
=
{mst_file_bss, mst_text, mst_abs, mst_unknown};
= {mst_file_bss, mst_text, mst_abs, mst_unknown};
enum minimal_symbol_type ourtype;
enum minimal_symbol_type ourtype2;
enum minimal_symbol_type ourtype3;
@ -2914,9 +2926,11 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
and <TYPENAME> or <OPERATOR>. */
char *opend;
char *opname = operator_chars (regexp, &opend);
if (*opname)
{
int fix = -1; /* -1 means ok; otherwise number of spaces needed. */
if (isalpha (*opname) || *opname == '_' || *opname == '$')
{
/* There should 1 space between 'operator' and 'TYPENAME'. */
@ -2933,6 +2947,7 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
if (fix >= 0)
{
char *tmp = (char *) alloca (8 + fix + strlen (opname) + 1);
sprintf (tmp, "operator%.*s%s", fix, " ", opname);
regexp = tmp;
}
@ -3013,10 +3028,12 @@ search_symbols (char *regexp, domain_enum kind, int nfiles, char *files[],
{
struct symbol_search *prevtail = tail;
int nfound = 0;
b = BLOCKVECTOR_BLOCK (bv, i);
ALL_BLOCK_SYMBOLS (b, iter, sym)
{
struct symtab *real_symtab = SYMBOL_SYMTAB (sym);
QUIT;
if (file_matches (real_symtab->filename, files, nfiles)
@ -3179,9 +3196,7 @@ print_msymbol_info (struct minimal_symbol *msymbol)
static void
symtab_symbol_info (char *regexp, domain_enum kind, int from_tty)
{
static char *classnames[]
=
{"variable", "function", "type", "method"};
static char *classnames[] = {"variable", "function", "type", "method"};
struct symbol_search *symbols;
struct symbol_search *p;
struct cleanup *old_chain;
@ -3273,6 +3288,7 @@ rbreak_command (char *regexp, int from_tty)
if (regexp)
{
char *colon = strchr (regexp, ':');
if (colon && *(colon + 1) != ':')
{
int colon_index;
@ -3304,6 +3320,7 @@ rbreak_command (char *regexp, int from_tty)
int newlen = (strlen (p->symtab->filename)
+ strlen (SYMBOL_LINKAGE_NAME (p->symbol))
+ 4);
if (newlen > len)
{
string = xrealloc (string, newlen);
@ -3322,8 +3339,8 @@ rbreak_command (char *regexp, int from_tty)
}
else
{
int newlen = (strlen (SYMBOL_LINKAGE_NAME (p->msymbol))
+ 3);
int newlen = (strlen (SYMBOL_LINKAGE_NAME (p->msymbol)) + 3);
if (newlen > len)
{
string = xrealloc (string, newlen);
@ -3375,6 +3392,7 @@ completion_list_add_name (char *symname, char *sym_text, int sym_text_len,
{
char *new;
if (word == sym_text)
{
new = xmalloc (strlen (symname) + 5);
@ -3546,6 +3564,7 @@ add_macro_name (const char *name, const struct macro_definition *ignore,
void *user_data)
{
struct add_name_data *datum = (struct add_name_data *) user_data;
completion_list_add_name ((char *) name,
datum->sym_text, datum->sym_text_len,
datum->text, datum->word);
@ -3556,6 +3575,7 @@ static void
add_partial_symbol_name (const char *name, void *user_data)
{
struct add_name_data *datum = (struct add_name_data *) user_data;
completion_list_add_name ((char *) name,
datum->sym_text, datum->sym_text_len,
datum->text, datum->word);
@ -3970,6 +3990,7 @@ maybe_add_partial_symtab_filename (const char *fullname, const char *filename,
else
{
const char *base_name = lbasename (filename);
if (base_name != filename
&& !filename_seen (base_name, 1, data->first)
#if HAVE_DOS_BASED_FILE_SYSTEM
@ -4388,6 +4409,7 @@ append_exact_match_to_sals (char *filename, char *fullname, int lineno,
{
struct linetable *l;
int len;
if (fullname != NULL
&& symtab_to_fullname (symtab) != NULL
&& FILENAME_CMP (fullname, symtab->fullname) != 0)