Skip to content

Commit

Permalink
Updated to fedora-glibc-20060306T0720
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakub Jelinek committed Mar 6, 2006
1 parent 51d2f6d commit b3643a3
Show file tree
Hide file tree
Showing 59 changed files with 953 additions and 752 deletions.
118 changes: 112 additions & 6 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,20 +1,126 @@
2006-03-02 Jakub Jelinek <jakub@redhat.com>
2006-03-05 Roland McGrath <roland@redhat.com>

* malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double)
if long double is more aligned than 2 * SIZE_SZ.
(misaligned_chunk): Define.
(public_rEALLOc, _int_free, _int_realloc): Use it.
* malloc/malloc.c (MALLOC_ALIGNMENT): Revert to (2 * SIZE_SZ) value.
The correct value differs only on powerpc32, and for now changing it
there is causing more trouble than it's worth.

* malloc/arena.c: Add compile-time sanity check on padding calculation.

2006-03-05 Jakub Jelinek <jakub@redhat.com>

* malloc/arena.c (heap_info): Adjust the padding size if
MALLOC_ALIGNMENT > 2 * SIZE_SZ.

2006-03-05 Roland McGrath <roland@frob.com>

* sysdeps/posix/sysconf.c (__sysconf): Use #if _POSIX_FOO > 0
rather than #ifdef _POSIX_FOO for options. We should return -1
at runtime for an option defined to 0 at compile time.

* sysdeps/mach/hurd/bits/posix_opt.h: Define many missing options,
many to -1 or 0.

2006-03-05 Roland McGrath <roland@redhat.com>

* sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
[__NR_clock_getres || HP_TIMING_AVAIL]: Handle _SC_CPUTIME,
_SC_THREAD_CPUTIME.

2006-03-05 David S. Miller <davem@sunset.davemloft.net>

* sysdeps/sparc/sparc32/dl-trampoline.S: Add CFI markings.
* sysdeps/sparc/sparc32/elf/start.S: Likewise.
* sysdeps/sparc/sparc64/dl-trampoline.S: Likewise.
* sysdeps/sparc/sparc64/elf/start.S: Likewise.
* sysdeps/sparc/sparc32/memchr.S: Rearrange code to reside
within ENTRY/END.
* sysdeps/sparc/sparc32/memcpy.S: Likewise.
* sysdeps/sparc/sparc32/stpcpy.S: Likewise.
* sysdeps/sparc/sparc32/strcat.S: Likewise.
* sysdeps/sparc/sparc32/strchr.S: Likewise.
* sysdeps/sparc/sparc32/strcmp.S: Likewise.
* sysdeps/sparc/sparc32/strcpy.S: Likewise.
* sysdeps/sparc/sparc32/strlen.S: Likewise.
* sysdeps/sparc/sparc64/memcpy.S: Likewise.
* sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Add CFI markings
and use __syscall_error.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S: Use __syscall_error.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Rewrite to use
CFI markings and __syscall_error.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S: Rearrange
code to reside within ENTRY/END.
* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.c: New file.
* sysdeps/unix/sysv/linux/sparc/sysdep.S: File removed.
* sysdeps/unix/sysv/linux/sparc/rt-sysdep.c: New file.
* sysdeps/unix/sysv/linux/sparc/Makefile (librt-routines): Add it.

* shlib-versions: Use sparc64.*- for CPU patterns.

2006-03-05 Roland McGrath <roland@frob.com>

* bits/resource.h (RLIMIT_SBSIZE, RLIMIT_AS, RLIMIT_VMEM): Define.

* sysdeps/mach/hurd/fdopendir.c (__fdopendir): Use O_DIRECTORY
to force directory check.
* sysdeps/mach/hurd/opendir.c (__opendir): Likewise.

2006-03-04 Roland McGrath <roland@frob.com>

* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Make sure high bits
of SEL are clear after copying %gs to low bits.
(_hurd_tls_fork): Likewise.

2006-03-03 Roland McGrath <roland@redhat.com>

