aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lto-plugin/ChangeLog6
-rw-r--r--lto-plugin/lto-plugin.c4
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;