aboutsummaryrefslogtreecommitdiff
path: root/gdb/x86-64-tdep.c
diff options
context:
space:
mode:
authornobody <>2002-05-15 21:19:22 +0000
committernobody <>2002-05-15 21:19:22 +0000
commit0540f4547886519cdcf972d171961c0b6a33e02e (patch)
tree9770a17b0706adabda4874b86f2609570654f887 /gdb/x86-64-tdep.c
parent275602c398b33b8475860af024b006bbbbd495ac (diff)
downloadgdb-0540f4547886519cdcf972d171961c0b6a33e02e.zip
gdb-0540f4547886519cdcf972d171961c0b6a33e02e.tar.gz
gdb-0540f4547886519cdcf972d171961c0b6a33e02e.tar.bz2
This commit was manufactured by cvs2svn to create branchcagney_regbuf-20020515-branchpoint
'cagney_regbuf-20020515-branch'. Sprout from jimb-macro-020506-branch 2002-05-06 21:00:22 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'jimb-' Cherrypick from master 2002-05-15 21:19:21 UTC Jim Blandy <jimb@codesourcery.com> 'Add macro structures to GDB's symbol tables. Nobody puts anything': Makefile.in bfd/elf-m10200.c bfd/elf-m10300.c bfd/elf32-arm.h bfd/elf32-fr30.c bfd/elf32-hppa.c bfd/elf32-i370.c bfd/elf32-i386.c bfd/elf32-i860.c bfd/elf32-m32r.c bfd/elf32-m68k.c bfd/elf32-mcore.c bfd/elf32-openrisc.c bfd/elf32-ppc.c bfd/elf32-s390.c bfd/elf32-xstormy16.c bfd/elf64-ppc.c bfd/elf64-s390.c bfd/elf64-x86-64.c bfd/elfxx-ia64.c bfd/libxcoff.h gdb/ChangeLog gdb/MAINTAINERS gdb/Makefile.in gdb/NEWS gdb/TODO gdb/alphabsd-nat.c gdb/alphabsd-tdep.c gdb/alphabsd-tdep.h gdb/alphanbsd-tdep.c gdb/arch-utils.c gdb/arch-utils.h gdb/arm-linux-tdep.c gdb/arm-tdep.c gdb/arm-tdep.h gdb/ax-gdb.c gdb/buildsym.c gdb/buildsym.h gdb/builtin-regs.c gdb/c-typeprint.c gdb/config/alpha/fbsd.mt gdb/config/alpha/nbsd.mh gdb/config/alpha/nbsd.mt gdb/config/arm/nm-nbsd.h gdb/config/djgpp/fnchange.lst gdb/config/i386/fbsd.mh gdb/config/i386/go32.mh gdb/config/i386/i386gnu.mh gdb/config/i386/i386sol2.mh gdb/config/i386/i386v42mp.mh gdb/config/i386/linux.mh gdb/config/i386/nbsd.mh gdb/config/i386/nbsd.mt gdb/config/i386/nbsdelf.mh gdb/config/i386/nbsdelf.mt gdb/config/i386/obsd.mh gdb/config/i386/tm-nbsd.h gdb/config/i386/x86-64linux.mh gdb/config/m68k/nbsd.mh gdb/config/m88k/tm-m88k.h gdb/config/ns32k/nbsd.mh gdb/config/powerpc/nbsd.mh gdb/config/sh/nbsd.mh gdb/config/sh/nbsd.mt gdb/config/sh/nm-nbsd.h gdb/config/sh/tm-nbsd.h gdb/config/sh/tm-sh.h gdb/config/sparc/nbsd.mh gdb/config/sparc/nbsdelf.mh gdb/configure gdb/configure.host gdb/configure.in gdb/configure.tgt gdb/d10v-tdep.c gdb/dbxread.c gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/stabs.texinfo gdb/dstread.c gdb/dwarf2cfi.c gdb/dwarf2read.c gdb/event-loop.c gdb/expprint.c gdb/findvar.c gdb/frame.c gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbserver/mem-break.c gdb/gdbtypes.c gdb/gdbtypes.h gdb/gnu-v3-abi.c gdb/go32-nat.c gdb/gregset.h gdb/hpread.c gdb/i386-linux-nat.c gdb/i386-tdep.c gdb/i386-tdep.h gdb/i386bsd-nat.c gdb/i386gnu-nat.c gdb/i386nbsd-tdep.c gdb/i386v4-nat.c gdb/i387-tdep.c gdb/i387-tdep.h gdb/ia64-tdep.c gdb/jv-valprint.c gdb/language.c gdb/language.h gdb/linespec.c gdb/m88k-tdep.c gdb/macroexp.c gdb/macroexp.h gdb/macrotab.c gdb/macrotab.h gdb/mdebugread.c gdb/memattr.c gdb/mips-tdep.c gdb/nbsd-tdep.c gdb/nbsd-tdep.h gdb/objfiles.c gdb/objfiles.h gdb/p-lang.c gdb/printcmd.c gdb/regcache.c gdb/remote-rdi.c gdb/remote-rdp.c gdb/remote.c gdb/rs6000-tdep.c gdb/ser-tcp.c gdb/sh-tdep.c gdb/shnbsd-nat.c gdb/shnbsd-tdep.c gdb/shnbsd-tdep.h gdb/signals/signals.c gdb/solib-sunos.c gdb/solib-svr4.c gdb/solib.c gdb/solib.h gdb/stabsread.c gdb/symfile.c gdb/symmisc.c gdb/symtab.c gdb/symtab.h gdb/testsuite/ChangeLog gdb/testsuite/gdb.asm/asm-source.exp gdb/testsuite/gdb.asm/v850.inc gdb/testsuite/gdb.base/a2-run.exp gdb/testsuite/gdb.base/break.exp gdb/testsuite/gdb.base/default.exp gdb/testsuite/gdb.base/ending-run.exp gdb/testsuite/gdb.base/long_long.exp gdb/testsuite/gdb.base/maint.exp gdb/testsuite/gdb.base/printcmds.exp gdb/testsuite/gdb.c++/annota2.exp gdb/testsuite/gdb.c++/method.exp gdb/testsuite/gdb.mi/mi-var-child.exp gdb/testsuite/gdb.mi/mi0-var-child.exp gdb/testsuite/lib/gdb.exp gdb/tracepoint.c gdb/valops.c gdb/value.h gdb/values.c gdb/version.in gdb/x86-64-linux-nat.c gdb/x86-64-tdep.c include/elf/ChangeLog include/elf/common.h include/gdb/ChangeLog include/gdb/signals.h include/gdb/sim-sh.h libiberty/configure libiberty/configure.in libiberty/getruntime.c libiberty/waitpid.c opcodes/cgen-dis.in opcodes/ppc-opc.c opcodes/vax-dis.c sim/arm/ChangeLog sim/arm/armos.c Cherrypick from master 2002-05-11 00:00:05 UTC Alan Modra <amodra@gmail.com> 'daily update': ChangeLog bfd/ChangeLog bfd/coff-rs6000.c bfd/coff64-rs6000.c bfd/elf-bfd.h bfd/elflink.h bfd/elfxx-target.h bfd/version.h libiberty/ChangeLog opcodes/ChangeLog Delete: gdb/alphanbsd-nat.c gdb/config/avr/avr.mt gdb/i386nbsd-nat.c gdb/i387-nat.c gdb/i387-nat.h
Diffstat (limited to 'gdb/x86-64-tdep.c')
-rw-r--r--gdb/x86-64-tdep.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/gdb/x86-64-tdep.c b/gdb/x86-64-tdep.c
index 50b0227..94f57a5 100644
--- a/gdb/x86-64-tdep.c
+++ b/gdb/x86-64-tdep.c
@@ -195,7 +195,7 @@ x86_64_register_convert_to_virtual (int regnum, struct type *type,
char *from, char *to)
{
char buf[12];
- DOUBLEST d;
+
/* We only support floating-point values. */
if (TYPE_CODE (type) != TYPE_CODE_FLT)
{
@@ -372,18 +372,18 @@ classify_argument (struct type *type,
case TYPE_CODE_STRUCT:
{
int j;
- for (j = 0; j < type->nfields; ++j)
+ for (j = 0; j < TYPE_NFIELDS (type); ++j)
{
- int num = classify_argument (type->fields[j].type,
+ int num = classify_argument (TYPE_FIELDS (type)[j].type,
subclasses,
- (type->fields[j].loc.bitpos
+ (TYPE_FIELDS (type)[j].loc.bitpos
+ bit_offset) % 256);
if (!num)
return 0;
for (i = 0; i < num; i++)
{
int pos =
- (type->fields[j].loc.bitpos + bit_offset) / 8 / 8;
+ (TYPE_FIELDS (type)[j].loc.bitpos + bit_offset) / 8 / 8;
classes[i + pos] =
merge_classes (subclasses[i], classes[i + pos]);
}
@@ -394,7 +394,7 @@ classify_argument (struct type *type,
{
int num;
- num = classify_argument (type->target_type,
+ num = classify_argument (TYPE_TARGET_TYPE (type),
subclasses, bit_offset);
if (!num)
return 0;
@@ -413,10 +413,10 @@ classify_argument (struct type *type,
{
int j;
{
- for (j = 0; j < type->nfields; ++j)
+ for (j = 0; j < TYPE_NFIELDS (type); ++j)
{
int num;
- num = classify_argument (type->fields[j].type,
+ num = classify_argument (TYPE_FIELDS (type)[j].type,
subclasses, bit_offset);
if (!num)
return 0;
@@ -426,6 +426,8 @@ classify_argument (struct type *type,
}
}
break;
+ default:
+ break;
}
/* Final merger cleanup. */
for (i = 0; i < words; i++)
@@ -488,6 +490,8 @@ classify_argument (struct type *type,
}
case TYPE_CODE_VOID:
return 0;
+ default: /* Avoid warning. */
+ break;
}
internal_error (__FILE__, __LINE__,
"classify_argument: unknown argument type");
@@ -998,7 +1002,7 @@ x86_64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
for (i = 0, sum = 0; i < X86_64_NUM_REGS; i++)
sum += x86_64_register_info_table[i].size;
set_gdbarch_register_bytes (gdbarch, sum);
- set_gdbarch_register_virtual_size (gdbarch, generic_register_virtual_size);
+ set_gdbarch_register_virtual_size (gdbarch, generic_register_size);
set_gdbarch_max_register_virtual_size (gdbarch, 16);
set_gdbarch_register_virtual_type (gdbarch, x86_64_register_virtual_type);