[RFA] Darwin/x86 port (v4 - part 0/4)

Tristan Gingold
2008-11-14T16:27:22Z

Hi,

here is a new version (v4) of the Darwin/x86 port.
I think I have addressed all comments:

* The typos (missing '>', "to detach from", "the one", "mach-o")
* Dead code has been removed or enabled on debug option
* No more direct calls to printf
* User messages are enclosed in _()
* A new section in the GDB user manual has been added to document
darwin specific commands
* NEWS entry added.

(Thanks to Eli for his comments).

Waiting for Stan's review :-)

Tristan.

gdb/
2008-11-14 Tristan Gingold <gingold@adacore.com>

* NEWS: Add entry for new native configuration: Darwin.
* configure.host: Add Darwin host.
* configure.tgt: Add Darwin target.
* defs.h (enum gdb_osabi): Add GDB_OSABI_DARWIN.
* osabi.c (gdb_osabi_names): Add name for Darwin abi.
* i386-darwin-nat.c: New file.
* i386-darwin-tdep.c: New file.
* i386-darwin-tdep.h: New file.
* machoread.c: New file.
* darwin-nat-info.c: New file.
* darwin-nat.c: New file.
* darwin-nat.h: New file.
* darwin.defs: New file.
* config/i386/darwin.mh: New file.

gdb/doc/
2008-11-14 Tristan Gingold <gingold@adacore.com>

* gdb.texinfo (Darwin): Document Darwin specific features.

diff -c -r1.292 NEWS
*** gdb/NEWS 22 Oct 2008 22:14:21 -0000 1.292
--- gdb/NEWS 14 Nov 2008 16:17:20 -0000
***************
*** 169,174 ****
--- 169,178 ----
These allow macros to be defined, undefined, and listed
interactively.

+ * New native configurations
+
+ x86 Darwin i[34567]86-*-darwin*
+
* New targets

x86 DICOS i[34567]86-*-dicos*
diff -c -r1.101 configure.host
*** gdb/configure.host 19 Jan 2008 15:03:50 -0000 1.101
--- gdb/configure.host 14 Nov 2008 16:17:20 -0000
***************
*** 62,67 ****
--- 62,69 ----

case "${host}" in

+ *-*-darwin*) gdb_host=darwin ;;
+
alpha*-*-osf[3456789]*) gdb_host=alpha-osf3 ;;
alpha*-*-linux*) gdb_host=alpha-linux ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
diff -c -r1.204 configure.tgt
*** gdb/configure.tgt 2 Oct 2008 15:48:06 -0000 1.204
--- gdb/configure.tgt 14 Nov 2008 16:17:20 -0000
***************
*** 145,150 ****
--- 145,155 ----
gdb_target_obs="hppa-tdep.o"
;;

+ i[34567]86-*-darwin*)
+ # Target: Darwin/i386
+ gdb_target_obs="amd64-tdep.o i386-tdep.o i387-tdep.o \
+ i386-darwin-tdep.o"
+ ;;
i[34567]86-*-dicos*)
# Target: DICOS/i386
gdb_target_obs="i386-tdep.o i387-tdep.o \
diff -c -r1.241 defs.h
*** gdb/defs.h 5 Nov 2008 20:23:07 -0000 1.241
--- gdb/defs.h 14 Nov 2008 16:17:20 -0000
***************
*** 957,962 ****
--- 957,963 ----
GDB_OSABI_CYGWIN,
GDB_OSABI_AIX,
GDB_OSABI_DICOS,
+ GDB_OSABI_DARWIN,

GDB_OSABI_INVALID /* keep this last */
};
diff -c -r1.43 osabi.c
*** gdb/osabi.c 1 May 2008 23:09:14 -0000 1.43
--- gdb/osabi.c 14 Nov 2008 16:17:21 -0000
***************
*** 73,78 ****
--- 73,79 ----
"Cygwin",
"AIX",
"DICOS",
+ "Darwin",

"<invalid>"
};
diff -c -r1.532 gdb.texinfo
*** gdb/doc/gdb.texinfo 24 Oct 2008 21:04:22 -0000 1.532
--- gdb/doc/gdb.texinfo 14 Nov 2008 16:17:25 -0000
***************
*** 14675,14680 ****
--- 14675,14681 ----
* Cygwin Native:: Features specific to the Cygwin port
* Hurd Native:: Features specific to @sc{gnu} Hurd
* Neutrino:: Features specific to QNX Neutrino
+ * Darwin:: Features specific to Darwin
@end menu

@node HP-UX
***************
*** 15456,15461 ****
--- 15457,15501 ----
Show the current state of QNX Neutrino messages.
@end table

+ @node Darwin
+ @subsection Darwin
+ @cindex Darwin
+
+ @value{GDBN} provides the following commands specific to the Darwin
target:
+
+ @table @code
+ @item set debug inferior @var{num}
+ @kindex set debug inferior
+ When set to a non zero value, enables debugging messages specific to
+ the Darwin support. The bigger the value is the more verbose the
output is.
+
+ @item show debug inferior
+ @kindex show debug inferior
+ Show the current state of Darwin messages.
+
+ @item set debug mach-o @var{num}
+ @kindex set debug mach-o
+ When set to a non zero value, enables debugging messages specific to
mach-o
+ object file processing. The bigger the value is the more verbose the
+ output is.
+
+ @item show debug mach-o
+ @kindex show debug mach-o
+ Show the current state of mach-o file messages.
+
+ @item set mach-exceptions on
+ @itemx set mach-exceptions off
+ @kindex set mach-exceptions
+ Use this command to turn on trapping of exceptions in the inferior.
The
+ default is off. If on any inferior faults (but single stepping and
+ breakpoint) will be reported as a mach exception before being
reported to
+ the kernel.
+
+ @item show mach-exceptions
+ @kindex show mach-exceptions
+ Show the current state of exceptions trapping.
+ @end table
+

@node Embedded OS
@section Embedded Operating Systems