[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r11534 - in /fsf/trunk/libc: ./ elf/ sysdeps/s390/s390-32/ sysdeps/s390/s390-64/
- To: commits@xxxxxxxxxx
- Subject: [commits] r11534 - in /fsf/trunk/libc: ./ elf/ sysdeps/s390/s390-32/ sysdeps/s390/s390-64/
- From: eglibc@xxxxxxxxxx
- Date: Thu, 16 Sep 2010 07:03:15 -0000
Author: eglibc
Date: Thu Sep 16 00:03:12 2010
New Revision: 11534
Log:
Import glibc-mainline for 2010-09-16
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/elf/dl-load.c
fsf/trunk/libc/elf/dl-support.c
fsf/trunk/libc/elf/rtld.c
fsf/trunk/libc/sysdeps/s390/s390-32/__longjmp.c
fsf/trunk/libc/sysdeps/s390/s390-64/__longjmp.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Sep 16 00:03:12 2010
@@ -1,3 +1,19 @@
+2010-09-14 Andreas Schwab <schwab@xxxxxxxxxx>
+
+ * sysdeps/s390/s390-32/__longjmp.c (__longjmp): Define register
+ variables after CHECK_SP call.
+ * sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise.
+
+2010-09-13 Andreas Schwab <schwab@xxxxxxxxxx>
+ Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * elf/rtld.c (dl_main): Set GLRO(dl_init_all_dirs) just before
+ re-relocationg ld.so.
+ * elf/dl-support.c (_dl_non_dynamic_init): And here after the
+ _dl_init_paths call.
+ * elf/dl-load.c (_dl_init_paths). Don't set GLRO(dl_init_all_dirs)
+ here anymore.
+
2010-09-14 Ulrich Drepper <drepper@xxxxxxxxxx>
* resolv/res_init.c (__res_vinit): Count the default server we added.
Modified: fsf/trunk/libc/elf/dl-load.c
==============================================================================
--- fsf/trunk/libc/elf/dl-load.c (original)
+++ fsf/trunk/libc/elf/dl-load.c Thu Sep 16 00:03:12 2010
@@ -787,9 +787,6 @@
}
else
env_path_list.dirs = (void *) -1;
-
- /* Remember the last search directory added at startup. */
- GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
}
Modified: fsf/trunk/libc/elf/dl-support.c
==============================================================================
--- fsf/trunk/libc/elf/dl-support.c (original)
+++ fsf/trunk/libc/elf/dl-support.c Thu Sep 16 00:03:12 2010
@@ -264,6 +264,9 @@
objects. */
_dl_init_paths (getenv ("LD_LIBRARY_PATH"));
+ /* Remember the last search directory added at startup. */
+ _dl_init_all_dirs = GL(dl_all_dirs);
+
_dl_lazy = *(getenv ("LD_BIND_NOW") ?: "") == '\0';
_dl_bind_not = *(getenv ("LD_BIND_NOT") ?: "") != '\0';
Modified: fsf/trunk/libc/elf/rtld.c
==============================================================================
--- fsf/trunk/libc/elf/rtld.c (original)
+++ fsf/trunk/libc/elf/rtld.c Thu Sep 16 00:03:12 2010
@@ -2291,6 +2291,10 @@
lossage);
}
+ /* Remember the last search directory added at startup, now that
+ malloc will no longer be the one from dl-minimal.c. */
+ GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
+
if (! prelinked && rtld_multiple_ref)
{
/* There was an explicit ref to the dynamic linker as a shared lib.
Modified: fsf/trunk/libc/sysdeps/s390/s390-32/__longjmp.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-32/__longjmp.c (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-32/__longjmp.c Thu Sep 16 00:03:12 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2005, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2005, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky (schwidefsky@xxxxxxxxxx).
@@ -29,15 +29,18 @@
void
__longjmp (__jmp_buf env, int val)
{
- register int r2 __asm ("%r2") = val == 0 ? 1 : val;
#ifdef PTR_DEMANGLE
- register uintptr_t r3 __asm ("%r3") = THREAD_GET_POINTER_GUARD ();
- register void *r1 __asm ("%r1") = (void *) env;
+ uintptr_t guard = THREAD_GET_POINTER_GUARD ();
# ifdef CHECK_SP
- CHECK_SP (env, r3);
+ CHECK_SP (env, guard);
# endif
#elif defined CHECK_SP
CHECK_SP (env, 0);
+#endif
+ register int r2 __asm ("%r2") = val == 0 ? 1 : val;
+#ifdef PTR_DEMANGLE
+ register uintptr_t r3 __asm ("%r3") = guard;
+ register void *r1 __asm ("%r1") = (void *) env;
#endif
/* Restore registers and jump back. */
asm volatile ("ld %%f6,48(%1)\n\t"
Modified: fsf/trunk/libc/sysdeps/s390/s390-64/__longjmp.c
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/s390-64/__longjmp.c (original)
+++ fsf/trunk/libc/sysdeps/s390/s390-64/__longjmp.c Thu Sep 16 00:03:12 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2005, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2005, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky (schwidefsky@xxxxxxxxxx).
@@ -29,15 +29,18 @@
void
__longjmp (__jmp_buf env, int val)
{
- register long int r2 __asm ("%r2") = val == 0 ? 1 : val;
#ifdef PTR_DEMANGLE
- register uintptr_t r3 __asm ("%r3") = THREAD_GET_POINTER_GUARD ();
- register void *r1 __asm ("%r1") = (void *) env;
+ uintptr_t guard = THREAD_GET_POINTER_GUARD ();
# ifdef CHECK_SP
- CHECK_SP (env, r3);
+ CHECK_SP (env, guard);
# endif
#elif defined CHECK_SP
CHECK_SP (env, 0);
+#endif
+ register long int r2 __asm ("%r2") = val == 0 ? 1 : val;
+#ifdef PTR_DEMANGLE
+ register uintptr_t r3 __asm ("%r3") = guard;
+ register void *r1 __asm ("%r1") = (void *) env;
#endif
/* Restore registers and jump back. */
asm volatile ("ld %%f7,104(%1)\n\t"