/* IBM RS/6000 native-dependent code for GDB, the GNU debugger.
Copyright (C) 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009
+ 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of GDB.
#ifndef ARCH3264
# define ARCH64() 0
#else
-# define ARCH64() (register_size (current_gdbarch, 0) == 8)
+# define ARCH64() (register_size (target_gdbarch, 0) == 8)
#endif
/* Union of 32-bit and 64-bit versions of ld_info. */
int ret = 0;
#endif
#if 0
- printf ("rs6000_ptrace64 (%d, %d, 0x%llx, %08x, 0x%x) = 0x%x\n",
- req, id, addr, data, (unsigned int)buf, ret);
+ printf ("rs6000_ptrace64 (%d, %d, %s, %08x, 0x%x) = 0x%x\n",
+ req, id, hex_string (addr), data, (unsigned int)buf, ret);
#endif
return ret;
}
{
#define DUMMY_INSN_ADDR AIX_TEXT_SEGMENT_BASE+0x200
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
int ret, status, pid;
CORE_ADDR prev_pc;
void *bp;
assume that this address will never be executed again by the real
code. */
- bp = deprecated_insert_raw_breakpoint (DUMMY_INSN_ADDR);
+ bp = deprecated_insert_raw_breakpoint (gdbarch, NULL, DUMMY_INSN_ADDR);
/* You might think this could be done with a single ptrace call, and
you'd be correct for just about every platform I've ever worked
while (pid != PIDGET (inferior_ptid));
regcache_write_pc (regcache, prev_pc);
- deprecated_remove_raw_breakpoint (bp);
+ deprecated_remove_raw_breakpoint (gdbarch, bp);
}
\f
symbols to the proper address)."),
symfile_objfile->name);
free_objfile (symfile_objfile);
- symfile_objfile = NULL;
+ gdb_assert (symfile_objfile == NULL);
}
breakpoint_re_set ();
}
{
static bfd *execbfd;
int i;
+ struct target_section_table *table = target_get_section_table (&exec_ops);
if (execbfd == exec_bfd)
return;
execbfd = exec_bfd;
- if (!vmap || !exec_ops.to_sections)
- error (_("vmap_exec: vmap or exec_ops.to_sections == 0."));
+ if (!vmap || !table->sections)
+ error (_("vmap_exec: vmap or table->sections == 0."));
- for (i = 0; &exec_ops.to_sections[i] < exec_ops.to_sections_end; i++)
+ for (i = 0; &table->sections[i] < table->sections_end; i++)
{
- if (strcmp (".text", exec_ops.to_sections[i].the_bfd_section->name) == 0)
+ if (strcmp (".text", table->sections[i].the_bfd_section->name) == 0)
{
- exec_ops.to_sections[i].addr += vmap->tstart - vmap->tvma;
- exec_ops.to_sections[i].endaddr += vmap->tstart - vmap->tvma;
+ table->sections[i].addr += vmap->tstart - vmap->tvma;
+ table->sections[i].endaddr += vmap->tstart - vmap->tvma;
}
- else if (strcmp (".data",
- exec_ops.to_sections[i].the_bfd_section->name) == 0)
+ else if (strcmp (".data", table->sections[i].the_bfd_section->name) == 0)
{
- exec_ops.to_sections[i].addr += vmap->dstart - vmap->dvma;
- exec_ops.to_sections[i].endaddr += vmap->dstart - vmap->dvma;
+ table->sections[i].addr += vmap->dstart - vmap->dvma;
+ table->sections[i].endaddr += vmap->dstart - vmap->dvma;
}
- else if (strcmp (".bss",
- exec_ops.to_sections[i].the_bfd_section->name) == 0)
+ else if (strcmp (".bss", table->sections[i].the_bfd_section->name) == 0)
{
- exec_ops.to_sections[i].addr += vmap->dstart - vmap->dvma;
- exec_ops.to_sections[i].endaddr += vmap->dstart - vmap->dvma;
+ table->sections[i].addr += vmap->dstart - vmap->dvma;
+ table->sections[i].endaddr += vmap->dstart - vmap->dvma;
}
}
}