aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-04-16 14:38:54 +0000
committerTristan Gingold <gingold@adacore.com>2010-04-16 14:38:54 +0000
commit11afaedaad1ae2734937e04383183c86b6f2da44 (patch)
tree561df53a6a51ee4fb1060b8d33ccac0a3b58d9ea /bfd
parentddfb684a2fcc454513224bbcfacdc6e708f1b0b2 (diff)
downloadfsf-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.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/vms-alpha.c5
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