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 Darwin] head build fixes for i686-darwin9/x86_64-darwin10.


On Monday 02 January 2012 09:38:57 Tristan Gingold wrote:
> On Dec 29, 2011, at 9:30 PM, Iain Sandoe wrote:
> > =====
> > 
> > 3/ (Darwin 9 only)
> > TASK_DYLD_INFO_COUNT etc. are not defined.
> > 
> > Fixed thus:
> > diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
> > index 94f49d6..efc59e7 100644
> > --- a/gdb/darwin-nat.c
> > +++ b/gdb/darwin-nat.c
> > @@ -1823,6 +1823,7 @@ out:
> >   return length;
> > }
> > 
> > +#ifdef TASK_DYLD_INFO_COUNT
> > /* 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.  */
> > @@ -1848,7 +1849,7 @@ darwin_read_dyld_info (task_t task, CORE_ADDR addr,
> > char *rdaddr, int length)
> >   memcpy (rdaddr, (char *)&task_dyld_info + addr, length);
> >   return length;
> > }
> > -
> > +#endif
> > 
> > /* Return 0 on failure, number of bytes handled otherwise.  TARGET
> >    is ignored.  */
> > @@ -1890,6 +1891,7 @@ darwin_xfer_partial (struct target_ops *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)
> >         {
> > @@ -1897,6 +1899,7 @@ darwin_xfer_partial (struct target_ops *ops,
> >           return -1;
> >         }
> >       return darwin_read_dyld_info (inf->private->task, offset, readbuf,
> >       len);
> > +#endif
> >     default:
> >       return -1;
> >     }
> 
> Ok (but a comment would be very welcome).

how about this instead.  it localizes the #ifdef and has a comment.

diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 252fe3e..ac0aaac 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1821,6 +1821,10 @@ out:
 static int
 darwin_read_dyld_info (task_t task, CORE_ADDR addr, char *rdaddr, int length)
 {
+#ifndef TASK_DYLD_INFO_COUNT
+  /* This is not available in Darwin 9.  */
+  return -1;
+#else
   struct task_dyld_info task_dyld_info;
   mach_msg_type_number_t count = TASK_DYLD_INFO_COUNT;
   int sz = TASK_DYLD_INFO_COUNT * sizeof (natural_t);
@@ -1838,6 +1842,7 @@ darwin_read_dyld_info (task_t task, CORE_ADDR addr, char 
*rdaddr, int length)
     length = sz - addr;
   memcpy (rdaddr, (char *)&task_dyld_info + addr, length);
   return length;
+#endif
 }
 
 
-mike

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]