This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFC] Darwin port (Part 0)
- From: Tristan Gingold <gingold at adacore dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 10 Nov 2008 11:19:01 +0100
- Subject: [RFC] Darwin port (Part 0)
Hello,
here are a patch to add a new host/target: Darwin (or MacOS X).
Only a minimal set of features has been implemented: x86 and x86_64
only (not ppc),
no support for core files, no support for fat files, no support for
dynamic libraries,
no support for stabs (dwarf only).
The mach-o reader can handle dsym files and in object files dwarf -
but both need to be improved.
Even all these restrictions I think the port is in good shape enough
to be merged. I have made
the minimal changes to common files in order to ease the merge. Some
planned changes (particularly
in the mach-o reader) will require modification to some common files
and I'd prefer a first merge
before.
Two majors components (machoread.c and macosx-nat.c) have been
rewritten from scratch but other
files (mainly i386-macosx-*.?) comes from Apple own branch of gdb. As
the Apple branch have never
been formally submitted the copyright status is not clear: I don't
know if we can assume they have
been assigned to the FSF. We have tried to contact Apple - but
without success. I am ready to rewrite
them in case of issue.
Also, this is my first contribution to gdb. Comments will be very
useful to me but please don't be
too harsh :-)
Tristan.
gdb:/
2008-11-10 Tristan Gingold <gingold@adacore.com>
* configure.host: Add Darwin host.
* configure.tgt: Add Darwin target.
* defs.h (enum gdb_osabi): Add GDB_OSABI_DARWIN and
GDB_OSABI_DARWIN64.
* osabi.c (gdb_osabi_names): Add names for darwin abis.
* i386-macosx-nat.c: New file.
* i386-macosx-tdep.c: New file.
* i386-macosx-tdep.h: New file.
* machoread.c: New file.
* macosx-nat-info.c: New file.
* macosx-nat.c: New file.
* macosx-nat.h: New file.
* macosx.defs: New file.
* config/nm-macosx.h: New file.
* config/i386/macosx.mh: New file.
* config/i386/nm-i386-macosx.h: New file.