aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/obj-coff.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5d382ed..6bdaec0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-04-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config/obj-coff.c (do_linenos_for): Check to see if the filename
+ symbol has been initialised before extracting its symbol index.
+
2001-04-24 H.J. Lu <hjl@gnu.org>
* configure: Regenerated with the right version of autoconf.
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 2527fef..37aa640 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -2076,7 +2076,7 @@ fill_section (abfd, h, file_cursor)
if (s->s_name[0])
{
fragS *frag = segment_info[i].frchainP->frch_root;
- char *buffer;
+ char *buffer = NULL;
if (s->s_size == 0)
s->s_scnptr = 0;
@@ -3350,12 +3350,13 @@ do_linenos_for (abfd, h, file_cursor)
line_ptr != (struct lineno_list *) NULL;
line_ptr = line_ptr->next)
{
-
if (line_ptr->line.l_lnno == 0)
{
- /* Turn a pointer to a symbol into the symbols' index */
- line_ptr->line.l_addr.l_symndx =
- ((symbolS *) line_ptr->line.l_addr.l_symndx)->sy_number;
+ /* Turn a pointer to a symbol into the symbols' index,
+ provided that it has been initialised. */
+ if (line_ptr->line.l_addr.l_symndx)
+ line_ptr->line.l_addr.l_symndx =
+ ((symbolS *) line_ptr->line.l_addr.l_symndx)->sy_number;
}
else
{