r1362 - in glibc-package/trunk/debian: . patches patches/i386 sysdeps
Author: aurel32
Date: 2006-04-09 00:42:32 +0000 (Sun, 09 Apr 2006)
New Revision: 1362
Added:
glibc-package/trunk/debian/patches/i386/local-i486_ldt_support.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
glibc-package/trunk/debian/sysdeps/i386.mk
Log:
* Add i386/local-i486_ldt_support.diff (add ldt support and thus TLS support
on i486 machines). Thanks to Petr Salinger for the hint. (Closes: 226716)
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2006-04-09 00:41:52 UTC (rev 1361)
+++ glibc-package/trunk/debian/changelog 2006-04-09 00:42:32 UTC (rev 1362)
@@ -18,6 +18,8 @@
- s390: from 2.2.10 to 2.4.0
- sparc: from 2.2.0 to 2.4.0
(Closes: #174270, #220992)
+ * Add i386/local-i486_ldt_support.diff (add ldt support and thus TLS support
+ on i486 machines). Thanks to Petr Salinger for the hint. (Closes: 226716)
[ Denis Barbier ]
* debian/debhelper.in/locales.config: /etc/locale.gen was not generated at
Added: glibc-package/trunk/debian/patches/i386/local-i486_ldt_support.diff
===================================================================
--- glibc-package/trunk/debian/patches/i386/local-i486_ldt_support.diff 2006-04-09 00:41:52 UTC (rev 1361)
+++ glibc-package/trunk/debian/patches/i386/local-i486_ldt_support.diff 2006-04-09 00:42:32 UTC (rev 1362)
@@ -0,0 +1,79 @@
+--- libc/linuxthreads/sysdeps/i386/i486/pt-machine.h 2003-01-05 00:24:33.937401424 +0100
++++ libc/linuxthreads/sysdeps/i386/i486/pt-machine.h 2004-10-19 07:12:59.000000000 +0200
+@@ -0,0 +1,76 @@
++/* Machine-dependent pthreads configuration and inline functions.
++ i486 version.
++ Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Richard Henderson <rth@tamu.edu>.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public License as
++ published by the Free Software Foundation; either version 2.1 of the
++ License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; see the file COPYING.LIB. If not,
++ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ Boston, MA 02111-1307, USA. */
++
++#ifndef _PT_MACHINE_H
++#define _PT_MACHINE_H 1
++
++#ifndef PT_EI
++# define PT_EI extern inline __attribute__ ((always_inline))
++#endif
++#include "kernel-features.h"
++
++#ifndef __ASSEMBLER__
++extern long int testandset (int *spinlock);
++extern int __compare_and_swap (long int *p, long int oldval, long int newval);
++
++/* Get some notion of the current stack. Need not be exactly the top
++ of the stack, just something somewhere in the current frame. */
++#define CURRENT_STACK_FRAME __builtin_frame_address (0)
++
++
++/* Spinlock implementation; required. */
++PT_EI long int
++testandset (int *spinlock)
++{
++ long int ret;
++
++ __asm__ __volatile__ (
++ "xchgl %0, %1"
++ : "=r" (ret), "=m" (*spinlock)
++ : "0" (1), "m" (*spinlock)
++ : "memory");
++
++ return ret;
++}
++
++
++/* Compare-and-swap for semaphores. It's always available on i686. */
++#define HAS_COMPARE_AND_SWAP
++
++PT_EI int
++__compare_and_swap (long int *p, long int oldval, long int newval)
++{
++ char ret;
++ long int readval;
++
++ __asm__ __volatile__ ("lock; cmpxchgl %3, %1; sete %0"
++ : "=q" (ret), "=m" (*p), "=a" (readval)
++ : "r" (newval), "m" (*p), "a" (oldval)
++ : "memory");
++ return ret;
++}
++#endif
++
++#if __ASSUME_LDT_WORKS > 0
++#include "../useldt.h"
++#endif
++
++#endif /* pt-machine.h */
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2006-04-09 00:41:52 UTC (rev 1361)
+++ glibc-package/trunk/debian/patches/series 2006-04-09 00:42:32 UTC (rev 1362)
@@ -77,6 +77,7 @@
hurd-i386/submitted-ioctl-decode-argument.diff -p0
hurd-i386/submitted-sysvshm.diff -p1
+i386/local-i486_ldt_support.diff -p0
i386/local-biarch.diff -p1
i386/local-cmov.diff -p0
i386/local-sse-oldkernel.diff -p0
Modified: glibc-package/trunk/debian/sysdeps/i386.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/i386.mk 2006-04-09 00:41:52 UTC (rev 1361)
+++ glibc-package/trunk/debian/sysdeps/i386.mk 2006-04-09 00:42:32 UTC (rev 1362)
@@ -20,8 +20,6 @@
i686_MIN_KERNEL_SUPPORTED = 2.6.0
i686_extra_config_options = $(extra_config_options) --disable-profile
-libc_extra_config_options = $(extra_config_options) --without-__thread
-
# build 64-bit (amd64) alternative library
GLIBC_PASSES += amd64
DEB_ARCH_REGULAR_PACKAGES += libc6-amd64 libc6-dev-amd64
Reply to: