* version.h (VERSION): Define to 6.
* include/features.h (__GLIBC_MINOR__): Likewise.
This commit is contained in:
parent
83d87915da
commit
2c1d617226
|
@ -1,5 +1,8 @@
|
||||||
2007-05-14 Ulrich Drepper <drepper@redhat.com>
|
2007-05-14 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* version.h (VERSION): Define to 6.
|
||||||
|
* include/features.h (__GLIBC_MINOR__): Likewise.
|
||||||
|
|
||||||
* malloc/malloc.c: Use all small bin slots on 64-bit archs.
|
* malloc/malloc.c: Use all small bin slots on 64-bit archs.
|
||||||
|
|
||||||
* malloc/malloc.c (largebin_index): Really have 32 buckets with 64
|
* malloc/malloc.c (largebin_index): Really have 32 buckets with 64
|
||||||
|
|
4
README
4
README
|
@ -1,4 +1,4 @@
|
||||||
This directory contains the version 2.5 release of the GNU C Library.
|
This directory contains the version 2.6 release of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is the standard system C library for all GNU systems,
|
The GNU C Library is the standard system C library for all GNU systems,
|
||||||
and is an important part of what makes up a GNU system. It provides the
|
and is an important part of what makes up a GNU system. It provides the
|
||||||
|
@ -52,7 +52,7 @@ The GNU C Library supports these configurations for using Linux kernels:
|
||||||
|
|
||||||
The code for other CPU configurations supported by volunteers outside of
|
The code for other CPU configurations supported by volunteers outside of
|
||||||
the core glibc maintenance effort is contained in the separate `ports'
|
the core glibc maintenance effort is contained in the separate `ports'
|
||||||
add-on. You can find glibc-ports-2.5 distributed separately in the
|
add-on. You can find glibc-ports-2.6 distributed separately in the
|
||||||
same place where you got the main glibc distribution files.
|
same place where you got the main glibc distribution files.
|
||||||
Currently these configurations are known to work using the `ports' add-on:
|
Currently these configurations are known to work using the `ports' add-on:
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
/* Copyright (C) 1991,1992,1993,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
|
/* Copyright (C) 1991,1992,1993,1995-2006,2007 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
@ -304,7 +303,7 @@
|
||||||
/* Major and minor version number of the GNU C library package. Use
|
/* Major and minor version number of the GNU C library package. Use
|
||||||
these macros to test for features in specific releases. */
|
these macros to test for features in specific releases. */
|
||||||
#define __GLIBC__ 2
|
#define __GLIBC__ 2
|
||||||
#define __GLIBC_MINOR__ 5
|
#define __GLIBC_MINOR__ 6
|
||||||
|
|
||||||
#define __GLIBC_PREREQ(maj, min) \
|
#define __GLIBC_PREREQ(maj, min) \
|
||||||
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
|
||||||
|
|
|
@ -1,12 +1,5 @@
|
||||||
2007-05-14 Ulrich Drepper <drepper@redhat.com>
|
2007-05-14 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/sem_post.c: Only wake threads if old
|
|
||||||
value of semaphore was zero.
|
|
||||||
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
|
|
||||||
* sysdeps/unix/sysv/linux/powerpc/sem_post.c: Likewise.
|
|
||||||
* sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: Likewise.
|
|
||||||
* sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise.
|
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Remove unnecessary
|
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Remove unnecessary
|
||||||
extra cancellation test.
|
extra cancellation test.
|
||||||
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
|
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
|
||||||
|
|
15
nptl/TODO
15
nptl/TODO
|
@ -14,3 +14,18 @@ syscall needed.
|
||||||
|
|
||||||
- test with threaded process terminating and semadj (?) being applied
|
- test with threaded process terminating and semadj (?) being applied
|
||||||
only after all threads are gone
|
only after all threads are gone
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- semaphore changes:
|
||||||
|
|
||||||
|
- sem_post should only wake one thread and only when the state of
|
||||||
|
the semaphore changed from 0 to 1
|
||||||
|
|
||||||
|
this also requires that sem_wait and sem_timedwait don't drop the
|
||||||
|
post if they get canceled.
|
||||||
|
|
||||||
|
- possibly add counter field. This requires reviving the
|
||||||
|
differences between old and new semaphose funtions. The old ones
|
||||||
|
stay as they are now. The new once can use an additional field
|
||||||
|
wich is the counter for the number of waiters
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
|
/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||||
|
|
||||||
|
@ -44,12 +44,9 @@ __new_sem_post:
|
||||||
LOCK
|
LOCK
|
||||||
xaddl %edx, (%ebx)
|
xaddl %edx, (%ebx)
|
||||||
|
|
||||||
testl %edx, %edx
|
|
||||||
jne 2f
|
|
||||||
|
|
||||||
movl $SYS_futex, %eax
|
movl $SYS_futex, %eax
|
||||||
movl $FUTEX_WAKE, %ecx
|
movl $FUTEX_WAKE, %ecx
|
||||||
movl $1, %edx
|
addl $1, %edx
|
||||||
ENTER_KERNEL
|
ENTER_KERNEL
|
||||||
|
|
||||||
testl %eax, %eax
|
testl %eax, %eax
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* sem_post -- post to a POSIX semaphore. Powerpc version.
|
/* sem_post -- post to a POSIX semaphore. Powerpc version.
|
||||||
Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
|
Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
|
||||||
|
|
||||||
|
@ -32,14 +32,12 @@ __new_sem_post (sem_t *sem)
|
||||||
int *futex = (int *) sem;
|
int *futex = (int *) sem;
|
||||||
|
|
||||||
__asm __volatile (__lll_rel_instr ::: "memory");
|
__asm __volatile (__lll_rel_instr ::: "memory");
|
||||||
if (atomic_increment_val (futex) == 1)
|
int nr = atomic_increment_val (futex);
|
||||||
|
int err = lll_futex_wake (futex, nr);
|
||||||
|
if (__builtin_expect (err, 0) < 0)
|
||||||
{
|
{
|
||||||
int err = lll_futex_wake (futex, 1);
|
__set_errno (-err);
|
||||||
if (__builtin_expect (err, 0) < 0)
|
return -1;
|
||||||
{
|
|
||||||
__set_errno (-err);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* sem_post -- post to a POSIX semaphore. Generic futex-using version.
|
/* sem_post -- post to a POSIX semaphore. Generic futex-using version.
|
||||||
Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
|
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
|
||||||
|
|
||||||
|
@ -31,14 +31,12 @@ __new_sem_post (sem_t *sem)
|
||||||
{
|
{
|
||||||
int *futex = (int *) sem;
|
int *futex = (int *) sem;
|
||||||
|
|
||||||
if (atomic_increment_val (futex) == 1)
|
int nr = atomic_increment_val (futex);
|
||||||
|
int err = lll_futex_wake (futex, nr);
|
||||||
|
if (__builtin_expect (err, 0) < 0)
|
||||||
{
|
{
|
||||||
int err = lll_futex_wake (futex, 1);
|
__set_errno (-err);
|
||||||
if (__builtin_expect (err, 0) < 0)
|
return -1;
|
||||||
{
|
|
||||||
__set_errno (-err);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* sem_post -- post to a POSIX semaphore. SPARC version.
|
/* sem_post -- post to a POSIX semaphore. SPARC version.
|
||||||
Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
|
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
|
||||||
|
|
||||||
|
@ -39,14 +39,11 @@ __new_sem_post (sem_t *sem)
|
||||||
nr = ++*futex;
|
nr = ++*futex;
|
||||||
__sparc32_atomic_do_unlock24 (futex + 1);
|
__sparc32_atomic_do_unlock24 (futex + 1);
|
||||||
}
|
}
|
||||||
if (nr == 1)
|
int err = lll_futex_wake (futex, nr);
|
||||||
|
if (__builtin_expect (err, 0) < 0)
|
||||||
{
|
{
|
||||||
int err = lll_futex_wake (futex, 1);
|
__set_errno (-err);
|
||||||
if (__builtin_expect (err, 0) < 0)
|
return -1;
|
||||||
{
|
|
||||||
__set_errno (-err);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
|
/* Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||||
|
|
||||||
|
@ -41,18 +41,15 @@ sem_post:
|
||||||
LOCK
|
LOCK
|
||||||
xaddl %edx, (%rdi)
|
xaddl %edx, (%rdi)
|
||||||
|
|
||||||
testl %edx, %edx
|
|
||||||
jne 2f
|
|
||||||
|
|
||||||
movl $SYS_futex, %eax
|
movl $SYS_futex, %eax
|
||||||
movl $FUTEX_WAKE, %esi
|
movl $FUTEX_WAKE, %esi
|
||||||
movl $1, %edx
|
incl %edx
|
||||||
syscall
|
syscall
|
||||||
|
|
||||||
testq %rax, %rax
|
testq %rax, %rax
|
||||||
js 1f
|
js 1f
|
||||||
|
|
||||||
2: xorl %eax, %eax
|
xorl %eax, %eax
|
||||||
retq
|
retq
|
||||||
|
|
||||||
1:
|
1:
|
||||||
|
|
Loading…
Reference in New Issue