[BZ #2414]
* stdlib/tst-setcontext.c (f1): Take arguments of type int.

2006-03-02 Roland McGrath <roland@redhat.com>

* sysdeps/unix/alpha/sysdep.h (PTR_MANGLE): Use __typeof in cast.

2006-03-02 Daniel Jacobowitz <dan@codesourcery.com>

* sysdeps/unix/sysv/linux/configure.in: Remove MIPS cases. Allow
libc_cv_slibdir et al. to be overridden.
* sysdeps/unix/sysv/linux/configure: Regenerated.

2005-12-27 Jakub Jelinek <jakub@redhat.com>

* elf/ldconfig.c (search_dir): Skip prelink temporaries.

2006-03-02 H.J. Lu <hongjiu.lu@intel.com>

* elf/check-textrel.c: Don't include "config.h".

2006-03-02 Jakub Jelinek <jakub@redhat.com>

* io/ftw.c (process_entry): If dir->streamfd != -1,
use FXSTATAT rather than LXSTAT to find if unstatable
file is a dead symlink.

* elf/check-textrel.c: Include config.h.
(AB(handle_file)): Don't fail if PF_X | PF_W on architectures known
to have executable writable PLT.
* sysdeps/powerpc/powerpc32/configure.in (HAVE_PPC_SECURE_PLT): New
test.
* sysdeps/powerpc/powerpc32/configure: Rebuilt.
* config.h.in (HAVE_PPC_SECURE_PLT): Add.

* malloc/malloc.c (MALLOC_ALIGNMENT): Set to __alignof__ (long double)
if long double is more aligned than 2 * SIZE_SZ.
(misaligned_chunk): Define.
(public_rEALLOc, _int_free, _int_realloc): Use it.

2006-01-05 H.J. Lu <hongjiu.lu@intel.com>

[BZ #2013]
Expand Down
10 changes: 9 additions & 1 deletion bits/resource.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Bit values & structures for resource limits. 4.4 BSD/generic GNU version.
Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1994,1996,1997,1998,2006 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
Expand Down Expand Up @@ -63,6 +63,14 @@ enum __rlimit_resource
RLIMIT_NOFILE = RLIMIT_OFILE, /* Another name for the same thing. */
#define RLIMIT_OFILE RLIMIT_OFILE
#define RLIMIT_NOFILE RLIMIT_NOFILE
/* Maximum size of all socket buffers. */
RLIMIT_SBSIZE,
#define RLIMIT_SBSIZE RLIMIT_SBSIZE
/* Maximum size in bytes of the process address space. */
RLIMIT_AS,
RLIMIT_VMEM = RLIMIT_AS, /* Another name for the same thing. */
#define RLIMIT_AS RLIMIT_AS
#define RLIMIT_VMEM RLIMIT_AS

RLIMIT_NLIMITS, /* Number of limit flavors. */
RLIM_NLIMITS = RLIMIT_NLIMITS /* Traditional name for same. */
Expand Down
4 changes: 2 additions & 2 deletions fedora/branch.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-fc4
fedora-sync-date := 2006-03-02 08:55 UTC
fedora-sync-tag := fedora-glibc-20060302T0855
fedora-sync-date := 2006-03-06 07:20 UTC
fedora-sync-tag := fedora-glibc-20060306T0720
9 changes: 8 additions & 1 deletion fedora/glibc.spec.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
%define glibcrelease 1
%define glibcrelease 2
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define xenarches i686 athlon
Expand Down Expand Up @@ -1332,6 +1332,13 @@ rm -f *.filelist*
%endif

%changelog
* Mon Mar 6 2006 Jakub Jelinek <jakub@redhat.com> 2.3.91-2
- update from CVS
- fix sYSMALLOc for MALLOC_ALIGNMENT > 2 * SIZE_SZ (#183895)
- revert ppc32 malloc alignment patch, it breaks malloc_set_state
and needs some further thoughts and time (#183894)
- provide accurate unwind info for lowlevellock.h stubs on x86_64

* Thu Mar 2 2006 Jakub Jelinek <jakub@redhat.com> 2.3.91-1
- update from CVS
- fixes for various arches
Expand Down
19 changes: 14 additions & 5 deletions io/ftw.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,13 +419,22 @@ process_entry (struct ftw_data *data, struct dir_data *dir, const char *name,
{
if (errno != EACCES && errno != ENOENT)
result = -1;
else if (!(data->flags & FTW_PHYS)
&& (d_type == DT_LNK
|| (LXSTAT (_STAT_VER, name, &st) == 0
&& S_ISLNK (st.st_mode))))
else if (data->flags & FTW_PHYS)
flag = FTW_NS;
else if (d_type == DT_LNK)
flag = FTW_SLN;
else
flag = FTW_NS;
{
if (dir->streamfd != -1)
statres = FXSTATAT (_STAT_VER, dir->streamfd, name, &st,
AT_SYMLINK_NOFOLLOW);
else
statres = LXSTAT (_STAT_VER, name, &st);
if (statres == 0 && S_ISLNK (st.st_mode))
flag = FTW_SLN;
else
flag = FTW_NS;
}
}
else
{
Expand Down
13 changes: 11 additions & 2 deletions malloc/arena.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Malloc implementation for multiple threads without lock contention.
Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
Expand Down Expand Up @@ -55,9 +55,18 @@ typedef struct _heap_info {
mstate ar_ptr; /* Arena for this heap. */
struct _heap_info *prev; /* Previous heap. */
size_t size; /* Current size in bytes. */
size_t pad; /* Make sure the following data is properly aligned. */
/* Make sure the following data is properly aligned, particularly
that sizeof (heap_info) + 2 * SIZE_SZ is a multiple of
MALLOG_ALIGNMENT. */
char pad[-5 * SIZE_SZ & MALLOC_ALIGN_MASK];
} heap_info;

/* Get a compile-time error if the heap_info padding is not correct
to make alignment work as expected in sYSMALLOc. */
extern int sanity_check_heap_info_alignment[(sizeof (heap_info)
+ 2 * SIZE_SZ) % MALLOC_ALIGNMENT
? -1 : 1];

/* Thread specific data */

static tsd_key_t arena_key;
Expand Down
10 changes: 9 additions & 1 deletion malloc/malloc.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Malloc implementation for multiple threads without lock contention.
Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1996-2002,2003,2004,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Wolfram Gloger <wg@malloc.de>
and Doug Lea <dl@cs.oswego.edu>, 2001.
Expand Down Expand Up @@ -381,8 +381,16 @@ extern "C" {


#ifndef MALLOC_ALIGNMENT
/* XXX This is the correct definition. It differs from 2*SIZE_SZ only on
powerpc32. For the time being, changing this is causing more
compatibility problems due to malloc_get_state/malloc_set_state than
will returning blocks not adequately aligned for long double objects
under -mlong-double-128.
#define MALLOC_ALIGNMENT (2 * SIZE_SZ < __alignof__ (long double) \
? __alignof__ (long double) : 2 * SIZE_SZ)
*/
#define MALLOC_ALIGNMENT (2 * SIZE_SZ)
#endif

/* The corresponding bit mask value */
Expand Down
20 changes: 20 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
2006-03-05 Roland McGrath <roland@redhat.com>

* configure (libc_add_on): Disable add-on when $add_ons_automatic = yes
and $config_os doesn't match *linux*.

2006-03-05 David S. Miller <davem@sunset.davemloft.net>

* sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S:
Use __syscall_error.
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/pt-vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/Makefile: New file.

2006-03-02 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/aio_misc.h: Various cleanups.

2006-03-01 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
Expand Down
8 changes: 8 additions & 0 deletions nptl/configure
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@
# as a subdirectory to search for in other add-ons' sysdeps trees.

libc_add_on_canonical=nptl

# Only linux configurations support NPTL.
if test $add_ons_automatic = yes; then
case "$config_os" in
*linux*) ;;
*) libc_add_on= ;;
esac
fi
11 changes: 6 additions & 5 deletions nptl/sysdeps/unix/sysv/linux/aio_misc.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2004 Free Software Foundation, Inc.
/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
Expand All @@ -19,10 +19,10 @@

#ifndef _AIO_MISC_H
# include_next <aio_misc.h>
# include <limits.h>
# include <pthread.h>
# include <signal.h>
# include <sysdep.h>
# include <pthread.h>
# include <limits.h>

# define aio_start_notify_thread __aio_start_notify_thread
# define aio_create_helper_thread __aio_create_helper_thread
Expand All @@ -37,7 +37,8 @@ __aio_start_notify_thread (void)
}

extern inline int
__aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), void *arg)
__aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
void *arg)
{
pthread_attr_t attr;

Expand All @@ -64,5 +65,5 @@ __aio_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), void *arg)

(void) pthread_attr_destroy (&attr);
return ret;
}
}
#endif
2 changes: 2 additions & 0 deletions nptl/sysdeps/unix/sysv/linux/sparc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# pull in __syscall_error routine
libpthread-routines += sysdep
13 changes: 8 additions & 5 deletions nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,25 @@
#include <tcb-offsets.h>

.text
.globl __syscall_error
ENTRY(__vfork)
ld [%g7 + PID], %o5
sub %g0, %o5, %o4
st %o4, [%g7 + PID]

LOADSYSCALL(vfork)
ta 0x10
bcs,a __syscall_error_handler
st %o5, [%g7 + PID]
SYSCALL_ERROR_HANDLER
sub %o1, 1, %o1
bcc 2f
mov %o7, %g1
st %o5, [%g7 + PID]
call __syscall_error
mov %g1, %o7
2: sub %o1, 1, %o1
andcc %o0, %o1, %o0
bne,a 1f
st %o5, [%g7 + PID]
1: retl
nop
END(__vfork)

PSEUDO_END (__vfork)
weak_alias (__vfork, vfork)
Loading

0 comments on commit b3643a3

Please sign in to comment.