Skip to content

Commit

Permalink
Merge remote branch 'origin/master' into fedora/master
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Schwab committed Jan 15, 2010
2 parents e6073ee + 5306d36 commit 2384b50
Show file tree
Hide file tree
Showing 65 changed files with 6,917 additions and 430 deletions.
159 changes: 155 additions & 4 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,158 @@
2010-01-14 Ulrich Drepper <drepper@redhat.com>

[BZ #11027]
* sysdeps/generic/netinet/ip.h: Define IPTOS_CLASS_* macros according
to RFC 2474.
Patch by Philip Prindeville <philipp@redfish-solutions.com>.

[BZ #11141]
* resolv/res_send.c (reopen): Don't use IPv6 sockets for IPv4
addresses.

[BZ #11127]
* posix/regcomp.c (alc_eclosure_iter): Do not ignore
re_node_set_insert failure; return REG_ESPACE.
Patch by Paul Eggert.

* bits/confname.h: Make pre-C99-safe.

2010-01-14 Ryan S. Arnold <rsa@us.ibm.com>

* Makeconfig (+prector, +postctor, +prectorS, +postctorS): Add
$(sysdep-LDFLAGS) to pre and post ctors so that the proper .o
files are found by GCC.

2010-01-14 Ulrich Drepper <drepper@redhat.com>

* posix/unistd.h: Relax conditions for ualarm, usleep, getwd, vfork,
brk, and sbrk.

* string/strings.h: Relax condition for bcmp, bcopy, bzero, ffs,
index, and rindex.

* stdlib/stdlib.h: Relax conditions for *cvt functions and valloc.

* Versions.def: Add GLIBC_2.12 for libpthread.

[BZ #11126]
* malloc/malloc.c (malloc_info): Initialize malloc if not already
done. Handle empty bin lists.

* posix/unistd.h: Change getpagesize and getdtablesize declaration
visibility some more.

* resolv/netdb.h: Relax condition to elide obsolete resolver constants.

* posix/unistd.h: Declare getpagesize in _GNU_SOURCE mode.

[BZ #11120]
* sysdeps/x86_64/strcmp.S: Prevent silent errors should strncmp be
needed outside libc.

2010-01-13 Ulrich Drepper <drepper@redhat.com>

* stdlib/stdlib.h: Parameter of unsetenv must not be NULL.

2010-01-12 H.J. Lu <hongjiu.lu@intel.com>

* sysdeps/x86_64/multiarch/strlen.S: Unroll the loop.

2010-01-13 Ulrich Drepper <drepper@redhat.com>

* stdlib/stdlib.h: Be a bit more relaxed about obsoleted mktemp symbol.

2010-01-12 Ulrich Drepper <drepper@redhat.com>

* conform/data/complex.h-data: Test for POSIX2008.

* conform/data/ctype.h-data: Fix POSIX testing.

* conform/data/dirent.h-data: ino_t only needed for XSI.

* grp/grp.h: Declare getgrent and endgrent for XPG7.

* conform/data/inttypes.h-data: Use same types as the headers.

* resolv/netdb.h: Don't define old resolver macros for XPG7.

* conform/data/sys/uio.h-data: Don't exclude POSIX2008.

* conform/conformtest.pl: Implement tag for allow-header.
Fix newline handling in allow-header implementation.

* conform/data/time.h-data: Use allow-header instead of duplicating
information.

* conform/data/time.h-data: Allow sigevent tag.

* posix/sched.h: Define time_t and pid_t for XPG7.

2010-01-12 H.J. Lu <hongjiu.lu@intel.com>

* sysdeps/i386/i686/bcopy.S: New file.

* sysdeps/i386/i686/cacheinfo.c (__x86_64_data_cache_size): Define.

* sysdeps/i386/i686/memcpy.S (__memcpy_chk): Use ENTRY_CHK
and END_CHK.
* sysdeps/i386/i686/memmove.S (__memmove_chk): Likewise.
* sysdeps/i386/i686/mempcpy.S (__mempcpy_chk): Likewise.
* sysdeps/i386/i686/memset.S (__memset_chk): Likewise.

* sysdeps/i386/i686/memmove.S: Support USE_AS_BCOPY.

* sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 memmove-ssse3
memcpy-ssse3-rep mempcpy-ssse3-rep memmove-ssse3-rep
bcopy-ssse3 bcopy-ssse3-rep memset-sse2-rep bzero-sse2-rep
* sysdeps/i386/i686/multiarch/bcopy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/bcopy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/bcopy.S: New file.
* sysdeps/i386/i686/multiarch/bzero-sse2-rep.S: New file.
* sysdeps/i386/i686/multiarch/bzero-sse2.S: New file.
* sysdeps/i386/i686/multiarch/bzero.S: New file.
* sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/memcpy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/memcpy.S: New file.
* sysdeps/i386/i686/multiarch/memcpy_chk.S: New file.
* sysdeps/i386/i686/multiarch/memmove-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/memmove-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/memmove.S: New file.
* sysdeps/i386/i686/multiarch/memmove_chk.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy-ssse3-rep.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy-ssse3.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy.S: New file.
* sysdeps/i386/i686/multiarch/mempcpy_chk.S: New file.
* sysdeps/i386/i686/multiarch/memset-sse2-rep.S: New file.
* sysdeps/i386/i686/multiarch/memset-sse2.S: New file.
* sysdeps/i386/i686/multiarch/memset.S: New file.
* sysdeps/i386/i686/multiarch/memset_chk.S: New file.

* sysdeps/i386/sysdep.h (ENTRY_CHK): New.
(END_CHK): Likewise.

* sysdeps/i386/i686/multiarch/ifunc-defines.sym: Add
FEATURE_OFFSET, FEATURE_SIZE and FEATURE_INDEX_1.
* sysdeps/x86_64/multiarch/ifunc-defines.sym: Likewise.

* sysdeps/x86_64/cacheinfo.c (intel_02_cache_info): Add entries
for 0x0e and 0x80.
(__x86_64_data_cache_size): New.
(init_cacheinfo): Set __x86_64_data_cache_size.

* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Turn
on bit_Fast_Rep_String for Intel Core i7.

* sysdeps/x86_64/multiarch/init-arch.h (bit_Fast_Rep_String): New.
(index_Fast_Rep_String): Likewise.
(FEATURE_INDEX_1): Likewise.
(FEATURE_INDEX_MAX): Likewise.
(cpu_features): Add feature.

2010-01-12 Ulrich Drepper <drepper@redhat.com>

* conform/data/sys/select.h-data: Fix up for XPG7.

2010-01-12 Jakub Jelinek <jakub@redhat.com>

* posix/sys/wait.h: Don't define W* macros etc. if
Expand Down Expand Up @@ -47,10 +202,6 @@

* conform/data/unistd.h-data: lockf-constants Not needed for POSIX.

2010-01-11 Andreas Schwab <schwab@redhat.com>

* bits/confname.h: Remove trailing comma.

2010-01-10 Ulrich Drepper <drepper@redhat.com>

* sysdeps/unix/sysv/linux/bits/sigaction.h: SA_RESTART, SA_NODEFER,
Expand Down
8 changes: 4 additions & 4 deletions Makeconfig
Original file line number Diff line number Diff line change
Expand Up @@ -549,11 +549,11 @@ endif
ifeq ($(elf),yes)
+preinit = $(addprefix $(csu-objpfx),crti.o)
+postinit = $(addprefix $(csu-objpfx),crtn.o)
+prector = `$(CC) --print-file-name=crtbegin.o`
+postctor = `$(CC) --print-file-name=crtend.o`
+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
# Variants of the two previous definitions for linking PIE programs.
+prectorS = `$(CC) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) --print-file-name=crtendS.o`
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+interp = $(addprefix $(elf-objpfx),interp.os)
endif
csu-objpfx = $(common-objpfx)csu/
Expand Down
1 change: 1 addition & 0 deletions Versions.def
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ libpthread {
GLIBC_2.4
GLIBC_2.6
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE
}
libresolv {
Expand Down
5 changes: 3 additions & 2 deletions conform/conformtest.pl
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,7 @@ sub checknamespace {

open (ALLOW, "$CC -E -D$dialect - < data/$ah-data |");
acontrol: while (<ALLOW>) {
chop;
next acontrol if (/^#/);
next acontrol if (/^[ ]*$/);

Expand All @@ -1057,8 +1058,8 @@ sub checknamespace {
push @allow, $1;
} elsif (/^typed-constant *([a-zA-Z0-9_]*) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*)?/) {
push @allow, 1;
} elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) {
my($type) = "$2$3";
} elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
my($type) = "$3$4";

# Remember that this name is allowed.
if ($type =~ /^struct *(.*)/) {
Expand Down
2 changes: 1 addition & 1 deletion conform/data/complex.h-data
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifdef XOPEN2K
#if defined XOPEN2K || defined POSIX2008
macro complex
macro _Complex_I
optional-macro imaginary
Expand Down
18 changes: 9 additions & 9 deletions conform/data/ctype.h-data
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,9 @@ function int toascii (int)
// XPG says the following two are macros. But we test a bit more strictly.
function int _toupper (int)
function int _tolower (int)
#endif

// The following is not entirely correct. It should be is[a-z]* but the
// replacement fnmatch implementation does not grok it.
allow is*
allow to*

allow *_t

# if defined XOPEN2K8 || defined XOPEN2K8 || defined POSIX2008
# if defined XOPEN2K8 || defined POSIX2008
type locale_t

function int isalnum_l (int, locale_t)
Expand All @@ -44,4 +38,10 @@ function int isxdigit_l (int, locale_t)
function int tolower_l (int, locale_t)
function int toupper_l (int, locale_t)
# endif
#endif

// The following is not entirely correct. It should be is[a-z]* but the
// replacement fnmatch implementation does not grok it.
allow is*
allow to*

allow *_t
2 changes: 2 additions & 0 deletions conform/data/dirent.h-data
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ element {struct dirent} ino_t d_ino
# endif
element {struct dirent} char d_name []

# if !defined POSIX && !defined POSIX2008
type ino_t
#endif

function int closedir (DIR*)
function {DIR*} opendir (const char*)
Expand Down
4 changes: 2 additions & 2 deletions conform/data/inttypes.h-data
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ function intmax_t imaxabs (intmax_t)
function imaxdiv_t imaxdiv (intmax_t, intmax_t)
function intmax_t strtoimax (const char*, char**, int)
function uintmax_t strtoumax (const char*, char**, int)
function intmax_t wcstoimax (const wchar_t*, wchar_t**, int)
function uintmax_t wcstoumax (const wchar_t*, wchar_t**, int)
function intmax_t wcstoimax (const __gwchar_t*, __gwchar_t**, int)
function uintmax_t wcstoumax (const __gwchar_t*, __gwchar_t**, int)

allow PRI*
allow SCN*
Expand Down
12 changes: 7 additions & 5 deletions conform/data/sys/select.h-data
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,18 @@ element {struct timespec} time_t tv_sec
element {struct timespec} long tv_nsec

type fd_set
#if defined XPG3 || defined XPG4 || defined UNIX98
element fd_set long fds_bits []
#endif

function-macro void FD_CLR (int, fd_set*)
function-macro int FD_ISSET (int, fd_set*)
function-macro void FD_SET (int, fd_set*)
function-macro void FD_ZERO (fd_set*)
macro FD_CLR
macro FD_ISSET
macro FD_SET
macro FD_ZERO

macro FD_SETSIZE

#ifdef XOPEN2K
#if defined XOPEN2K || defined POSIX2008
function int pselect (int, fd_set*, fd_set*, fd_set*, const struct timespec*, const sigset_t*)
#endif
function int select (int, fd_set*, fd_set*, fd_set*, struct timeval*)
Expand Down
2 changes: 1 addition & 1 deletion conform/data/sys/uio.h-data
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#if !defined ISO && !defined POSIX && !defined POSIX2008
#if !defined ISO && !defined POSIX
type {struct iovec}

element {struct iovec} {void*} iov_base
Expand Down
1 change: 1 addition & 0 deletions conform/data/time.h-data
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,4 @@ allow tv_*
allow CLOCK_*
allow TIMER_*
allow *_t
allow sigevent
6 changes: 5 additions & 1 deletion grp/grp.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/* Copyright (C) 1991,1992,1995-2001,2003,2004 Free Software Foundation, Inc.
/* Copyright (C) 1991,1992,1995-2001,2003,2004,2010
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 @@ -61,7 +62,10 @@ struct group
This function is a possible cancellation point and therefore not
marked with __THROW. */
extern void setgrent (void);
#endif

#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED \
|| defined __USE_XOPEN2K8
/* Close the group-file stream.
This function is a possible cancellation point and therefore not
Expand Down
41 changes: 24 additions & 17 deletions malloc/malloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -6369,16 +6369,19 @@ malloc_info (int options, FILE *fp)

mbinptr bin = bin_at (ar_ptr, 1);
struct malloc_chunk *r = bin->fd;
while (r != bin)
if (r != NULL)
{
++sizes[NFASTBINS].count;
sizes[NFASTBINS].total += r->size;
sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size);
sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size);
r = r->fd;
while (r != bin)
{
++sizes[NFASTBINS].count;
sizes[NFASTBINS].total += r->size;
sizes[NFASTBINS].from = MIN (sizes[NFASTBINS].from, r->size);
sizes[NFASTBINS].to = MAX (sizes[NFASTBINS].to, r->size);
r = r->fd;
}
nblocks += sizes[NFASTBINS].count;
avail += sizes[NFASTBINS].total;
}
nblocks += sizes[NFASTBINS].count;
avail += sizes[NFASTBINS].total;

for (size_t i = 2; i < NBINS; ++i)
{
Expand All @@ -6388,17 +6391,18 @@ malloc_info (int options, FILE *fp)
sizes[NFASTBINS - 1 + i].to = sizes[NFASTBINS - 1 + i].total
= sizes[NFASTBINS - 1 + i].count = 0;

while (r != bin)
{
++sizes[NFASTBINS - 1 + i].count;
sizes[NFASTBINS - 1 + i].total += r->size;
sizes[NFASTBINS - 1 + i].from = MIN (sizes[NFASTBINS - 1 + i].from,
if (r != NULL)
while (r != bin)
{
++sizes[NFASTBINS - 1 + i].count;
sizes[NFASTBINS - 1 + i].total += r->size;
sizes[NFASTBINS - 1 + i].from
= MIN (sizes[NFASTBINS - 1 + i].from, r->size);
sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
r->size);
sizes[NFASTBINS - 1 + i].to = MAX (sizes[NFASTBINS - 1 + i].to,
r->size);

r = r->fd;
}
r = r->fd;
}

if (sizes[NFASTBINS - 1 + i].count == 0)
sizes[NFASTBINS - 1 + i].from = 0;
Expand Down Expand Up @@ -6460,6 +6464,9 @@ malloc_info (int options, FILE *fp)
fputs ("</heap>\n", fp);
}

if(__malloc_initialized < 0)
ptmalloc_init ();

fputs ("<malloc version=\"1\">\n", fp);

/* Iterate over all arenas currently in use. */
Expand Down
Loading

0 comments on commit 2384b50

Please sign in to comment.