mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 05:50:14 +00:00
* 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>
|
||||
|
||||
* 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
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,
|
||||
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:
|
||||
|
||||
|
@ -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))
|
||||
|
@ -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.
|
||||
|
15
nptl/TODO
15
nptl/TODO
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user