From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15145 invoked by alias); 31 Jan 2014 03:37:56 -0000 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 Received: (qmail 15051 invoked by uid 89); 31 Jan 2014 03:37:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 31 Jan 2014 03:37:54 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1W94vP-0002X8-5c from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Thu, 30 Jan 2014 19:37:51 -0800 Received: from SVR-ORW-FEM-03.mgc.mentorg.com ([147.34.97.39]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Thu, 30 Jan 2014 19:37:50 -0800 Received: from qiyao.dyndns.org (147.34.91.1) by svr-orw-fem-03.mgc.mentorg.com (147.34.97.39) with Microsoft SMTP Server id 14.2.247.3; Thu, 30 Jan 2014 19:37:49 -0800 From: Yao Qi To: Subject: [PATCH 2/6] core_xfer_shared_libraries and core_xfer_shared_libraries_aix returns ULONGEST Date: Fri, 31 Jan 2014 03:37:00 -0000 Message-ID: <1391139325-2758-3-git-send-email-yao@codesourcery.com> In-Reply-To: <1391139325-2758-1-git-send-email-yao@codesourcery.com> References: <1391139325-2758-1-git-send-email-yao@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2014-01/txt/msg01066.txt.bz2 This patch specifies the return value of core_xfer_shared_libraries_aix and core_xfer_shared_libraries, and change return value to ULONGEST. The following patch can check its return value in core_xfer_partial and return appropriate target_xfer_status in core_xfer_partial. gdb: 2014-01-30 Yao Qi * gdbarch.sh (core_xfer_shared_libraries): Returns ULONGEST. Add comments. (core_xfer_shared_libraries_aix): Likewise. * gdbarch.c, gdbarch.h: Regenerated. * i386-cygwin-tdep.c (windows_core_xfer_shared_libraries): Return ULONGEST. Change 'len_avail' type to ULONGEST. * rs6000-aix-tdep.c (rs6000_aix_ld_info_to_xml): Likewise. * rs6000-aix-tdep.h (rs6000_aix_ld_info_to_xml): Update declaration. (rs6000_aix_core_xfer_shared_libraries_aix): Return ULONGEST. --- gdb/gdbarch.c | 4 ++-- gdb/gdbarch.h | 15 +++++++++------ gdb/gdbarch.sh | 9 ++++++--- gdb/i386-cygwin-tdep.c | 4 ++-- gdb/rs6000-aix-tdep.c | 6 +++--- gdb/rs6000-aix-tdep.h | 12 ++++++------ 6 files changed, 28 insertions(+), 22 deletions(-) diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index ee41d50..404c01c 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -3499,7 +3499,7 @@ gdbarch_core_xfer_shared_libraries_p (struct gdbarch *gdbarch) return gdbarch->core_xfer_shared_libraries != NULL; } -LONGEST +ULONGEST gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) { gdb_assert (gdbarch != NULL); @@ -3523,7 +3523,7 @@ gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch *gdbarch) return gdbarch->core_xfer_shared_libraries_aix != NULL; } -LONGEST +ULONGEST gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) { gdb_assert (gdbarch != NULL); diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index b28a80e..8fd0b88 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -761,21 +761,24 @@ extern int gdbarch_find_memory_regions (struct gdbarch *gdbarch, find_memory_reg extern void set_gdbarch_find_memory_regions (struct gdbarch *gdbarch, gdbarch_find_memory_regions_ftype *find_memory_regions); /* Read offset OFFSET of TARGET_OBJECT_LIBRARIES formatted shared libraries list from - core file into buffer READBUF with length LEN. */ + core file into buffer READBUF with length LEN. Return the number of bytes read ( + zero indicates failure). + failed, otherwise, return the red length of READBUF. */ extern int gdbarch_core_xfer_shared_libraries_p (struct gdbarch *gdbarch); -typedef LONGEST (gdbarch_core_xfer_shared_libraries_ftype) (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); -extern LONGEST gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); +typedef ULONGEST (gdbarch_core_xfer_shared_libraries_ftype) (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); +extern ULONGEST gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); extern void set_gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries); /* Read offset OFFSET of TARGET_OBJECT_LIBRARIES_AIX formatted shared - libraries list from core file into buffer READBUF with length LEN. */ + libraries list from core file into buffer READBUF with length LEN. + Return the number of bytes read (zero indicates failure). */ extern int gdbarch_core_xfer_shared_libraries_aix_p (struct gdbarch *gdbarch); -typedef LONGEST (gdbarch_core_xfer_shared_libraries_aix_ftype) (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); -extern LONGEST gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); +typedef ULONGEST (gdbarch_core_xfer_shared_libraries_aix_ftype) (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); +extern ULONGEST gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len); extern void set_gdbarch_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdbarch_core_xfer_shared_libraries_aix_ftype *core_xfer_shared_libraries_aix); /* How the core target converts a PTID from a core file to a string. */ diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index 36dff57..e3e9bbd 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -659,12 +659,15 @@ F:char *:elfcore_write_linux_prpsinfo:bfd *obfd, char *note_data, int *note_size M:int:find_memory_regions:find_memory_region_ftype func, void *data:func, data # Read offset OFFSET of TARGET_OBJECT_LIBRARIES formatted shared libraries list from -# core file into buffer READBUF with length LEN. -M:LONGEST:core_xfer_shared_libraries:gdb_byte *readbuf, ULONGEST offset, ULONGEST len:readbuf, offset, len +# core file into buffer READBUF with length LEN. Return the number of bytes read ( +# zero indicates failure). +# failed, otherwise, return the red length of READBUF. +M:ULONGEST:core_xfer_shared_libraries:gdb_byte *readbuf, ULONGEST offset, ULONGEST len:readbuf, offset, len # Read offset OFFSET of TARGET_OBJECT_LIBRARIES_AIX formatted shared # libraries list from core file into buffer READBUF with length LEN. -M:LONGEST:core_xfer_shared_libraries_aix:gdb_byte *readbuf, ULONGEST offset, ULONGEST len:readbuf, offset, len +# Return the number of bytes read (zero indicates failure). +M:ULONGEST:core_xfer_shared_libraries_aix:gdb_byte *readbuf, ULONGEST offset, ULONGEST len:readbuf, offset, len # How the core target converts a PTID from a core file to a string. M:char *:core_pid_to_str:ptid_t ptid:ptid diff --git a/gdb/i386-cygwin-tdep.c b/gdb/i386-cygwin-tdep.c index 4b8a00d..7b7785a 100644 --- a/gdb/i386-cygwin-tdep.c +++ b/gdb/i386-cygwin-tdep.c @@ -168,14 +168,14 @@ out: return; } -static LONGEST +static ULONGEST windows_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, ULONGEST len) { struct obstack obstack; const char *buf; - LONGEST len_avail; + ULONGEST len_avail; struct cpms_data data = { gdbarch, &obstack, 0 }; obstack_init (&obstack); diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c index aeea3ed..3ab8883 100644 --- a/gdb/rs6000-aix-tdep.c +++ b/gdb/rs6000-aix-tdep.c @@ -965,14 +965,14 @@ rs6000_aix_shared_library_to_xml (struct ld_info *ldi, as the consumer of the XML library list might live in a different process. */ -LONGEST +ULONGEST rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, const gdb_byte *ldi_buf, gdb_byte *readbuf, ULONGEST offset, ULONGEST len, int close_ldinfo_fd) { struct obstack obstack; const char *buf; - LONGEST len_avail; + ULONGEST len_avail; obstack_init (&obstack); obstack_grow_str (&obstack, "\n"); @@ -1009,7 +1009,7 @@ rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, const gdb_byte *ldi_buf, /* Implement the core_xfer_shared_libraries_aix gdbarch method. */ -static LONGEST +static ULONGEST rs6000_aix_core_xfer_shared_libraries_aix (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, diff --git a/gdb/rs6000-aix-tdep.h b/gdb/rs6000-aix-tdep.h index 76765f1..90fc5ed 100644 --- a/gdb/rs6000-aix-tdep.h +++ b/gdb/rs6000-aix-tdep.h @@ -18,11 +18,11 @@ #ifndef RS6000_AIX_TDEP_H #define RS6000_AIX_TDEP_H -extern LONGEST rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, - const gdb_byte *ldi_buf, - gdb_byte *readbuf, - ULONGEST offset, - ULONGEST len, - int close_ldinfo_fd); +extern ULONGEST rs6000_aix_ld_info_to_xml (struct gdbarch *gdbarch, + const gdb_byte *ldi_buf, + gdb_byte *readbuf, + ULONGEST offset, + ULONGEST len, + int close_ldinfo_fd); #endif /* RS6000_AIX_TDEP_H */ -- 1.7.7.6