aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/i386/darwin.mh2
-rwxr-xr-xgdb/configure52
-rw-r--r--gdb/configure.ac7
4 files changed, 67 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3482d61..fabc0a9d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2013-01-02 Tom Tromey <tromey@redhat.com>
+ * config/i386/darwin.mh (NATDEPFILES): Remove machoread.o.
+ * configure.ac: Check for Mach-O support in BFD. Update
+ CONFIG_OBS.
+ * configure: Rebuild.
+
+2013-01-02 Tom Tromey <tromey@redhat.com>
+
* acinclude.m4 (GDB_AC_CHECK_BFD): New macro.
* configure.ac: Use GDB_AC_CHECK_BFD.
* configure: Rebuild.
diff --git a/gdb/config/i386/darwin.mh b/gdb/config/i386/darwin.mh
index cd7f248..190d56c 100644
--- a/gdb/config/i386/darwin.mh
+++ b/gdb/config/i386/darwin.mh
@@ -1,4 +1,4 @@
# Host: IA86 running Darwin
-NATDEPFILES = fork-child.o machoread.o darwin-nat.o \
+NATDEPFILES = fork-child.o darwin-nat.o \
i386-darwin-nat.o i386-nat.o amd64-nat.o darwin-nat-info.o
diff --git a/gdb/configure b/gdb/configure
index fd6519b..6273193 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -12622,6 +12622,58 @@ $as_echo "#define HAVE_ELF 1" >>confdefs.h
fi
fi
+# Add macho support to GDB, but only if BFD includes it.
+
+ OLD_CFLAGS=$CFLAGS
+ OLD_LDFLAGS=$LDFLAGS
+ OLD_LIBS=$LIBS
+ # Put the old CFLAGS/LDFLAGS last, in case the user's (C|LD)FLAGS
+ # points somewhere with bfd, with -I/foo/lib and -L/foo/lib. We
+ # always want our bfd.
+ CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
+ LDFLAGS="-L../bfd -L../libiberty $LDFLAGS"
+ intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
+ # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
+ if test "$plugins" = "yes"; then
+ LIBS="-ldl $LIBS"
+ fi
+ LIBS="-lbfd -liberty $intl $LIBS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mach-O support in BFD" >&5
+$as_echo_n "checking for Mach-O support in BFD... " >&6; }
+if test "${gdb_cv_var_macho+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+ #include "bfd.h"
+ #include "mach-o.h"
+
+int
+main ()
+{
+return bfd_mach_o_lookup_command (NULL, 0, NULL);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gdb_cv_var_macho=yes
+else
+ gdb_cv_var_macho=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_var_macho" >&5
+$as_echo "$gdb_cv_var_macho" >&6; }
+ CFLAGS=$OLD_CFLAGS
+ LDFLAGS=$OLD_LDFLAGS
+ LIBS=$OLD_LIBS
+if test $gdb_cv_var_macho = yes; then
+ CONFIG_OBS="$CONFIG_OBS machoread.o"
+fi
+
# Add any host-specific objects to GDB.
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
diff --git a/gdb/configure.ac b/gdb/configure.ac
index a27bc92..de096b8 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2027,6 +2027,13 @@ if test $gdb_cv_var_elf = yes; then
fi
fi
+# Add macho support to GDB, but only if BFD includes it.
+GDB_AC_CHECK_BFD([for Mach-O support in BFD], gdb_cv_var_macho,
+ [bfd_mach_o_lookup_command (NULL, 0, NULL)], mach-o.h)
+if test $gdb_cv_var_macho = yes; then
+ CONFIG_OBS="$CONFIG_OBS machoread.o"
+fi
+
# Add any host-specific objects to GDB.
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"