From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16329 invoked by alias); 19 Jun 2006 15:12:19 -0000 Received: (qmail 16316 invoked by uid 22791); 19 Jun 2006 15:12:17 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 19 Jun 2006 15:12:13 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k5JFAf90008842; Mon, 19 Jun 2006 17:10:42 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.6/8.13.6) with ESMTP id k5JFAfnJ031633; Mon, 19 Jun 2006 17:10:41 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.6/8.13.6/Submit) id k5JFAfG0028604; Mon, 19 Jun 2006 17:10:41 +0200 (CEST) Date: Mon, 19 Jun 2006 15:12:00 -0000 Message-Id: <200606191510.k5JFAfG0028604@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: nathan@codesourcery.com CC: gdb-patches@sourceware.org, schwab@suse.de In-reply-to: <4496B738.1050500@codesourcery.com> (message from Nathan Sidwell on Mon, 19 Jun 2006 15:39:52 +0100) Subject: Re: [m68k] return values References: <44897213.3070309@codesourcery.com> <200606180550.k5I5o0ni009268@elgar.sibelius.xs4all.nl> <4496B738.1050500@codesourcery.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-06/txt/msg00271.txt.bz2 > Date: Mon, 19 Jun 2006 15:39:52 +0100 > From: Nathan Sidwell > > 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