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.15-477-g1532c7a
- From: hjl at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 23 Mar 2012 18:07:50 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.15-477-g1532c7a
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 1532c7ac9aedd769f81aef9bf1653dab041b272b (commit)
from 3ff4252677ff55a0dd4ded5b5cbccda25812ba12 (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=1532c7ac9aedd769f81aef9bf1653dab041b272b
commit 1532c7ac9aedd769f81aef9bf1653dab041b272b
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Mar 23 11:06:57 2012 -0700
Make sure x86_64 GOT entry slot is always 8 bytes
diff --git a/ChangeLog b/ChangeLog
index ed16915..79003da 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/dl-tlsdesc.h (tlsdesc): Use anonymous union
+ to pad to uint64_t for each field.
+ (dl_tls_index): Replace unsigned long with uint64_t.
+
2012-03-23 Daniel Jacobowitz <dmj@google.com>
Paul Pluzhnikov <ppluzhnikov@google.com>
diff --git a/sysdeps/x86_64/dl-tlsdesc.h b/sysdeps/x86_64/dl-tlsdesc.h
index 82a0109..06ede02 100644
--- a/sysdeps/x86_64/dl-tlsdesc.h
+++ b/sysdeps/x86_64/dl-tlsdesc.h
@@ -29,14 +29,24 @@
/* Type used to represent a TLS descriptor in the GOT. */
struct tlsdesc
{
- ptrdiff_t (*entry)(struct tlsdesc *on_rax);
- void *arg;
+ /* Anonymous union is used here to ensure that GOT entry slot is always
+ 8 bytes for both x32 and x86-64. */
+ union
+ {
+ ptrdiff_t (*entry) (struct tlsdesc *on_rax);
+ uint64_t entry_slot;
+ };
+ union
+ {
+ void *arg;
+ uint64_t arg_slot;
+ };
};
typedef struct dl_tls_index
{
- unsigned long int ti_module;
- unsigned long int ti_offset;
+ uint64_t ti_module;
+ uint64_t ti_offset;
} tls_index;
/* Type used as the argument in a TLS descriptor for a symbol that
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/x86_64/dl-tlsdesc.h | 18 ++++++++++++++----
2 files changed, 20 insertions(+), 4 deletions(-)
hooks/post-receive
--
GNU C Library master sources