From 47782a9d27a4416cfab25b95f32f037b10833ecb Mon Sep 17 00:00:00 2001 From: Richard Guenther <rguenther@suse.de> Date: Wed, 12 Jan 2011 12:04:39 +0000 Subject: [PATCH] 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 --- lto-plugin/ChangeLog | 6 ++++++ lto-plugin/lto-plugin.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog index d802828f0e5d..4b1200289ede 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 ab18f4c6d9c1..2f422a3dd70d 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; -- GitLab