Re: [PATCH 1/6] Tweak in memory_error

Yao Qi
2014-02-07T04:21:49Z

On 02/06/2014 08:41 PM, Pedro Alves wrote:
> Ah, took me a second to realize _why_. OK, but could you
> add this to the commit log please ? :
>
> 'err' is of type 'enum target_xfer_error', and we're abusing it
> to store an 'enum errors'.

Sure. Patch below is what I pushed.

--
Yao (é½å°§)

Subject: [PATCH 1/6] Tweak in memory_error

This patch adds a local variable exception of type 'enum errors' and
pass it to throw_error, because 'err' is of type
'enum target_xfer_error', and we're abusing it to store an 'enum errors'.

gdb:

2014-02-07 Yao Qi <yao@codesourcery.com>

* corefile.c (memory_error): Get 'exception' from ERR and pass
'exception' to throw_error.
---
gdb/ChangeLog | 5 +++++
gdb/corefile.c | 7 ++++---
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 94c3971..de3c3a6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-07 Yao Qi <yao@codesourcery.com>
+
+ * corefile.c (memory_error): Get 'exception' from ERR and pass
+ 'exception' to throw_error.
+
2014-02-06 Doug Evans <xdje42@gmail.com>

* configure.ac (libpython checking): Remove all but python.o from
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 1ed8395..93f5e04 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -221,6 +221,7 @@ void
memory_error (enum target_xfer_error err, CORE_ADDR memaddr)
{
char *str;
+ enum errors exception = GDB_NO_ERROR;

/* Build error string. */
str = memory_error_message (err, target_gdbarch (), memaddr);
@@ -230,15 +231,15 @@ memory_error (enum target_xfer_error err, CORE_ADDR memaddr)
switch (err)
{
case TARGET_XFER_E_IO:
- err = MEMORY_ERROR;
+ exception = MEMORY_ERROR;
break;
case TARGET_XFER_E_UNAVAILABLE:
- err = NOT_AVAILABLE_ERROR;
+ exception = NOT_AVAILABLE_ERROR;
break;
}

/* Throw it. */
- throw_error (err, ("%s"), str);
+ throw_error (exception, ("%s"), str);
}

/* Same as target_read_memory, but report an error if can't read. */
--
1.7.7.6