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] |
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] |