[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r17956 - in /fsf/trunk/libc: ./ elf/ sysdeps/i386/i686/ sysdeps/sparc/sparc32/ sysdeps/sparc/sparc64/ sysdeps/x86_64/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r17956 - in /fsf/trunk/libc: ./ elf/ sysdeps/i386/i686/ sysdeps/sparc/sparc32/ sysdeps/sparc/sparc64/ sysdeps/x86_64/
- From: eglibc@xxxxxxxxxx
- Date: Sun, 08 Apr 2012 00:02:07 -0000
Author: eglibc
Date: Sun Apr 8 00:02:06 2012
New Revision: 17956
Log:
Import glibc-mainline for 2012-04-08
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/elf/dynamic-link.h
fsf/trunk/libc/elf/elf.h
fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S
fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h
fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
fsf/trunk/libc/sysdeps/x86_64/memset_chk.S
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Apr 8 00:02:06 2012
@@ -1,3 +1,21 @@
+2012-04-07 Mike Frysinger <vapier@xxxxxxxxxx>
+
+ * sysdeps/i386/i686/memset_chk.S: Change PIC to SHARED.
+ * sysdeps/x86_64/memset_chk.S: Likewise.
+
+2012-04-07 David S. Miller <davem@xxxxxxxxxxxxx>
+
+ * elf/elf.h (R_SPARC_WDISP10): Define.
+ * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
+ R_SPARC_SIZE32.
+ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle
+ R_SPARC_SIZE64 and R_SPARC_H34.
+
+2012-04-07 Carlos O'Donell <carlos_odonell@xxxxxxxxxx>
+
+ * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
+ conditions and remove no longer applicable assertion.
+
2012-04-06 H.J. Lu <hongjiu.lu@xxxxxxxxx>
* bits/byteswap.h (__bswap_16): Removed.
Modified: fsf/trunk/libc/elf/dynamic-link.h
==============================================================================
--- fsf/trunk/libc/elf/dynamic-link.h (original)
+++ fsf/trunk/libc/elf/dynamic-link.h Sun Apr 8 00:02:06 2012
@@ -278,13 +278,7 @@
\
if (__builtin_expect (ranges[0].size, 1)) \
ranges[0].size = (start - ranges[0].start); \
- if (! ELF_DURING_STARTUP \
- && ((do_lazy) \
- /* This test does not only detect whether the relocation \
- sections are in the right order, it also checks whether \
- there is a DT_REL/DT_RELA section. */ \
- || __builtin_expect (ranges[0].start + ranges[0].size \
- != start, 0))) \
+ if (! ELF_DURING_STARTUP && ((do_lazy) || ranges[0].size == 0)) \
{ \
ranges[1].start = start; \
ranges[1].size = (map)->l_info[DT_PLTRELSZ]->d_un.d_val; \
@@ -293,7 +287,6 @@
else \
{ \
/* Combine processing the sections. */ \
- assert (ranges[0].start + ranges[0].size == start); \
ranges[0].size += (map)->l_info[DT_PLTRELSZ]->d_un.d_val; \
} \
} \
Modified: fsf/trunk/libc/elf/elf.h
==============================================================================
--- fsf/trunk/libc/elf/elf.h (original)
+++ fsf/trunk/libc/elf/elf.h Sun Apr 8 00:02:06 2012
@@ -1327,6 +1327,7 @@
#define R_SPARC_H34 85
#define R_SPARC_SIZE32 86
#define R_SPARC_SIZE64 87
+#define R_SPARC_WDISP10 88
#define R_SPARC_JMP_IREL 248
#define R_SPARC_IRELATIVE 249
#define R_SPARC_GNU_VTINHERIT 250
Modified: fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/memset_chk.S Sun Apr 8 00:02:06 2012
@@ -19,7 +19,7 @@
#include <sysdep.h>
#include "asm-syntax.h"
-#ifndef PIC
+#ifndef SHARED
/* For libc.so this is defined in memset.S.
For libc.a, this is a separate source to avoid
memset bringing in __chk_fail and all routines
Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/dl-machine.h Sun Apr 8 00:02:06 2012
@@ -359,6 +359,12 @@
if (__builtin_expect (r_type == R_SPARC_NONE, 0))
return;
+ if (__builtin_expect (r_type == R_SPARC_SIZE32, 0))
+ {
+ *reloc_addr = sym->st_size + reloc->r_addend;
+ return;
+ }
+
#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
{
Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h Sun Apr 8 00:02:06 2012
@@ -385,6 +385,12 @@
if (__builtin_expect (r_type == R_SPARC_NONE, 0))
return;
+ if (__builtin_expect (r_type == R_SPARC_SIZE64, 0))
+ {
+ *reloc_addr = sym->st_size + reloc->r_addend;
+ return;
+ }
+
#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
if (__builtin_expect (r_type == R_SPARC_RELATIVE, 0))
{
@@ -552,6 +558,12 @@
(((value & 0x3ff) + ELF64_R_TYPE_DATA (reloc->r_info)) & 0x1fff));
break;
+ /* ABS34 code model reloc */
+ case R_SPARC_H34:
+ *(unsigned int *) reloc_addr =
+ ((*(unsigned int *)reloc_addr & 0xffc00000) |
+ ((value >> 12) & 0x3fffff));
+
/* MEDMID code model relocs */
case R_SPARC_H44:
*(unsigned int *) reloc_addr =
Modified: fsf/trunk/libc/sysdeps/x86_64/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/x86_64/memset_chk.S Sun Apr 8 00:02:06 2012
@@ -19,7 +19,7 @@
#include <sysdep.h>
#include "asm-syntax.h"
-#ifndef PIC
+#ifndef SHARED
/* For libc.so this is defined in memset.S.
For libc.a, this is a separate source to avoid
memset bringing in __chk_fail and all routines
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits