diff options
author | Richard Guenther <rguenther@suse.de> | 2011-01-12 12:04:39 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-01-12 12:04:39 +0000 |
commit | 47782a9d27a4416cfab25b95f32f037b10833ecb (patch) | |
tree | a42ffd810c5aade05f0953b22294d9fe86149c13 /lto-plugin | |
parent | 753cc6853ba292271d6fa385b8427e3b895bb083 (diff) | |
download | gcc-47782a9d27a4416cfab25b95f32f037b10833ecb.tar.gz |
re PR lto/47264 (Many tests fail with -flto due unaligned load in lto-plugin.c)
2011-01-12 Richard Guenther <rguenther@suse.de>
PR lto/47264
* lto-plugin.c (parse_table_entry): Use memcpy to access
unaligned fields.
From-SVN: r168708
Diffstat (limited to 'lto-plugin')
-rw-r--r-- | lto-plugin/ChangeLog | 6 | ||||
-rw-r--r-- | lto-plugin/lto-plugin.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index d802828f0e5..4b1200289ed 100644 --- a/lto-plugin/ChangeLog +++ b/lto-plugin/ChangeLog @@ -1,3 +1,9 @@ +2011-01-12 Richard Guenther <rguenther@suse.de> + + PR lto/47264 + * lto-plugin.c (parse_table_entry): Use memcpy to access + unaligned fields. + 2010-12-20 Dave Korn <dave.korn.cygwin@gmail.com> * Makefile.am (AM_LIBTOOLFLAGS): Define, adding disable-static tag. diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c index ab18f4c6d9c..2f422a3dd70 100644 --- a/lto-plugin/lto-plugin.c +++ b/lto-plugin/lto-plugin.c @@ -249,10 +249,10 @@ parse_table_entry (char *p, struct ld_plugin_symbol *entry, entry->visibility = translate_visibility[t]; p++; - entry->size = *(uint64_t *) p; + memcpy (&entry->size, p, sizeof (uint64_t)); p += 8; - aux->slot = *(uint32_t *) p; + memcpy (&aux->slot, p, sizeof (uint32_t)); p += 4; entry->resolution = LDPR_UNKNOWN; |