This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.11-253-gd6d1c4c
- From: davem at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 9 Mar 2010 11:49:33 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.11-253-gd6d1c4c
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via d6d1c4c87c3f2e60d9aab570aefc3e63d0467f33 (commit)
from 058e9ba9fd03b86246b8ed3c49392fa783a5c337 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d6d1c4c87c3f2e60d9aab570aefc3e63d0467f33
commit d6d1c4c87c3f2e60d9aab570aefc3e63d0467f33
Author: David S. Miller <davem@davemloft.net>
Date: Tue Mar 9 03:48:24 2010 -0800
sparc64: Fix handling of R_SPARC_TLS_LE_* relocations.
diff --git a/ChangeLog b/ChangeLog
index 87c7717..2963971 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-03-09 David S. Miller <davem@davemloft.net>
+
+ * sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handling
+ of R_SPARC_TLS_LE_* needs to use 32-bit loads and stores, not
+ 64-bit ones.
+
2010-03-07 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index fcfbb06..82ab5a4 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -513,11 +513,13 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
value = sym->st_value - sym_map->l_tls_offset
+ reloc->r_addend;
if (r_type == R_SPARC_TLS_LE_HIX22)
- *reloc_addr = (*reloc_addr & 0xffc00000)
- | (((~value) >> 10) & 0x3fffff);
+ *(unsigned int *)reloc_addr =
+ ((*(unsigned int *)reloc_addr & 0xffc00000)
+ | (((~value) >> 10) & 0x3fffff));
else
- *reloc_addr = (*reloc_addr & 0xffffe000) | (value & 0x3ff)
- | 0x1c00;
+ *(unsigned int *)reloc_addr =
+ ((*(unsigned int *)reloc_addr & 0xffffe000) | (value & 0x3ff)
+ | 0x1c00);
}
break;
# endif
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/sparc/sparc64/dl-machine.h | 10 ++++++----
2 files changed, 12 insertions(+), 4 deletions(-)
hooks/post-receive
--
GNU C Library master sources