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 Jun 15, 2010
2 parents 16552c0 + 765ade4 commit 7314e37
Show file tree
Hide file tree
Showing 24 changed files with 2,450 additions and 50 deletions.
52 changes: 52 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
2010-06-07 Andreas Schwab <schwab@redhat.com>

* dlfcn/Makefile: Remove explicit dependencies on libc.so and
libc_nonshared.a from targets in modules-names.

2010-06-02 Kirill A. Shutemov <kirill@shutemov.name>

* elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch
requires it.

2010-06-10 Luis Machado <luisgpm@br.ibm.com>

* sysdeps/powerpc/powerpc32/power7/memcmp.S: New file
* sysdeps/powerpc/powerpc64/power7/memcmp.S: New file.
* sysdeps/powerpc/powerpc32/power7/strncmp.S: New file.
* sysdeps/powerpc/powerpc64/power7/strncmp.S: New file.

2010-06-02 Andreas Schwab <schwab@redhat.com>

* nis/nss_nis/nis-initgroups.c (get_uid): Properly resize buffer.

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

* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Define F_SETPIPE_SZ
and F_GETPIPE_SZ.
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise

2010-06-14 Roland McGrath <roland@redhat.com>

* manual/libc.texinfo (@copying): Change to GFDL v1.3.

2010-06-07 Jakub Jelinek <jakub@redhat.com>

* libio/stdio.h (sscanf, vsscanf): Use __REDIRECT_NTH instead of
__REDIRECT followed by __THROW.
* wcsmbs/wchar.h (swscanf, vswscanf): Likewise.
* posix/getopt.h (getopt): Likewise.

2010-06-02 Emilio Pozuelo Monfort <pochu27@gmail.com>

* hurd/lookup-at.c (__file_name_lookup_at): Accept
AT_SYMLINK_FOLLOW in AT_FLAGS. Fail with EINVAL if both
AT_SYMLINK_FOLLOW and AT_SYMLINK_NOFOLLOW are present
in AT_FLAGS.
* hurd/hurd/fd.h (__file_name_lookup_at): Update comment.
* sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS.

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

* elf/rtld.c (_dl_starting_up): Always define.
Expand Down
26 changes: 6 additions & 20 deletions dlfcn/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (C) 1995-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1995-2006, 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 @@ -89,9 +89,9 @@ LDFLAGS-glreflib3.so = -Wl,-rpath,:

