summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-03-14 12:33:02 +0000
committerAlan Modra <amodra@gmail.com>2005-03-14 12:33:02 +0000
commit833abccb4d0b360bbe20f69a9e208b6b7f84b0e0 (patch)
tree37e50da607aeae7d9393812503decea5f93aa322
parenta03c8a3bd32f76a2d64b8a3d6db92eed235644ac (diff)
downloadbinutils-gdb-833abccb4d0b360bbe20f69a9e208b6b7f84b0e0.tar.gz
* ldexp.c (exp_fold_tree): Ensure return value is initialized.
Tidy etree_assert case.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldexp.c15
2 files changed, 12 insertions, 8 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9fb2dbbeb8c..ca4cc215db8 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
2005-03-14 Alan Modra <amodra@bigpond.net.au>
+ * ldexp.c (exp_fold_tree): Ensure return value is initialized.
+ Tidy etree_assert case.
+
+2005-03-14 Alan Modra <amodra@bigpond.net.au>
+
* po/tr.po: Commit new Turkish translation.
2005-03-07 Nick Clifton <nickc@redhat.com>
diff --git a/ld/ldexp.c b/ld/ldexp.c
index ec25557bafb..b194bec468c 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -699,7 +699,7 @@ exp_fold_tree (etree_type *tree,
if (tree == NULL)
{
- result.valid_p = FALSE;
+ memset (&result, 0, sizeof (result));
return result;
}
@@ -711,7 +711,7 @@ exp_fold_tree (etree_type *tree,
case etree_rel:
if (allocation_done != lang_final_phase_enum)
- result.valid_p = FALSE;
+ memset (&result, 0, sizeof (result));
else
result = new_rel ((tree->rel.value
+ tree->rel.section->output_section->vma
@@ -724,12 +724,8 @@ exp_fold_tree (etree_type *tree,
result = exp_fold_tree (tree->assert_s.child,
current_section,
allocation_done, dot, dotp);
- if (result.valid_p)
- {
- if (! result.value)
- einfo ("%X%P: %s\n", tree->assert_s.message);
- return result;
- }
+ if (result.valid_p && !result.value)
+ einfo ("%X%P: %s\n", tree->assert_s.message);
break;
case etree_unary:
@@ -787,6 +783,8 @@ exp_fold_tree (etree_type *tree,
}
}
}
+ else
+ memset (&result, 0, sizeof (result));
}
else
{
@@ -839,6 +837,7 @@ exp_fold_tree (etree_type *tree,
default:
FAIL ();
+ memset (&result, 0, sizeof (result));
break;
}