From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17260 invoked by alias); 7 Aug 2002 01:04:27 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 17208 invoked from network); 7 Aug 2002 01:04:26 -0000 Received: from unknown (HELO takamaka.act-europe.fr) (142.179.108.108) by sources.redhat.com with SMTP; 7 Aug 2002 01:04:26 -0000 Received: by takamaka.act-europe.fr (Postfix, from userid 507) id 31DEAD2CBD; Tue, 6 Aug 2002 18:04:26 -0700 (PDT) Date: Tue, 06 Aug 2002 18:04:00 -0000 From: Joel Brobecker To: Mark Kettenis Cc: gdb-patches@sources.redhat.com Subject: Question regarding i386v4-nat.c:supply_gregset and fill_gregset Message-ID: <20020807010426.GN916@gnat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4i X-SW-Source: 2002-08/txt/msg00155.txt.bz2 Hello Mark, Following your suggestion to use i386v4-nat.c for the interix port, I was indeed impressed to see that, after simplifying supply_gregset() and fill_gregset() as you indicated, they become (almost identical) to their counterpart in i386v4-nat. But there is one difference that causes some grief on interix, and I had to modify these 2 functions like this to make them to work for interix: - greg_t *regp = (greg_t *) gregsetp; + greg_t *regp = (greg_t *) & gregsetp->gregs; Indeed, on Interix, the gregs buffer is not located at the begining of the gregset_t structure. So the function were reading/writting at the wrong location. The trouble is I don't have any machine handy to verify this change on the other platforms. I have the feeling, though, that type gregset_t is not always a structure, and hence makes my change only valid for interix. If this is the case, then I am afraid we won't be able to reuse i386v4-nat.c that easily. Maybe we should implement 2 new functions similar to i387_supply_fsave and i387_fill_fsave (in i386-nat.[hc]?): i386_supply_gregset (greg_t *gregp); i386_fill_gregset (greg_t *gregp, int regno); both i386v4-nat.c and i386-interix-nat.c would use them to implement supply/fill_gregset. What do you think? -- Joel