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

Updated patch FIXING IMPORTANT BUG on m68k



Hi,

please apply the attached patch instead, it unbreaks sem_wait()
used by boehm-gc/gcj on m68k. Diff to the previous one from
Andreas Schwab. (The jump from .1 to .4 is since I’ve had some
intermediate test versions.)

bye,
//mirabilos
-- 
Solange man keine schmutzigen Tricks macht, und ich meine *wirklich*
schmutzige Tricks, wie bei einer doppelt verketteten Liste beide
Pointer XORen und in nur einem Word speichern, funktioniert Boehm ganz
hervorragend.		-- Andreas Bogk über boehm-gc in d.a.s.r
diff -u eglibc-2.11.2/debian/changelog eglibc-2.11.2/debian/changelog
--- eglibc-2.11.2/debian/changelog
+++ eglibc-2.11.2/debian/changelog
@@ -1,3 +1,24 @@
+eglibc (2.11.2-7+m68k.4) unreleased; urgency=low
+
+  * debian/sysdeps/m68k.mk: set libc_MIN_KERNEL_SUPPORTED back
+    to 2.4.1 to retain compatibility code; version checking is
+    done in debian/debhelper.in/libc.preinst anyway so no harm
+  * debian/patches/m68k/local-fix-semaphore.diff: new from ML
+
+ -- Thorsten Glaser <tg@mirbsd.de>  Mon, 03 Jan 2011 00:08:37 +0000
+
+eglibc (2.11.2-7+m68k.1) unreleased; urgency=low
+
+  * debian/sysdeps/m68k.mk: switch m68k to TLS
+    - use nptl instead of linuxthreads
+    - remove libc_extra_config_options (all of them, we have __thread
+      and tls now; sanity checks were only disabled for linuxthreads)
+    - raise minimum kernel version to 2.6.16 and document why we can't
+      set it to 2.6.32 (Debian) yet which would be correct/desired
+  * debian/debhelper.in/libc.preinst: require 2.6.32 kernel on m68k
+
+ -- Thorsten Glaser <tg@mirbsd.de>  Mon, 01 Nov 2010 15:09:16 +0000
+
 eglibc (2.11.2-7) unstable; urgency=low
 
   [ Samuel Thibault ]
diff -u eglibc-2.11.2/debian/debhelper.in/libc.preinst eglibc-2.11.2/debian/debhelper.in/libc.preinst
--- eglibc-2.11.2/debian/debhelper.in/libc.preinst
+++ eglibc-2.11.2/debian/debhelper.in/libc.preinst
@@ -292,33 +292,22 @@
         mips*) realarch="mips";;
       esac
 
-      # The GNU libc requires a >= 2.6.18 kernel (except on m68k)
+      # The GNU libc requires a >= 2.6.32-3 Debian kernel on m68k
+      # for TLS, or a >= 2.6.18 kernel on all other architectures
       if [ "$realarch" != m68k ]
       then
-          if linux_compare_versions "$kernel_ver" lt 2.6.18
-          then
-              echo WARNING: this version of the GNU libc requires kernel version
-              echo 2.6.18 or later.  Please upgrade your kernel before installing
-              echo glibc.
-              kernel26_help
-
-              exit 1
-          fi
+          vmin=2.6.18
+      else
+          vmin=2.6.32
       fi
-
-      # The GNU libc is now built with --with-kernel= >= 2.4.1 on m68k
-      if [ "$realarch" = m68k ]
+      if linux_compare_versions "$kernel_ver" lt ${vmin}
       then
-          if linux_compare_versions "$kernel_ver" lt 2.4.1
-          then
-              echo WARNING: This version of glibc requires that you be running
-              echo kernel version 2.4.1 or later.  Earlier kernels contained
-              echo bugs that may render the system unusable if a modern version
-              echo of glibc is installed.
-              kernel26_help
+          echo WARNING: this version of the GNU libc requires kernel version
+          echo ${vmin} or later.  Please upgrade your kernel before installing
+          echo glibc.
+          kernel26_help
 
-              exit 1
-          fi
+          exit 1
       fi
 
       # From glibc 2.6-3 SPARC V8 support is dropped.
diff -u eglibc-2.11.2/debian/sysdeps/m68k.mk eglibc-2.11.2/debian/sysdeps/m68k.mk
--- eglibc-2.11.2/debian/sysdeps/m68k.mk
+++ eglibc-2.11.2/debian/sysdeps/m68k.mk
@@ -2,2 +2 @@
-libc_add-ons = ports linuxthreads $(add-ons)
-libc_extra_config_options = $(extra_config_options) --disable-sanity-checks --without-__thread --without-tls
+libc_add-ons = ports nptl $(add-ons)
diff -u eglibc-2.11.2/debian/patches/series eglibc-2.11.2/debian/patches/series
--- eglibc-2.11.2/debian/patches/series
+++ eglibc-2.11.2/debian/patches/series
@@ -159,6 +159,7 @@
 m68k/local-reloc.diff
 m68k/local-pthread_lock.diff
 m68k/submitted-gcc34-seccomment.diff
+m68k/local-fix-semaphore.diff
 
 mips/cvs-mips-atomic_h.diff
 mips/cvs-non-pic-n32-64-syscall.diff
only in patch2:
unchanged:
--- eglibc-2.11.2.orig/debian/patches/m68k/local-fix-semaphore.diff
+++ eglibc-2.11.2/debian/patches/m68k/local-fix-semaphore.diff
@@ -0,0 +1,32 @@
+From schwab@linux-m68k.org Sun Jan  2 20:08:54 2011
+From: Andreas Schwab <schwab@linux-m68k.org>
+Message-ID: <[🔎] m2bp3z5b77.fsf@igel.home>
+Date: Sun, 02 Jan 2011 20:59:08 +0100
+Subject: Re: Another gcj (boehm-gc?) related FTBFS for y’all to look at
+
+Please try this patch.
+
+Andreas.
+
+diff --git a/sysdeps/unix/sysv/linux/m68k/nptl/bits/semaphore.h b/sysdeps/unix/sysv/linux/m68k/nptl/bits/semaphore.h
+index 2950cc9..baaa9eb 100644
+--- a/ports/sysdeps/unix/sysv/linux/m68k/nptl/bits/semaphore.h
++++ b/ports/sysdeps/unix/sysv/linux/m68k/nptl/bits/semaphore.h
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2010 Free Software Foundation, Inc.
++/* Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
+ 
+@@ -32,5 +32,5 @@
+ typedef union
+ {
+   char __size[__SIZEOF_SEM_T];
+-  long int __align;
++  long int __align __attribute__ ((aligned (4)));
+ } sem_t;
+
+-- 
+Andreas Schwab, schwab@linux-m68k.org
+GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
+"And now for something completely different."

Reply to: