This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Moving to GDB_MULTI_ARCH_PARTIAL


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]