From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16847 invoked by alias); 3 Nov 2012 10:36:24 -0000 Received: (qmail 16764 invoked by uid 22791); 3 Nov 2012 10:36:23 -0000 X-SWARE-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,SPF_SOFTFAIL X-Spam-Check-By: sourceware.org Received: from mtaout23.012.net.il (HELO mtaout23.012.net.il) (80.179.55.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 03 Nov 2012 10:36:17 +0000 Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MCW00E00QNI3E00@a-mtaout23.012.net.il> for gdb-patches@sourceware.org; Sat, 03 Nov 2012 12:36:15 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MCW00D4AQSFWXB0@a-mtaout23.012.net.il>; Sat, 03 Nov 2012 12:36:15 +0200 (IST) Date: Sat, 03 Nov 2012 10:36:00 -0000 From: Eli Zaretskii Subject: Re: [RFC] Fix .text section offset for windows DLL (was Calling __stdcall functions in the inferior) In-reply-to: <83obk34pku.fsf@gnu.org> To: pierre.muller@ics-cnrs.unistra.fr Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <838vaj55yj.fsf@gnu.org> References: <83a9vs89r9.fsf@gnu.org> <201210120953.q9C9rqfu020865@glazunov.sibelius.xs4all.nl> <834nm07z0s.fsf@gnu.org> <5077FEB9.4030304@redhat.com> <83y5jb7rfe.fsf@gnu.org> <006001cdaada$00c81f00$02585d00$%muller@ics-cnrs.unistra.fr> <83obk34pku.fsf@gnu.org> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00074.txt.bz2 > Date: Mon, 15 Oct 2012 19:23:13 +0200 > From: Eli Zaretskii > Cc: gdb-patches@sourceware.org > > > From: "Pierre Muller" > > Date: Mon, 15 Oct 2012 15:35:55 +0200 > > > > After some investigation, I noticed that > > the minimal symbol GetLastError was offset by 0xf0000 > > respective to the '_imp__GetLastError@0'. > > > > The patch attached allowed me to call > > (gdb) call GetLastError () > > And get a simple > > $2 = 126 > > (for instance, depending on when you do the call). > > Thanks. > > > Could someone please test the patch and > > confirm that it does fix the problem? > > I will try that in a few days. Sorry for the long delay. I tried that now, but then I realized that the patch cannot be applied to GDB 7.5, because it uses gdb_bfd.h stuff. I tried to work around that by replacing the call to gdb_bfd_open_maybe_remote by bfd_open_maybe_remote; that compiled, but when I tried to use the resulting binary, it crashed in the marked assertion: gdb.exe caused an Access Violation at location 00532b99 in module gdb.exe Reading from location 00000000. 00532B99 gdb.exe:00532B99 gdb_bfd_unref objfiles.c:1514 ... /* Valid range for p_refcount: a pointer to int counter, which has a value of 1 (single owner) or 2 (shared). */ > gdb_assert (*p_refcount == 1 || *p_refcount == 2); *p_refcount -= 1; ... Is it possible to have a patch for GDB 7.5? TIA