diff options
author | Tristan Gingold <gingold@adacore.com> | 2010-04-16 14:38:54 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2010-04-16 14:38:54 +0000 |
commit | 11afaedaad1ae2734937e04383183c86b6f2da44 (patch) | |
tree | 561df53a6a51ee4fb1060b8d33ccac0a3b58d9ea | |
parent | ddfb684a2fcc454513224bbcfacdc6e708f1b0b2 (diff) | |
download | fsf-binutils-gdb-11afaedaad1ae2734937e04383183c86b6f2da44.zip fsf-binutils-gdb-11afaedaad1ae2734937e04383183c86b6f2da44.tar.gz fsf-binutils-gdb-11afaedaad1ae2734937e04383183c86b6f2da44.tar.bz2 |
2010-04-16 Andreas Schwab <schwab@redhat.com>
* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
strict-aliasing rules.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/vms-alpha.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 195590d..3d058c5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,8 +1,14 @@ +2010-04-16 Andreas Schwab <schwab@redhat.com> + + * vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking + strict-aliasing rules. + 2010-04-16 Tristan Gingold <gingold@adacore.com> * vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo. (_bfd_vms_get_object_record): Always assume there is a pad byte for alignment. + * vms-lib.c: Add a few comments. 2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 65dafa1..3013192 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -7966,6 +7966,7 @@ alpha_vms_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) { struct vms_symbol_entry *e = PRIV (syms)[i]; struct alpha_vms_link_hash_entry *h; + struct bfd_link_hash_entry *h_root; asymbol sym; if (!alpha_vms_convert_symbol (abfd, e, &sym)) @@ -7983,10 +7984,12 @@ alpha_vms_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) else h = NULL; + h_root = (struct bfd_link_hash_entry *) h; if (_bfd_generic_link_add_one_symbol (info, abfd, sym.name, sym.flags, sym.section, sym.value, - NULL, FALSE, FALSE, (struct bfd_link_hash_entry **)&h) == FALSE) + NULL, FALSE, FALSE, &h_root) == FALSE) return FALSE; + h = (struct alpha_vms_link_hash_entry *) h_root; if ((e->flags & EGSY__V_DEF) && h->sym == NULL |