[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r17196 - in /fsf/trunk/libc: ./ aout/ manual/ manual/examples/ sysdeps/sparc/ sysdeps/unix/sparc/ sysdeps/unix/sysv/linux/sp...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r17196 - in /fsf/trunk/libc: ./ aout/ manual/ manual/examples/ sysdeps/sparc/ sysdeps/unix/sparc/ sysdeps/unix/sysv/linux/sp...
- From: eglibc@xxxxxxxxxx
- Date: Sun, 19 Feb 2012 00:01:44 -0000
Author: eglibc
Date: Sun Feb 19 00:01:43 2012
New Revision: 17196
Log:
Import glibc-mainline for 2012-02-19
Removed:
fsf/trunk/libc/aout/
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/INSTALL
fsf/trunk/libc/NEWS
fsf/trunk/libc/manual/conf.texi
fsf/trunk/libc/manual/examples/argp-ex1.c
fsf/trunk/libc/manual/examples/argp-ex2.c
fsf/trunk/libc/manual/examples/argp-ex3.c
fsf/trunk/libc/manual/examples/argp-ex4.c
fsf/trunk/libc/manual/examples/longopt.c
fsf/trunk/libc/manual/examples/strncat.c
fsf/trunk/libc/manual/examples/subopt.c
fsf/trunk/libc/manual/install.texi
fsf/trunk/libc/sysdeps/sparc/crti.S
fsf/trunk/libc/sysdeps/unix/sparc/sysdep.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Feb 19 00:01:43 2012
@@ -1,3 +1,44 @@
+2012-02-18 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #5993]
+ * manual/install.texi: Do not document upgrading from libc5.
+
+2012-02-18 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ [BZ #4596]
+ * manual/conf.texi (_POSIX_VERSION): Do not mention __POSIX__.
+
+2012-02-18 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * sysdeps/unix/sparc/sysdep.h (SPARC_PIC_THUNK): New macro.
+ (SETUP_PIC_REG): Use SPARC_PIC_THUNK and don't save and restore
+ %o7 across the call.
+ (SETUP_PIC_REG_LEAF): Do %o7 save/restore in this new macro
+ instead.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Use
+ SETUP_PIC_REG_LEAF.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
+ * sysdeps/sparc/crti.S: Use SETUP_PIC_REG.
+ * sysdeps/sparc/crtn.S: Likewise.
+
+2012-02-17 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ * aout/Makefile: Remove.
+
+2012-02-18 Rafe Kettler <rafe.kettler@xxxxxxxxx>
+
+ [BZ #13058]
+ * manual/examples/argp-ex1.c (main): Format definition in GNU
+ style.
+ * manual/examples/argp-ex2.c (main): Likewise.
+ * manual/examples/argp-ex3.c (main): Likewise.
+ * manual/examples/argp-ex4.c (main): Likewise.
+ * manual/examples/longopt.c (main): Use new-style prototype
+ definition.
+ * manual/examples/strncat.c (main): Specify return type and use
+ (void) for arguments.
+ * manual/examples/subopt.c (main): Use char **argv argument.
+
2012-02-17 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #5077]
Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Sun Feb 19 00:01:43 2012
@@ -65,10 +65,9 @@
This option is primarily of use on a system where the headers in
`/usr/include' come from an older version of glibc. Conflicts can
- occasionally happen in this case. Note that Linux libc5 qualifies
- as an older version of glibc. You can also use this option if you
- want to compile glibc with a newer set of kernel headers than the
- ones found in `/usr/include'.
+ occasionally happen in this case. You can also use this option if
+ you want to compile glibc with a newer set of kernel headers than
+ the ones found in `/usr/include'.
`--enable-add-ons[=LIST]'
Specify add-on packages to include in the build. If this option is
@@ -211,10 +210,11 @@
mode first, and reboot afterward. This minimizes the risk of breaking
things when the library changes out from underneath.
- If you're upgrading from Linux libc5 or some other C library, you
-need to replace the `/usr/include' with a fresh directory before
-installing it. The new `/usr/include' should contain the Linux
-headers, but nothing else.
+ `make install' will do the entire job of upgrading from a previous
+installation of glibc 2.x. There may sometimes be headers left behind
+from the previous installation, but those are generally harmless. If
+you want to avoid leaving headers behind you can do things in the
+following order.
You must first build the library (`make'), optionally check it
(`make check'), switch the include directories and then install (`make
@@ -222,19 +222,11 @@
directory before install will result in an unusable mixture of header
files from both libraries, but configuring, building, and checking the
library requires the ability to compile and run programs against the old
+library. The new `/usr/include', after switching the include
+directories and before installing the library should contain the Linux
+headers, but nothing else. If you do this, you will need to restore
+any headers from non-glibc libraries youself after installing the
library.
-
- If you are upgrading from a previous installation of glibc 2.0 or
-2.1, `make install' will do the entire job. You do not need to remove
-the old includes - if you want to do so anyway you must then follow the
-order given above.
-
- You may also need to reconfigure GCC to work with the new library.
-The easiest way to do that is to figure out the compiler switches to
-make it work again (`-Wl,--dynamic-linker=/lib/ld-linux.so.2' should
-work on GNU/Linux systems) and use them to recompile gcc. You can also
-edit the specs file (`/usr/lib/gcc-lib/TARGET/VERSION/specs'), but that
-is a bit of a black art.
You can install glibc somewhere other than where you configured it
to go by setting the `install_root' variable on the command line for
@@ -373,9 +365,7 @@
config' as above; then, rename or delete `/usr/include', create a new
`/usr/include', and make symbolic links of `/usr/include/linux' and
`/usr/include/asm' into the kernel sources. You can then configure
-glibc with no special options. This tactic is recommended if you are
-upgrading from libc5, since you need to get rid of the old header files
-anyway.
+glibc with no special options.
After installing GNU libc, you may need to remove or rename
`/usr/include/linux' and `/usr/include/asm', and replace them with
@@ -398,12 +388,6 @@
allow it to default to `/usr/local', then all the components are
installed there.
- If you are upgrading from libc5, you need to recompile every shared
-library on your system against the new library for the sake of new code,
-but keep the old libraries around for old binaries to use. This is
-complicated and difficult. Consult the Glibc2 HOWTO at
-`http://www.imaxx.net/~thrytis/glibc' for details.
-
You cannot use `nscd' with 2.0 kernels, due to bugs in the
kernel-side thread support. `nscd' happens to hit these bugs
particularly hard, but you might have problems with any threaded
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sun Feb 19 00:01:43 2012
@@ -9,9 +9,10 @@
* The following bugs are resolved with this release:
- 174, 350, 411, 3335, 4026, 4822, 5077, 5805, 6884, 6907, 9902, 10140,
- 10210, 11494, 12047, 13525, 13526, 13527, 13528, 13529, 13530, 13531,
- 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559, 13583, 13618
+ 174, 350, 411, 3335, 4026, 4596, 4822, 5077, 5805, 5993, 6884, 6907, 9902,
+ 10140, 10210, 11494, 12047, 13058, 13525, 13526, 13527, 13528, 13529,
+ 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553, 13555, 13559,
+ 13583, 13618
* ISO C11 support:
Modified: fsf/trunk/libc/manual/conf.texi
==============================================================================
--- fsf/trunk/libc/manual/conf.texi (original)
+++ fsf/trunk/libc/manual/conf.texi Sun Feb 19 00:01:43 2012
@@ -248,11 +248,6 @@
probably fail because there is no @file{unistd.h}. We do not know of
@emph{any} way you can reliably test at compilation time whether your
target system supports POSIX or whether @file{unistd.h} exists.
-
-The GNU C compiler predefines the symbol @code{__POSIX__} if the target
-system is a POSIX system. Provided you do not use any other compilers
-on POSIX systems, testing @code{defined (__POSIX__)} will reliably
-detect such systems.
@end deftypevr
@comment unistd.h
Modified: fsf/trunk/libc/manual/examples/argp-ex1.c
==============================================================================
--- fsf/trunk/libc/manual/examples/argp-ex1.c (original)
+++ fsf/trunk/libc/manual/examples/argp-ex1.c Sun Feb 19 00:01:43 2012
@@ -8,7 +8,8 @@
#include <stdlib.h>
#include <argp.h>
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
{
argp_parse (0, argc, argv, 0, 0, 0);
exit (0);
Modified: fsf/trunk/libc/manual/examples/argp-ex2.c
==============================================================================
--- fsf/trunk/libc/manual/examples/argp-ex2.c (original)
+++ fsf/trunk/libc/manual/examples/argp-ex2.c Sun Feb 19 00:01:43 2012
@@ -38,7 +38,8 @@
option will print out @code{argp_program_version}. */
static struct argp argp = { 0, 0, 0, doc };
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
{
argp_parse (&argp, argc, argv, 0, 0, 0);
exit (0);
Modified: fsf/trunk/libc/manual/examples/argp-ex3.c
==============================================================================
--- fsf/trunk/libc/manual/examples/argp-ex3.c (original)
+++ fsf/trunk/libc/manual/examples/argp-ex3.c Sun Feb 19 00:01:43 2012
@@ -129,7 +129,8 @@
/* Our argp parser. */
static struct argp argp = { options, parse_opt, args_doc, doc };
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
{
struct arguments arguments;
Modified: fsf/trunk/libc/manual/examples/argp-ex4.c
==============================================================================
--- fsf/trunk/libc/manual/examples/argp-ex4.c (original)
+++ fsf/trunk/libc/manual/examples/argp-ex4.c Sun Feb 19 00:01:43 2012
@@ -131,7 +131,8 @@
/* Our argp parser. */
static struct argp argp = { options, parse_opt, args_doc, doc };
-int main (int argc, char **argv)
+int
+main (int argc, char **argv)
{
int i, j;
struct arguments arguments;
Modified: fsf/trunk/libc/manual/examples/longopt.c
==============================================================================
--- fsf/trunk/libc/manual/examples/longopt.c (original)
+++ fsf/trunk/libc/manual/examples/longopt.c Sun Feb 19 00:01:43 2012
@@ -6,9 +6,7 @@
static int verbose_flag;
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int c;
Modified: fsf/trunk/libc/manual/examples/strncat.c
==============================================================================
--- fsf/trunk/libc/manual/examples/strncat.c (original)
+++ fsf/trunk/libc/manual/examples/strncat.c Sun Feb 19 00:01:43 2012
@@ -5,7 +5,8 @@
static char buffer[SIZE];
-main ()
+int
+main (void)
{
strncpy (buffer, "hello", SIZE);
puts (buffer);
Modified: fsf/trunk/libc/manual/examples/subopt.c
==============================================================================
--- fsf/trunk/libc/manual/examples/subopt.c (original)
+++ fsf/trunk/libc/manual/examples/subopt.c Sun Feb 19 00:01:43 2012
@@ -27,7 +27,7 @@
};
int
-main (int argc, char *argv[])
+main (int argc, char **argv)
{
char *subopts, *value;
int opt;
Modified: fsf/trunk/libc/manual/install.texi
==============================================================================
--- fsf/trunk/libc/manual/install.texi (original)
+++ fsf/trunk/libc/manual/install.texi Sun Feb 19 00:01:43 2012
@@ -85,8 +85,7 @@
This option is primarily of use on a system where the headers in
@file{/usr/include} come from an older version of glibc. Conflicts can
-occasionally happen in this case. Note that Linux libc5 qualifies as an
-older version of glibc. You can also use this option if you want to
+occasionally happen in this case. You can also use this option if you want to
compile glibc with a newer set of kernel headers than the ones found in
@file{/usr/include}.
@@ -238,10 +237,11 @@
single-user mode first, and reboot afterward. This minimizes the risk
of breaking things when the library changes out from underneath.
-If you're upgrading from Linux libc5 or some other C library, you need to
-replace the @file{/usr/include} with a fresh directory before installing
-it. The new @file{/usr/include} should contain the Linux headers, but
-nothing else.
+@samp{make install} will do the entire job of upgrading from a
+previous installation of glibc 2.x. There may sometimes be headers
+left behind from the previous installation, but those are generally
+harmless. If you want to avoid leaving headers behind you can do
+things in the following order.
You must first build the library (@samp{make}), optionally check it
(@samp{make check}), switch the include directories and then install
@@ -249,19 +249,11 @@
the directory before install will result in an unusable mixture of header
files from both libraries, but configuring, building, and checking the
library requires the ability to compile and run programs against the old
+library. The new @file{/usr/include}, after switching the include
+directories and before installing the library should contain the Linux
+headers, but nothing else. If you do this, you will need to restore
+any headers from non-glibc libraries youself after installing the
library.
-
-If you are upgrading from a previous installation of glibc 2.0 or 2.1,
-@samp{make install} will do the entire job. You do not need to remove
-the old includes -- if you want to do so anyway you must then follow the
-order given above.
-
-You may also need to reconfigure GCC to work with the new library. The
-easiest way to do that is to figure out the compiler switches to make it
-work again (@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on
-GNU/Linux systems) and use them to recompile gcc. You can also edit the specs
-file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but that
-is a bit of a black art.
You can install glibc somewhere other than where you configured it to go
by setting the @code{install_root} variable on the command line for
@@ -400,7 +392,6 @@
@node Linux
@appendixsec Specific advice for GNU/Linux systems
-@cindex upgrading from libc5
@cindex kernel header files
If you are installing GNU libc on a GNU/Linux system, you need to have the
@@ -419,9 +410,7 @@
config} as above; then, rename or delete @file{/usr/include}, create a
new @file{/usr/include}, and make symbolic links of
@file{/usr/include/linux} and @file{/usr/include/asm} into the kernel
-sources. You can then configure glibc with no special options. This
-tactic is recommended if you are upgrading from libc5, since you need to
-get rid of the old header files anyway.
+sources. You can then configure glibc with no special options.
After installing GNU libc, you may need to remove or rename
@file{/usr/include/linux} and @file{/usr/include/asm}, and replace them
@@ -445,12 +434,6 @@
prefix or allow it to default to @file{/usr/local}, then all the
components are installed there.
-If you are upgrading from libc5, you need to recompile every shared
-library on your system against the new library for the sake of new code,
-but keep the old libraries around for old binaries to use. This is
-complicated and difficult. Consult the Glibc2 HOWTO at
-@url{http://www.imaxx.net/~thrytis/glibc} for details.
-
You cannot use @code{nscd} with 2.0 kernels, due to bugs in the
kernel-side thread support. @code{nscd} happens to hit these bugs
particularly hard, but you might have problems with any threaded
Modified: fsf/trunk/libc/sysdeps/sparc/crti.S
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/crti.S (original)
+++ fsf/trunk/libc/sysdeps/sparc/crti.S Sun Feb 19 00:01:43 2012
@@ -70,9 +70,7 @@
_init:
save %sp, -STACKFRAME_SIZE, %sp
#if PREINIT_FUNCTION_WEAK
- sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7
- call __sparc_get_pc_thunk.l7
- add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
+ SETUP_PIC_REG(l7)
sethi %hi(PREINIT_FUNCTION), %g1
or %g1, %lo(PREINIT_FUNCTION), %g1
GOT_LOAD [%l7 + %g1], %g1
@@ -93,12 +91,3 @@
.type _fini, @function
_fini:
save %sp, -STACKFRAME_SIZE, %sp
-
- .section .text.__sparc_get_pc_thunk.l7,"axG",@progbits,__sparc_get_pc_thunk.l7,comdat
- .p2align 2
- .weak __sparc_get_pc_thunk.l7
- .hidden __sparc_get_pc_thunk.l7
- .type __sparc_get_pc_thunk.l7, #function
-__sparc_get_pc_thunk.l7:
- jmp %o7 + 8
- add %o7, %l7, %l7
Modified: fsf/trunk/libc/sysdeps/unix/sparc/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sparc/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sparc/sysdep.h Sun Feb 19 00:01:43 2012
@@ -26,8 +26,7 @@
C name space. Make sure we use an innocuous name. */
#define syscall_error C_SYMBOL_NAME(__syscall_error)
-#ifdef PIC
-#define SETUP_PIC_REG(reg, tmp) \
+#define SPARC_PIC_THUNK(reg) \
.ifndef __sparc_get_pc_thunk.reg; \
.section .text.__sparc_get_pc_thunk.reg,"axG",@progbits,__sparc_get_pc_thunk.reg,comdat; \
.align 32; \
@@ -38,13 +37,21 @@
jmp %o7 + 8; \
add %o7, %reg, %##reg; \
.previous; \
- .endif; \
+ .endif;
+
+#define SETUP_PIC_REG(reg) \
+ SPARC_PIC_THUNK(reg) \
+ sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %##reg; \
+ call __sparc_get_pc_thunk.reg; \
+ or %##reg, %lo(_GLOBAL_OFFSET_TABLE_+4), %##reg;
+
+#define SETUP_PIC_REG_LEAF(reg, tmp) \
+ SPARC_PIC_THUNK(reg) \
sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %##reg; \
mov %o7, %##tmp; \
call __sparc_get_pc_thunk.reg; \
or %##reg, %lo(_GLOBAL_OFFSET_TABLE_+4), %##reg; \
mov %##tmp, %o7;
-#endif
#define ENTRY(name) \
.global C_SYMBOL_NAME(name); \
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h Sun Feb 19 00:01:43 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2002, 2003, 2004, 2006, 2008, 2011
+/* Copyright (C) 1997, 2002, 2003, 2004, 2006, 2008, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Miguel de Icaza <miguel@xxxxxxxxxxxxxx>, January 1997.
@@ -89,7 +89,7 @@
#else
# if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %hi(rtld_errno), %g1; \
or %g1, %lo(rtld_errno), %g1; \
ld [%o2 + %g1], %g1; \
@@ -103,8 +103,8 @@
# else
# define SYSCALL_ERROR_ERRNO errno
# endif
-# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+# define SYSCALL_ERROR_HANDLER \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %tie_hi22(SYSCALL_ERROR_ERRNO), %g1; \
add %g1, %tie_lo10(SYSCALL_ERROR_ERRNO), %g1; \
ld [%o2 + %g1], %g1, %tie_ld(SYSCALL_ERROR_ERRNO); \
@@ -113,7 +113,7 @@
mov -1, %o0;
# else
# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %hi(errno), %g1; \
or %g1, %lo(errno), %g1; \
ld [%o2 + %g1], %g1; \
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h Sun Feb 19 00:01:43 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2000, 2002, 2003, 2004, 2006, 2008, 2011
+/* Copyright (C) 1997, 2000, 2002, 2003, 2004, 2006, 2008, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <richard@xxxxxxxxxxxxxx>, 1997.
@@ -96,7 +96,7 @@
#else
# if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %hi(rtld_errno), %g1; \
or %g1, %lo(rtld_errno), %g1; \
ldx [%o2 + %g1], %g1; \
@@ -110,8 +110,8 @@
# else
# define SYSCALL_ERROR_ERRNO errno
# endif
-# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+# define SYSCALL_ERROR_HANDLER \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %tie_hi22(SYSCALL_ERROR_ERRNO), %g1; \
add %g1, %tie_lo10(SYSCALL_ERROR_ERRNO), %g1; \
ldx [%o2 + %g1], %g1, %tie_ldx(SYSCALL_ERROR_ERRNO);\
@@ -120,7 +120,7 @@
mov -1, %o0;
# else
# define SYSCALL_ERROR_HANDLER \
-0: SETUP_PIC_REG(o2,g1) \
+0: SETUP_PIC_REG_LEAF(o2,g1) \
sethi %hi(errno), %g1; \
or %g1, %lo(errno), %g1; \
ldx [%o2 + %g1], %g1; \
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits