[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] gccgo patch 0-2 (9)



Hi,

Attached are patches to enable gccgo to build properly on Debian
GNU/Hurd on gcc-4.7 (4.7.3-4).

patch0.diff: debian/rules.defs: go_no_systems: remove gnu, with_go:
Check for DEB_TARGET_GNU_OS instead of DEB_TARGET_GNU_SYSTEM since that
triggers a disabled build with kfreebsd-gnu.

patch1.diff: src/libgo/runtime/proc.c: Workaround: enable code for 
!SETCONTEXT_CLOBBERS_TLS

patch2.diff: src/libgo/configure.ac: add support for gnu, new variable
LIBGO_IS_GNU
# Use DEB_TARGET_GNU_OS in findstring since gnu is found kfreebsd-gnu
# when DEB_TARGET_GNU_SYSTEM is used!

--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -705,7 +705,7 @@
 ifneq ($(trunk_build),yes)
   go_no_cpus := $(go_no_cpus) alpha arm64
 endif
-go_no_systems := gnu kfreebsd-gnu
+go_no_systems := kfreebsd-gnu
 
 ifneq ($(with_base_only),yes)
   ifneq ($(separate_lang),yes)
@@ -715,8 +715,8 @@
 ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(go_no_cpus)))
   with_go := disabled for cpu $(DEB_TARGET_ARCH_CPU)
 endif
-ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(go_no_systems)))
-  with_go := disabled for system $(DEB_TARGET_GNU_SYSTEM)
+ifneq (,$(findstring $(DEB_TARGET_GNU_OS),$(go_no_systems)))
+with_go := disabled for system $(DEB_TARGET_GNU_SYSTEM)
 endif
 ifeq ($(go_no_cross)-$(DEB_CROSS),yes-yes)
   with_go := disabled for cross compiler package
--- a/src/libgo/runtime/proc.c
+++ b/src/libgo/runtime/proc.c
@@ -69,7 +69,8 @@
 static __thread G *g;
 static __thread M *m;
 
-#ifndef SETCONTEXT_CLOBBERS_TLS
+/* #ifndef SETCONTEXT_CLOBBERS_TLS */
+#if !defined(SETCONTEXT_CLOBBERS_TLS) || defined(__GNU__)
 
 static inline void
 initcontext(void)
--- a/src/libgo/configure.ac
+++ b/src/libgo/configure.ac
@@ -140,6 +140,7 @@
   *-*-netbsd*)	 is_netbsd=yes;  GOOS=netbsd ;;
   *-*-rtems*)    is_rtems=yes;   GOOS=rtems ;;
   *-*-solaris2*) is_solaris=yes; GOOS=solaris ;;
+  *-*-gnu*)      is_gnu=yes;     GOOS=gnu ;;
 esac
 AM_CONDITIONAL(LIBGO_IS_DARWIN, test $is_darwin = yes)
 AM_CONDITIONAL(LIBGO_IS_FREEBSD, test $is_freebsd = yes)
@@ -148,6 +149,7 @@
 AM_CONDITIONAL(LIBGO_IS_NETBSD, test $is_netbsd = yes)
 AM_CONDITIONAL(LIBGO_IS_RTEMS, test $is_rtems = yes)
 AM_CONDITIONAL(LIBGO_IS_SOLARIS, test $is_solaris = yes)
+AM_CONDITIONAL(LIBGO_IS_GNU, test $is_gnu = yes)
 AC_SUBST(GOOS)
 
 dnl N.B. Keep in sync with gcc/testsuite/go.test/go-test.exp (go-set-goarch).

Reply to: