This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] linux_spu_make_corefile_notes: return note_data instead of nullptr


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=07d28c777757148d13e429c4463da52cbb50d297

commit 07d28c777757148d13e429c4463da52cbb50d297
Author: Simon Marchi <simon.marchi@ericsson.com>
Date:   Mon Apr 16 16:47:06 2018 -0400

    linux_spu_make_corefile_notes: return note_data instead of nullptr
    
    Since commit
    
      9018be2 ("Make target_read_alloc & al return vectors")
    
    the test gdb.threads/gcore-stale-thread.exp test results in UNSUPPORTED:
    
      UNSUPPORTED: gdb.threads/gcore-stale-thread.exp: save a corefile
    
    The problem is that the linux_spu_make_corefile_notes started returning
    nullptr when reading TARGET_OBJECT_SPU fails.  The previous (and proper)
    behaviour is to return the note_data received as a parameter, so that
    other functions may continue to append to this buffer.
    
    With this patch, the test goes back to PASS.
    
    gdb/ChangeLog:
    
    	* linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
    	instead of nullptr.

Diff:
---
 gdb/ChangeLog    | 5 +++++
 gdb/linux-tdep.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ad7b993..3993491 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
+
+	* linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
+	instead of nullptr.
+
 2018-04-16  Pedro Alves  <palves@redhat.com>
 
 	* MAINTAINERS (sh): Remove.
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index 552a2a4..24bfd74 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -1426,7 +1426,7 @@ linux_spu_make_corefile_notes (bfd *obfd, char *note_data, int *note_size)
     spu_ids = target_read_alloc (&current_target, TARGET_OBJECT_SPU, NULL);
 
   if (!spu_ids)
-    return nullptr;
+    return note_data;
 
   /* Generate corefile notes for each SPU file.  */
   for (size_t i = 0; i < spu_ids->size (); i += 4)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]