[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r21913 - in /branches/eglibc-2_16: ./ libc/ libc/elf/ libc/sysdeps/sh/ libc/sysdeps/unix/sysv/linux/sys/ ports/ ports/sysdep...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r21913 - in /branches/eglibc-2_16: ./ libc/ libc/elf/ libc/sysdeps/sh/ libc/sysdeps/unix/sysv/linux/sys/ ports/ ports/sysdep...
- From: joseph@xxxxxxxxxx
- Date: Sun, 02 Dec 2012 21:13:32 -0000
Author: joseph
Date: Sun Dec 2 21:13:32 2012
New Revision: 21913
Log:
Merge changes between r21776 and r21912 from /fsf/glibc-2_16-branch.
Added:
branches/eglibc-2_16/libc/elf/tst-audit8.c
- copied unchanged from r21912, fsf/glibc-2_16-branch/libc/elf/tst-audit8.c
Modified:
branches/eglibc-2_16/ (props changed)
branches/eglibc-2_16/libc/ChangeLog
branches/eglibc-2_16/libc/NEWS
branches/eglibc-2_16/libc/elf/Makefile
branches/eglibc-2_16/libc/elf/dl-runtime.c
branches/eglibc-2_16/libc/sysdeps/sh/dl-machine.h
branches/eglibc-2_16/libc/sysdeps/unix/sysv/linux/sys/sysctl.h
branches/eglibc-2_16/ports/ChangeLog.m68k
branches/eglibc-2_16/ports/ChangeLog.tile
branches/eglibc-2_16/ports/sysdeps/arm/bits/predefs.h (props changed)
branches/eglibc-2_16/ports/sysdeps/m68k/dl-machine.h
branches/eglibc-2_16/ports/sysdeps/tile/__tls_get_addr.S
Propchange: branches/eglibc-2_16/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Dec 2 21:13:32 2012
@@ -1,2 +1,2 @@
-/fsf/glibc-2_16-branch:19382-21776
+/fsf/glibc-2_16-branch:19382-21912
/fsf/trunk:15224-19381
Modified: branches/eglibc-2_16/libc/ChangeLog
==============================================================================
--- branches/eglibc-2_16/libc/ChangeLog (original)
+++ branches/eglibc-2_16/libc/ChangeLog Sun Dec 2 21:13:32 2012
@@ -1,10 +1,20 @@
-2012-11-07 Andreas Jaeger <aj@xxxxxxx>
-
- [BZ #14809]
- * sysdeps/unix/sysv/linux/sys/sysctl.h (_UAPI_LINUX_KERNEL_H)
- (_UAPI_LINUX_TYPES_H): Starting with Linux 3.7, the include header
- guards are changed. Only define if not yet defined, #undef back
- after including linux/sysctl.h if defined here.
+2012-11-20 Thomas Schwinge <thomas@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/sh/dl-machine.h (ELF_MACHINE_RUNTIME_FIXUP_PARAMS): New
+ macro.
+
+2012-11-14 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ [BZ #14831]
+ * elf/Makefile (tests): Add tst-audit8.
+ ($(objpfx)tst-audit8): Also depend on $(common-objpfx)math/libm.so.
+ ($(objpfx)tst-audit8.out): New target.
+ (tst-audit8-ENV): New variable.
+ * elf/dl-runtime.c (_dl_profile_fixup): Call _dl_fixup to skip
+ audit if l_reloc_result is NULL.
+ (ELF_MACHINE_RUNTIME_FIXUP_PARAMS): Issue an error if it isn't
+ defined and ELF_MACHINE_RUNTIME_FIXUP_ARGS is defined.
+ * elf/tst-audit8.c: New file.
2012-10-04 H.J. Lu <hongjiu.lu@xxxxxxxxx>
Modified: branches/eglibc-2_16/libc/NEWS
==============================================================================
--- branches/eglibc-2_16/libc/NEWS (original)
+++ branches/eglibc-2_16/libc/NEWS Sun Dec 2 21:13:32 2012
@@ -9,7 +9,7 @@
* The following bugs are resolved with this release:
- 6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14809
+ 6530, 14195, 14459, 14476, 14562, 14621, 14648, 14756, 14831
Version 2.16
Modified: branches/eglibc-2_16/libc/elf/Makefile
==============================================================================
--- branches/eglibc-2_16/libc/elf/Makefile (original)
+++ branches/eglibc-2_16/libc/elf/Makefile Sun Dec 2 21:13:32 2012
@@ -142,7 +142,7 @@
tst-dlmodcount tst-dlopenrpath tst-deep1 \
tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
- tst-audit1 tst-audit2 \
+ tst-audit1 tst-audit2 tst-audit8 \
tst-stackguard1 tst-addr1 tst-thrlock \
tst-unique1 tst-unique2 tst-unique3 tst-unique4 \
tst-initorder tst-initorder2 tst-relsort1
@@ -1041,6 +1041,10 @@
tst-audit7-ENV = EGLIBC_TEST_LD_AUDIT=$(objpfx)tst-auditmod7b.so
tst-audit7-WRAPPER = $(..)scripts/run-with-env.sh
+$(objpfx)tst-audit8: $(common-objpfx)math/libm.so
+$(objpfx)tst-audit8.out: $(objpfx)tst-auditmod1.so
+tst-audit8-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so
+
$(objpfx)tst-global1: $(libdl)
$(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so
Modified: branches/eglibc-2_16/libc/elf/dl-runtime.c
==============================================================================
--- branches/eglibc-2_16/libc/elf/dl-runtime.c (original)
+++ branches/eglibc-2_16/libc/elf/dl-runtime.c Sun Dec 2 21:13:32 2012
@@ -1,5 +1,5 @@
/* On-demand PLT fixup for shared objects.
- Copyright (C) 1995-2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1995-2012 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
@@ -167,6 +167,26 @@
ElfW(Addr) retaddr, void *regs, long int *framesizep)
{
void (*mcount_fct) (ElfW(Addr), ElfW(Addr)) = INTUSE(_dl_mcount);
+
+ if (l->l_reloc_result == NULL)
+ {
+ /* BZ #14843: ELF_DYNAMIC_RELOCATE is called before l_reloc_result
+ is allocated. We will get here if ELF_DYNAMIC_RELOCATE calls a
+ resolver function to resolve an IRELATIVE relocation and that
+ resolver calls a function that is not yet resolved (lazy). For
+ example, the resolver in x86-64 libm.so calls __get_cpu_features
+ defined in libc.so. Skip audit and resolve the external function
+ in this case. */
+ *framesizep = -1;
+ return _dl_fixup (
+# ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+# ifndef ELF_MACHINE_RUNTIME_FIXUP_PARAMS
+# error Please define ELF_MACHINE_RUNTIME_FIXUP_PARAMS.
+# endif
+ ELF_MACHINE_RUNTIME_FIXUP_PARAMS,
+# endif
+ l, reloc_arg);
+ }
/* This is the address in the array where we store the result of previous
relocations. */
Modified: branches/eglibc-2_16/libc/sysdeps/sh/dl-machine.h
==============================================================================
--- branches/eglibc-2_16/libc/sysdeps/sh/dl-machine.h (original)
+++ branches/eglibc-2_16/libc/sysdeps/sh/dl-machine.h Sun Dec 2 21:13:32 2012
@@ -1,6 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. SH version.
- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2012 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
@@ -116,6 +115,7 @@
}
#define ELF_MACHINE_RUNTIME_FIXUP_ARGS int plt_type
+#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS plt_type
/* Mask identifying addresses reserved for the user program,
where the dynamic linker should not map anything. */
Modified: branches/eglibc-2_16/libc/sysdeps/unix/sysv/linux/sys/sysctl.h
==============================================================================
--- branches/eglibc-2_16/libc/sysdeps/unix/sysv/linux/sys/sysctl.h (original)
+++ branches/eglibc-2_16/libc/sysdeps/unix/sysv/linux/sys/sysctl.h Sun Dec 2 21:13:32 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1999, 2002, 2003, 2004 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
@@ -39,14 +39,6 @@
# define __user
# define __undef__LINUX_COMPILER_H
#endif
-#ifndef _UAPI_LINUX_KERNEL_H
-# define _UAPI_LINUX_KERNEL_H
-# define __undef_UAPI_LINUX_KERNEL_H
-#endif
-#ifndef _UAPI_LINUX_TYPES_H
-# define _UAPI_LINUX_TYPES_H
-# define __undef_UAPI_LINUX_TYPES_H
-#endif
#include <linux/sysctl.h>
@@ -67,14 +59,6 @@
# undef __user
# undef __undef__LINUX_COMPILER_H
#endif
-#ifdef __undef_UAPI_LINUX_KERNEL_H
-# undef _UAPI_LINUX_KERNEL_H
-# undef __undef_UAPI_LINUX_KERNEL_H
-#endif
-#ifdef __undef_UAPI_LINUX_TYPES_H
-# undef _UAPI_LINUX_TYPES_H
-# undef __undef_UAPI_LINUX_TYPES_H
-#endif
#include <bits/sysctl.h>
Modified: branches/eglibc-2_16/ports/ChangeLog.m68k
==============================================================================
--- branches/eglibc-2_16/ports/ChangeLog.m68k (original)
+++ branches/eglibc-2_16/ports/ChangeLog.m68k Sun Dec 2 21:13:32 2012
@@ -1,3 +1,8 @@
+2012-11-15 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
+
+ * sysdeps/m68k/dl-machine.h (ELF_MACHINE_RUNTIME_FIXUP_PARAMS):
+ Define.
+
2012-05-30 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
Modified: branches/eglibc-2_16/ports/ChangeLog.tile
==============================================================================
--- branches/eglibc-2_16/ports/ChangeLog.tile (original)
+++ branches/eglibc-2_16/ports/ChangeLog.tile Sun Dec 2 21:13:32 2012
@@ -1,3 +1,7 @@
+2012-11-29 Chris Metcalf <cmetcalf@xxxxxxxxxx>
+
+ * sysdeps/tile/__tls_get_addr.S: Fix TLS module initialization bug.
+
2012-09-06 Chris Metcalf <cmetcalf@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/tile/sys/procfs.h: Fix type of prfpregset_t.
Propchange: branches/eglibc-2_16/ports/sysdeps/arm/bits/predefs.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Dec 2 21:13:32 2012
@@ -1,3 +1,3 @@
-/fsf/glibc-2_16-branch/ports/sysdeps/arm/bits/predefs.h:19382-21776
+/fsf/glibc-2_16-branch/ports/sysdeps/arm/bits/predefs.h:19382-21912
/fsf/trunk/ports/sysdeps/arm/bits/predefs.h:18166-19381
/fsf/trunk/ports/sysdeps/arm/eabi/bits/predefs.h:15224-17813
Modified: branches/eglibc-2_16/ports/sysdeps/m68k/dl-machine.h
==============================================================================
--- branches/eglibc-2_16/ports/sysdeps/m68k/dl-machine.h (original)
+++ branches/eglibc-2_16/ports/sysdeps/m68k/dl-machine.h Sun Dec 2 21:13:32 2012
@@ -1,6 +1,5 @@
/* Machine-dependent ELF dynamic relocation inline functions. m68k version.
- Copyright (C) 1996-2001, 2002, 2003, 2004, 2005, 2010, 2011
- Free Software Foundation, Inc.
+ Copyright (C) 1996-2012 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
@@ -107,6 +106,7 @@
}
#define ELF_MACHINE_RUNTIME_FIXUP_ARGS long int save_a0, long int save_a1
+#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS save_a0, save_a1
/* Mask identifying addresses reserved for the user program,
Modified: branches/eglibc-2_16/ports/sysdeps/tile/__tls_get_addr.S
==============================================================================
--- branches/eglibc-2_16/ports/sysdeps/tile/__tls_get_addr.S (original)
+++ branches/eglibc-2_16/ports/sysdeps/tile/__tls_get_addr.S Sun Dec 2 21:13:32 2012
@@ -76,6 +76,8 @@
ADD_PTR r28, r28, r27 /* pointer into module array */
}
LD_PTR r26, r28 /* r26 = module TLS pointer */
+ CMPEQI r25, r26, -1 /* check r26 == TLS_DTV_UNALLOCATED */
+ BNEZ r25, .Lslowpath
{
ADD_PTR r0, r26, r29
jrp lr
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits