From 91c97f8061c4fe069c0c5b38de78ae75708e3fd0 Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 4 Mar 2015 17:37:57 +0000 Subject: Add missing gdbarch field for annotate_frame_begin for version 7.0 or above Try to cope with buffering problems to catch complete argument list git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@30095 3ad0048d-3df7-0310-abae-a5850022a9f2 --- packages/gdbint/src/gdbint.pp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'packages/gdbint') diff --git a/packages/gdbint/src/gdbint.pp b/packages/gdbint/src/gdbint.pp index 654271d23e..d7dabe0946 100644 --- a/packages/gdbint/src/gdbint.pp +++ b/packages/gdbint/src/gdbint.pp @@ -215,6 +215,7 @@ interface {$define GDB_TARGET_CLOSE_HAS_PTARGET_ARG} {$define GDB_HAS_BP_NONE} {$define GDB_USE_XSTRVPRINTF} + {$define GDB_ANNOTATE_FRAME_BEGIN_HAS_GDBARCH_FIELD} {$endif def GDB_V7} @@ -2277,7 +2278,11 @@ begin end; -procedure annotate_frame_begin(level:longint;pc:CORE_ADDR);cdecl;public; +procedure annotate_frame_begin(level:longint; +{$ifdef GDB_ANNOTATE_FRAME_BEGIN_HAS_GDBARCH_FIELD} + gdbarch : pointer; +{$endif GDB_ANNOTATE_FRAME_BEGIN_HAS_GDBARCH_FIELD} +pc:CORE_ADDR);cdecl;public; begin {$ifdef Verbose} Debug('|frame_begin(%d,%ld)|'); @@ -2435,6 +2440,10 @@ begin begin if (gdboutputbuf.buf[args_end-1]=#10) then dec(args_end); + { Flushing is not always correct for args, + try to move on to next closing brace } + while (args_end')') do + inc(args_end); c:=gdboutputbuf.buf[args_end]; gdboutputbuf.buf[args_end]:=#0; fe^.args:=strnew(gdboutputbuf.buf+args_start); -- cgit v1.2.1