diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/obj-coff.c | 11 |
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 { |