mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-31 14:01:18 +08:00
Merge branch 'master' of git://sourceware.org/git/glibc
Conflicts: ChangeLog
This commit is contained in:
commit
96bd03c79a
18
ChangeLog
18
ChangeLog
@ -4,6 +4,24 @@
|
||||
* manual/llio.texi (Opening and Closing Files): Add cross
|
||||
reference to explain mode argument.
|
||||
|
||||
2012-04-07 Mike Frysinger <vapier@gentoo.org>
|
||||
|
||||
* sysdeps/i386/i686/memset_chk.S: Change PIC to SHARED.
|
||||
* sysdeps/x86_64/memset_chk.S: Likewise.
|
||||
|
||||
2012-04-07 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* 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@mentor.com>
|
||||
|
||||
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
|
||||
conditions and remove no longer applicable assertion.
|
||||
|
||||
2012-04-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* bits/byteswap.h (__bswap_16): Removed.
|
||||
|
@ -278,13 +278,7 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
|
||||
\
|
||||
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 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
|
||||
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; \
|
||||
} \
|
||||
} \
|
||||
|
@ -1327,6 +1327,7 @@ typedef struct
|
||||
#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
|
||||
|
@ -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
|
||||
|
@ -359,6 +359,12 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
|
||||
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))
|
||||
{
|
||||
|
@ -385,6 +385,12 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||
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 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
|
||||
(((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 =
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user