From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 26 Jul 2009 17:55:50 +0000 (+0000)
Subject: [toolchain] add the insight gdb frontend (#4701)
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/9cfe8533af333e8acad31a4fbbf8dca8f83791d7

[toolchain] add the insight gdb frontend (#4701)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17019 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/toolchain/Config.in b/toolchain/Config.in
index d62489b45..6fc7b6fce 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -75,6 +75,14 @@ config GDB
 	help
 		Enable if you want to build the gdb
 
+config INSIGHT
+	bool
+	prompt "Build insight-gdb" if TOOLCHAINOPTS
+	select GDB
+	default n
+	help
+		Enable if you want to build insight-gdb
+
 config LARGEFILE
 	bool
 	prompt "Enable large file (files > 2 GB) support?" if TOOLCHAINOPTS
diff --git a/toolchain/Makefile b/toolchain/Makefile
index 61a74b8d1..456b731fb 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -28,7 +28,7 @@
 curdir:=toolchain
 
 # subdirectories to descend into
-$(curdir)/builddirs := kernel-headers $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_NATIVE_TOOLCHAIN),,binutils gcc $(LIBC) $(if $(CONFIG_GLIBC_PORTS),glibc-ports))
+$(curdir)/builddirs := kernel-headers $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_INSIGHT),insight) $(if $(CONFIG_NATIVE_TOOLCHAIN),,binutils gcc $(LIBC) $(if $(CONFIG_GLIBC_PORTS),glibc-ports))
 $(curdir)/builddirs-compile:=$($(curdir)/builddirs-prepare)
 $(curdir)/builddirs-install:=$($(curdir)/builddirs-compile)
 
diff --git a/toolchain/insight/Makefile b/toolchain/insight/Makefile
new file mode 100644
index 000000000..34e6867b9
--- /dev/null
+++ b/toolchain/insight/Makefile
@@ -0,0 +1,54 @@
+# 
+# Copyright (C) 2006-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=insight
+PKG_VERSION:=6.8
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_MD5SUM:=b403972b35520399663c7054e8132ca9
+PKG_SOURCE_URL:=ftp://sourceware.org/pub/insight/releases
+PKG_CAT:=bzcat
+
+STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
+BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
+
+include $(INCLUDE_DIR)/host-build.mk
+
+define Host/Configure
+	(cd $(HOST_BUILD_DIR); \
+		gdb_cv_func_sigsetjmp=yes \
+		CFLAGS="-O2" \
+		$(HOST_BUILD_DIR)/configure \
+		--prefix=$(TOOLCHAIN_DIR)/usr \
+		--build=$(GNU_HOST_NAME) \
+		--host=$(GNU_HOST_NAME) \
+		--target=$(REAL_GNU_TARGET_NAME) \
+		$(DISABLE_NLS) \
+		--enable-threads \
+	);
+endef
+
+define Host/Compile
+	$(MAKE) -C $(HOST_BUILD_DIR)
+endef
+
+define Host/Install
+	mkdir -p $(TOOLCHAIN_DIR)/usr/bin
+	$(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/insight $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)insight
+	ln -fs $(TARGET_CROSS)insight $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-insight
+	strip $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)insight
+endef
+
+define Host/Clean
+	rm -rf \
+		$(HOST_BUILD_DIR) \
+		$(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CROSS)insight \
+		$(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-insight
+endef
+
+$(eval $(call HostBuild))
diff --git a/toolchain/insight/patches/600-fix-compile-flag-mismatch.patch b/toolchain/insight/patches/600-fix-compile-flag-mismatch.patch
new file mode 100644
index 000000000..13b72bb96
--- /dev/null
+++ b/toolchain/insight/patches/600-fix-compile-flag-mismatch.patch
@@ -0,0 +1,31 @@
+--- a/gdb/gdbserver/configure
++++ b/gdb/gdbserver/configure
+@@ -1239,7 +1239,7 @@
+       ac_cache_corrupted=: ;;
+     ,);;
+     *)
+-      if test "x$ac_old_val" != "x$ac_new_val"; then
++      if test "`echo x$ac_old_val`" != "`echo x$ac_new_val`"; then
+ 	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ 	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+--- a/gdb/configure
++++ b/gdb/configure
+@@ -272,7 +272,7 @@
+ PACKAGE_BUGREPORT=
+ 
+ ac_unique_file="main.c"
+-ac_subdirs_all="$ac_subdirs_all doc testsuite"
++ac_subdirs_all="$ac_subdirs_all doc"
+ # Factoring default headers for most tests.
+ ac_includes_default="\
+ #include <stdio.h>
+@@ -3077,7 +3077,7 @@
+ 
+ 
+ 
+-subdirs="$subdirs doc testsuite"
++subdirs="$subdirs doc"
+ 
+ 
+ # Provide defaults for some variables set by the per-host and per-target