LDFLAGS-default = $(LDFLAGS-rdynamic)
$(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so
$(objpfx)defaultmod1.so: $(libdl) $(common-objpfx)libc_nonshared.a
$(objpfx)defaultmod1.so: $(libdl)
LDFLAGS-defaultmod2.so = $(LDFLAGS-Bsymbolic)
$(objpfx)defaultmod2.so: $(libdl) $(common-objpfx)libc_nonshared.a
$(objpfx)defaultmod2.so: $(libdl)

$(objpfx)errmsg1: $(libdl)
$(objpfx)errmsg1.out: $(objpfx)errmsg1 $(objpfx)errmsg1mod.so
Expand All @@ -102,45 +102,31 @@ $(objpfx)tstatexit.out: $(objpfx)tstatexit $(objpfx)modatexit.so
$(objpfx)tstcxaatexit: $(libdl)
$(objpfx)tstcxaatexit.out: $(objpfx)tstcxaatexit $(objpfx)modcxaatexit.so

$(objpfx)modatexit.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a

$(objpfx)tststatic: $(objpfx)libdl.a
$(objpfx)tststatic.out: $(objpfx)tststatic $(objpfx)modstatic.so

$(objpfx)tststatic2: $(objpfx)libdl.a
$(objpfx)tststatic2.out: $(objpfx)tststatic2 $(objpfx)modstatic.so \
$(objpfx)modstatic2.so

$(objpfx)modstatic2.so: $(libdl) $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a
$(objpfx)modstatic2.so: $(libdl)

$(objpfx)bug-dlopen1: $(libdl)

$(objpfx)bug-dlsym1: $(libdl) $(objpfx)bug-dlsym1-lib2.so
$(objpfx)bug-dlsym1.out: $(objpfx)bug-dlsym1-lib1.so \
$(objpfx)bug-dlsym1-lib2.so
$(objpfx)bug-dlsym1-lib1.so: $(objpfx)bug-dlsym1-lib2.so \
$(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a
$(objpfx)bug-dlsym1-lib2.so: $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a
$(objpfx)bug-dlsym1-lib1.so: $(objpfx)bug-dlsym1-lib2.so

$(objpfx)bug-atexit1: $(libdl)
$(objpfx)bug-atexit1.out: $(objpfx)bug-atexit1-lib.so
$(objpfx)bug-atexit1-lib.so: $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a

$(objpfx)bug-atexit2: $(libdl)
$(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so
$(objpfx)bug-atexit2-lib.so: $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a

LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(common-objpfx)elf/ld.so \
$(common-objpfx)libc_nonshared.a
LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh
$(objpfx)bug-atexit3: $(libdl)
$(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so
$(objpfx)bug-atexit3-lib.so: $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a


# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
Expand Down
6 changes: 5 additions & 1 deletion elf/dl-reloc.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Relocate a shared object and resolve its references to other loaded objects.
Copyright (C) 1995-2006, 2008, 2009 Free Software Foundation, Inc.
Copyright (C) 1995-2006, 2008, 2009, 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 @@ -307,6 +307,10 @@ _dl_relocate_object (struct link_map *l, struct r_scope_elem *scope[],
goto call_error;
}

#ifdef CLEAR_CACHE
CLEAR_CACHE (textrels->start, textrels->start + textrels->len);
#endif

textrels = textrels->next;
}

Expand Down
5 changes: 3 additions & 2 deletions hurd/hurd/fd.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,9 @@ extern int _hurd_select (int nfds, struct pollfd *pollfds,
const sigset_t *sigmask);

/* Variant of file_name_lookup used in *at function implementations.
AT_FLAGS should contain only AT_SYMLINK_NOFOLLOW; other bits
cause EINVAL. */
AT_FLAGS may only contain AT_SYMLINK_FOLLOW or AT_SYMLINK_NOFOLLOW,
which will remove and add O_NOLINK from FLAGS respectively.
Other bits cause EINVAL. */
extern file_t __file_name_lookup_at (int fd, int at_flags,
const char *file_name,
int flags, mode_t mode);
Expand Down
6 changes: 6 additions & 0 deletions hurd/lookup-at.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,14 @@ __file_name_lookup_at (int fd, int at_flags,
error_t err;
file_t result;

if ((at_flags & AT_SYMLINK_FOLLOW) && (at_flags & AT_SYMLINK_NOFOLLOW))
return (__hurd_fail (EINVAL), MACH_PORT_NULL);

flags |= (at_flags & AT_SYMLINK_NOFOLLOW) ? O_NOLINK : 0;
at_flags &= ~AT_SYMLINK_NOFOLLOW;
if (at_flags & AT_SYMLINK_FOLLOW)
flags &= ~O_NOLINK;
at_flags &= ~AT_SYMLINK_FOLLOW;
if (at_flags != 0)
return (__hurd_fail (EINVAL), MACH_PORT_NULL);

Expand Down
16 changes: 8 additions & 8 deletions libio/stdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -449,9 +449,9 @@ extern int __REDIRECT (fscanf, (FILE *__restrict __stream,
__isoc99_fscanf) __wur;
extern int __REDIRECT (scanf, (__const char *__restrict __format, ...),
__isoc99_scanf) __wur;
extern int __REDIRECT (sscanf, (__const char *__restrict __s,
__const char *__restrict __format, ...),
__isoc99_sscanf) __THROW;
extern int __REDIRECT_NTH (sscanf, (__const char *__restrict __s,
__const char *__restrict __format, ...),
__isoc99_sscanf);
# else
extern int __isoc99_fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...) __wur;
Expand Down Expand Up @@ -503,11 +503,11 @@ extern int __REDIRECT (vfscanf,
extern int __REDIRECT (vscanf, (__const char *__restrict __format,
_G_va_list __arg), __isoc99_vscanf)
__attribute__ ((__format__ (__scanf__, 1, 0))) __wur;
extern int __REDIRECT (vsscanf,
(__const char *__restrict __s,
__const char *__restrict __format, _G_va_list __arg),
__isoc99_vsscanf)
__THROW __attribute__ ((__format__ (__scanf__, 2, 0)));
extern int __REDIRECT_NTH (vsscanf,
(__const char *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg), __isoc99_vsscanf)
__attribute__ ((__format__ (__scanf__, 2, 0)));
# else
extern int __isoc99_vfscanf (FILE *__restrict __s,
__const char *__restrict __format,
Expand Down
4 changes: 2 additions & 2 deletions manual/libc.texinfo
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
of @cite{The GNU C Library Reference Manual}, for version @value{VERSION}.

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008 Free Software Foundation, Inc.
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
Expand Down
2 changes: 1 addition & 1 deletion nis/nss_nis/nis-initgroups.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ get_uid (const char *user, uid_t *uidp)
if (r != ERANGE)
break;

extend_alloca (buf, buflen, 2 * buflen);
buf = extend_alloca (buf, buflen, 2 * buflen);
}

return 1;
Expand Down
5 changes: 5 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2010-06-01 Takashi Yoshii <takashi.yoshii.zj@renesas.com>

* sysdeps/unix/sysv/linux/sh/lowlevellock.S: Fix incorrect
location of ifndef __ASSUME_FUTEX_CLOCK_REALTIME.

2010-05-27 Andreas Schwab <schwab@redhat.com>

* Makefile ($(objpfx)tst-_res1): Depend on
Expand Down
4 changes: 2 additions & 2 deletions nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009
/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Expand Down Expand Up @@ -282,6 +282,7 @@ __lll_timedlock_wait:
rts
mov.l @r15+, r12

# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
.align 2
# ifdef PIC
.Lgot:
Expand All @@ -293,7 +294,6 @@ __lll_timedlock_wait:
.long __have_futex_clock_realtime
# endif

# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
.Lreltmo:
/* Check for a valid timeout value. */
mov.l @(4,r6), r1
Expand Down
8 changes: 4 additions & 4 deletions posix/getopt.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Declarations for getopt.
Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2009
Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2009,2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Expand Down Expand Up @@ -158,9 +158,9 @@ extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
additional functionality can be disable at runtime. This redirection
helps to also do this at runtime. */
# ifdef __REDIRECT
extern int __REDIRECT (getopt, (int ___argc, char *const *___argv,
const char *__shortopts),
__posix_getopt) __THROW;
extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv,
const char *__shortopts),
__posix_getopt);
# else
extern int __posix_getopt (int ___argc, char *const *___argv,
const char *__shortopts) __THROW;
Expand Down
6 changes: 4 additions & 2 deletions sysdeps/mach/hurd/linkat.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* Make a link between file names relative to open directories. Hurd version.
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006,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 @@ -38,7 +38,9 @@ linkat (fromfd, from, tofd, to, flags)
file_t oldfile, linknode, todir;
char *toname;

oldfile = __file_name_lookup_at (fromfd, flags, from, 0, 0);
/* POSIX says linkat doesn't follow symlinks by default, so pass
O_NOLINK. That can be overridden by AT_SYMLINK_FOLLOW in FLAGS. */
oldfile = __file_name_lookup_at (fromfd, flags, from, O_NOLINK, 0);
if (oldfile == MACH_PORT_NULL)
return -1;

Expand Down
Loading

0 comments on commit 7314e37

Please sign in to comment.