aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2011-06-24 15:22:40 +0000
committerTristan Gingold <gingold@adacore.com>2011-06-24 15:22:40 +0000
commitd120eec2956e7cb812d98be6237e5ad826cf07ec (patch)
tree93cd70095082cc38287138081cb10945dcb0f9e5
parent576d330713e0e9c2cbec6f93c838d97580f09800 (diff)
downloadgdb-d120eec2956e7cb812d98be6237e5ad826cf07ec.zip
gdb-d120eec2956e7cb812d98be6237e5ad826cf07ec.tar.gz
gdb-d120eec2956e7cb812d98be6237e5ad826cf07ec.tar.bz2
2011-06-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the absolute section.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/vms-alpha.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 066713d..96297a3 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-24 Tristan Gingold <gingold@adacore.com>
+
+ * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the
+ absolute section.
+
2011-06-24 Alan Modra <amodra@gmail.com>
PR ld/12921
diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c
index 92bf444..255a100 100644
--- a/bfd/vms-alpha.c
+++ b/bfd/vms-alpha.c
@@ -5106,7 +5106,14 @@ alpha_vms_slurp_relocs (bfd *abfd)
(*_bfd_error_handler) (_("Invalid section index in ETIR"));
return FALSE;
}
+
sec = PRIV (sections)[cur_psect];
+ if (sec == bfd_abs_section_ptr)
+ {
+ (*_bfd_error_handler) (_("Relocation for non-REL psect"));
+ return FALSE;
+ }
+
vms_sec = vms_section_data (sec);
/* Allocate a reloc entry. */
@@ -5117,7 +5124,7 @@ alpha_vms_slurp_relocs (bfd *abfd)
vms_sec->reloc_max = 64;
sec->relocation = bfd_zmalloc
(vms_sec->reloc_max * sizeof (arelent));
- }
+ }
else
{
vms_sec->reloc_max *= 2;