This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: m68k structure return register
On Wednesday 19 September 2007 17:31:36 Daniel Jacobowitz wrote:
> On Wed, Sep 19, 2007 at 12:24:27PM +0400, Vladimir Prus wrote:
> > > Group I -- monitor.mt -- just m68k-tdep.c
> > >
> > > 1. m68k-*-aout* a1
> > > 2. m68k-*-coff* a1
> > > 3. m68k-*-elf* a0
> > > 6. m68k-*-uclinuxoldabi* a0
> > > 7. m68k-*-uclinux* a1
> > > 9. m68k-*-rtems* a0
> > >
> > > In gdb, all target here use the register set in m68k_gdbarch_init --
> > > currently A1, which register is wrong for half of targets. I'll get to this
> > > group shortly.
>
> Which of these are ELF? I know RTEMS is; I suspect both uclinuxoldabi
> and uclinux are. You can differentiate based on ELF-ness in
> m68k_gdbarch_init. Lots of other targets do that too. Then you can
> set the default to a1 for non-ELF and a0 for ELF, and that will fix
> m68k-elf and m68k-rtems without breaking m68k-aout or m68k-coff.
Yeah, that's better.
> m68k-uclinux and m68k-uclinuxoldabi are harder. Do you know how old
> m68k-uclinuxoldabi is, and whether we need to support it in GDB?
No.
> If not, you can treat it just like m68k-linux. It is likely that
> the Linux OS/ABI sniffer will already accept uClinux binaries.
It does not seem so. The debuggable .gdb ELF binary does not have the
.note.ABI-tag section so the linux sniffer won't catch it. Is there
anything else I can check for?
- Volodya