2002-08-21 Elena Zannoni <ezannoni@redhat.com>
* rs6000-tdep.c (rs6000_gdbarch_init): Figure out whether we have an e500 executable.
This commit is contained in:
parent
18f8152171
commit
5bf1c6772c
2 changed files with 27 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-08-21 Elena Zannoni <ezannoni@redhat.com>
|
||||
|
||||
* rs6000-tdep.c (rs6000_gdbarch_init): Figure out whether we have
|
||||
an e500 executable.
|
||||
|
||||
2002-08-21 Michael Snyder <msnyder@redhat.com>
|
||||
|
||||
* mips-tdep.c (MSYMBOL_IS_SPECIAL): Replace macro with function.
|
||||
|
|
|
@ -2426,6 +2426,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||
bfd abfd;
|
||||
int sysv_abi;
|
||||
enum gdb_osabi osabi = GDB_OSABI_UNKNOWN;
|
||||
asection *sect;
|
||||
|
||||
from_xcoff_exec = info.abfd && info.abfd->format == bfd_object &&
|
||||
bfd_get_flavour (info.abfd) == bfd_target_xcoff_flavour;
|
||||
|
@ -2499,6 +2500,27 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
|||
tdep = xmalloc (sizeof (struct gdbarch_tdep));
|
||||
tdep->wordsize = wordsize;
|
||||
tdep->osabi = osabi;
|
||||
|
||||
/* For e500 executables, the apuinfo section is of help here. Such
|
||||
section contains the identifier and revision number of each
|
||||
Application-specific Processing Unit that is present on the
|
||||
chip. The content of the section is determined by the assembler
|
||||
which looks at each instruction and determines which unit (and
|
||||
which version of it) can execute it. In our case we just look for
|
||||
the existance of the section. */
|
||||
|
||||
if (info.abfd)
|
||||
{
|
||||
sect = bfd_get_section_by_name (info.abfd, ".PPC.EMB.apuinfo");
|
||||
if (sect)
|
||||
{
|
||||
arch = info.bfd_arch_info->arch;
|
||||
mach = bfd_mach_ppc_e500;
|
||||
bfd_default_set_arch_mach (&abfd, arch, mach);
|
||||
info.bfd_arch_info = bfd_get_arch_info (&abfd);
|
||||
}
|
||||
}
|
||||
|
||||
gdbarch = gdbarch_alloc (&info, tdep);
|
||||
power = arch == bfd_arch_rs6000;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue