Moving to GDB_MULTI_ARCH_PARTIAL
Richard Earnshaw
rearnsha@arm.com
Wed Feb 6 09:21:00 GMT 2002
I'm trying to get the ARM target building now at multi-arch partial. It
seems that the auto-generated definitions at this level are to an extent
inconsistent.
For example, gdbarch_validate() requires that PUSH_ARGUMENTS is fully
implemented as a multi-arch call, but the code in gdbarch.h does not fault
a partial definition of this.
That is, in gdbarch.h we have
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (PUSH_ARGUMENTS)
#error "Non multi-arch definition of PUSH_ARGUMENTS"
#endif
#if GDB_MULTI_ARCH
#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (PUSH_ARGUMENTS)
#define PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr)
(gdbarch_pus
h_arguments (current_gdbarch, nargs, args, sp, struct_return, struct_addr))
#endif
#endif
but then in gdbarch_validate,
if ((GDB_MULTI_ARCH >= 1)
&& (gdbarch->push_arguments == 0))
fprintf_unfiltered (log, "\n\tpush_arguments");
Surely these two should be brought into line (one tests with ">" and the
other with ">=").
R.
More information about the Gdb
mailing list