This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [m68k] return values


> Date: Mon, 19 Jun 2006 15:39:52 +0100
> From: Nathan Sidwell <nathan@codesourcery.com>
> 
> Mark Kettenis wrote:
> 
> > OK, I see your problem now.  The uCLinux ABI is quite different from
> > the normal Linux ABI, and different from the "standard" embedded ABI
> > too.  If I read the GCC code correctly, on uCLinux you end up with:
> 
> I fear I have confused things with the configure.tgt fragment.  The
> main bulk of the patch was to make function return work for
> m68k-elf, which returns pointers in %d0.

Well, I fear you've managed to confuse yourself.  The current m68k
default target uses m68k_extract_return_value(), which reads all
return values from %d0.

> As I understood gdb's internals, we should default to that ABI and
> use OS sniffers to set things up for OS ABIs that are different.

Indeed, although you can override the default ABI by setting gdb_osabi.

> Is the patch ok without the configure.tgt fragment.  I can deal with uclinux 
> separately.

I believe your patch is wrong and unneeded; dealing with uCLinux is
all you need to do.  And I'm afraid it might be better to start doing
that from scratch based on my comments.  Can't really blame you for
being confused though.  The various m68k ABI's are largely
undocumented and the GCC implementation isn't exactly very clear.

Mark


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