* version.h (VERSION): Define to 6.

* include/features.h (__GLIBC_MINOR__): Likewise.
This commit is contained in:
Ulrich Drepper 2007-05-15 06:49:29 +00:00
parent 83d87915da
commit 2c1d617226
11 changed files with 46 additions and 49 deletions

View File

@ -1,5 +1,8 @@
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 (largebin_index): Really have 32 buckets with 64

4
README
View File

@ -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,
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 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.
Currently these configurations are known to work using the `ports' add-on:

View File

@ -1,5 +1,4 @@
/* Copyright (C) 1991,1992,1993,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
Free Software Foundation, Inc.
/* Copyright (C) 1991,1992,1993,1995-2006,2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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
these macros to test for features in specific releases. */
#define __GLIBC__ 2
#define __GLIBC_MINOR__ 5
#define __GLIBC_MINOR__ 6
#define __GLIBC_PREREQ(maj, min) \
((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))

View File

@ -1,12 +1,5 @@
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
extra cancellation test.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.

View File

@ -14,3 +14,18 @@ syscall needed.
- test with threaded process terminating and semadj (?) being applied
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

View File

@ -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.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@ -44,12 +44,9 @@ __new_sem_post:
LOCK
xaddl %edx, (%ebx)
testl %edx, %edx
jne 2f
movl $SYS_futex, %eax
movl $FUTEX_WAKE, %ecx
movl $1, %edx
addl $1, %edx
ENTER_KERNEL
testl %eax, %eax

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
@ -32,14 +32,12 @@ __new_sem_post (sem_t *sem)
int *futex = (int *) sem;
__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);
if (__builtin_expect (err, 0) < 0)
{
__set_errno (-err);
return -1;
}
__set_errno (-err);
return -1;
}
return 0;
}

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@ -31,14 +31,12 @@ __new_sem_post (sem_t *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);
if (__builtin_expect (err, 0) < 0)
{
__set_errno (-err);
return -1;
}
__set_errno (-err);
return -1;
}
return 0;
}

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
@ -39,14 +39,11 @@ __new_sem_post (sem_t *sem)
nr = ++*futex;
__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);
if (__builtin_expect (err, 0) < 0)
{
__set_errno (-err);
return -1;
}
__set_errno (-err);
return -1;
}
return 0;
}

View File

@ -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.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@ -41,18 +41,15 @@ sem_post:
LOCK
xaddl %edx, (%rdi)
testl %edx, %edx
jne 2f
movl $SYS_futex, %eax
movl $FUTEX_WAKE, %esi
movl $1, %edx
incl %edx
syscall
testq %rax, %rax
js 1f
2: xorl %eax, %eax
xorl %eax, %eax
retq
1:

View File

@ -1,4 +1,4 @@
/* This file just defines the current version number of libc. */
#define RELEASE "development"
#define VERSION "2.5.90"
#define RELEASE "stable"
#define VERSION "2.6"