> 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 ">="). Er, yes. Good point. Try the attached. If it works, I'll try to simplify the .c file as well In the mean time I'll re-build everything :-/ Andrew