This is the mail archive of the gdb-patches@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]

Re: [PATCH] TASK_DYLD_INFO_COUNT build fix for darwin9


On Wednesday 02 January 2013 14:35:09 Tristan Gingold wrote:
> On Jan 2, 2013, at 7:38 PM, Fabian Groffen wrote:
> > This is a resent of patch 3/ from:
> > http://sourceware.org/ml/gdb-patches/2011-12/msg00890.html
> > 
> > Modified for 7.5.1 sources, as this is still a problem, see:
> > http://sourceware.org/bugzilla/show_bug.cgi?id=14405
> > 
> > From: Iain Sandoe <developer at sandoe-acoustics dot co dot uk>
> > To: gdb-patches at sourceware dot org
> > Date: Thu, 29 Dec 2011 20:30:31 +0000
> > Subject: [Patch Darwin] head build fixes for
> > i686-darwin9/x86_64-darwin10.
> > 
> > gdb:
> >    * darwin-nat.c (darwin_read_dyld_info): Only build if
> >    TASK_DYLD_INFO_COUNT is available.
> >    (darwin_xfer_partial): Don not try to fetch dyld info
> >    unless TASK_DYLD_INFO_COUNT is available.
> 
> Ok.

i've committed this slightly tweaked version
-mike

2013-01-02  Iain Sandoe  <developer@sandoe-acoustics.co.uk>

	* darwin-nat.c (darwin_read_dyld_info): Only build if
	TASK_DYLD_INFO_COUNT is defined.
	(darwin_xfer_partial): Call darwin_read_dyld_info only if
	TASK_DYLD_INFO_COUNT is defined.

--- darwin-nat.c	1 Jan 2013 06:32:41 -0000	1.39
+++ darwin-nat.c	2 Jan 2013 21:04:56 -0000
@@ -1816,8 +1816,10 @@ out:
 
 /* Read LENGTH bytes at offset ADDR of task_dyld_info for TASK, and copy them
    to RDADDR.
-   Return 0 on failure; number of bytes read / writen otherwise.  */
+   Return 0 on failure; number of bytes read / written otherwise.  */
 
+#ifndef TASK_DYLD_INFO_COUNT
+/* This is not available in Darwin 9.  */
 static int
 darwin_read_dyld_info (task_t task, CORE_ADDR addr, char *rdaddr, int length)
 {
@@ -1839,6 +1841,7 @@ darwin_read_dyld_info (task_t task, CORE
   memcpy (rdaddr, (char *)&task_dyld_info + addr, length);
   return length;
 }
+#endif
 
 
 /* Return 0 on failure, number of bytes handled otherwise.  TARGET
@@ -1881,6 +1884,7 @@ darwin_xfer_partial (struct target_ops *
     case TARGET_OBJECT_MEMORY:
       return darwin_read_write_inferior (inf->private->task, offset,
                                          readbuf, writebuf, len);
+#ifdef TASK_DYLD_INFO_COUNT
     case TARGET_OBJECT_DARWIN_DYLD_INFO:
       if (writebuf != NULL || readbuf == NULL)
         {
@@ -1888,6 +1892,7 @@ darwin_xfer_partial (struct target_ops *
           return -1;
         }
       return darwin_read_dyld_info (inf->private->task, offset, readbuf, len);
+#endif
     default:
       return -1;
     }

Attachment: signature.asc
Description: This is a digitally signed message part.


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