X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com Date: Sat, 09 Aug 2014 10:00:36 +0300 From: Eli Zaretskii Subject: Re: gdb 7.8 no longer works with DJGPP. In-reply-to: <53E55CC7.1000905@gmx.de> X-012-Sender: halo1 AT inter DOT net DOT il To: djgpp AT delorie DOT com Message-id: <83y4uykuzv.fsf@gnu.org> References: <53E51B98 DOT 1080807 AT gmx DOT de> <834mxmn3vi DOT fsf AT gnu DOT org> <53E55CC7 DOT 1000905 AT gmx DOT de> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > Date: Sat, 09 Aug 2014 01:27:03 +0200 > From: Juan Manuel Guerrero > > > Does GDB 7.7.1 work with DJGPP? > Yes, both 2.03 and 2.04 port versions of GDB 7.7.1 work flawlessly > with DJGPP. I use them almost every day and I have never experienced > any difficulties. Then you have a starting point to search for changes that broke DJGPP. The only major feature added to 7.8 is the Guile support, which is supposed to be orthogonal to DJGPP support, so I wouldn't think that's the first suspect. Rather, some infrastructure changes probably caused that. Since the immediate problem is with breakpoints, I'd examine the breakpoint infrastructure changes first. > (gdb) b main > Breakpoint 1 at 0x1e04 ^^^^^^ Is this address correct? > (gdb) r > Starting program: h:/l/bins/bin/a.exe > Warning: > Cannot insert breakpoint 1. > Cannot access memory at address 0x1e04 This means inserting a breakpoint at 0x1e04 returned EIO. I suggest to take a good look at the code that's involved in this. I see that in GDB-7.7.1, we had these 2 lines in go32-nat.c: go32_ops.to_insert_breakpoint = memory_insert_breakpoint; go32_ops.to_remove_breakpoint = memory_remove_breakpoint; but these lines are no longer there, and instead the go32 target inherits from inf_child_target. Perhaps that's the cause of the problem. > I do not understand why the breakpoints are decremented (negative). That's normal: these are internal breakpoints defined by GDB for its internal purposes (like the 'finish' command).