diff --git a/gas/ChangeLog b/gas/ChangeLog
index 53bf5197598..10ec663339d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-03  Richard Henderson  <rth@cygnus.com>
+
+	* dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
+	instead of doing the work by hand.
+
 1999-06-03  David Mosberger  <davidm@hpl.hp.com>
 
 	* dwarf2dbg.c (INITIAL_STATE): New macro encapsulating initial
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 75b6d5ca760..3c223e880fa 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -371,15 +371,11 @@ dwarf2_gen_line_info (bfd_vma addr, struct dwarf2_line_info *l)
 
   if (!ls.line_seg)
     {
-      symbolS *secsym;
-
-      ls.line_seg = subseg_get (".debug_line", DL_BODY);
+      ls.line_seg = subseg_new (".debug_line", 0);
       bfd_set_section_flags (stdoutput, ls.line_seg, SEC_READONLY);
-      secsym = symbol_find (".debug_line");
-      if (secsym)
-	secsym->bsym = ls.line_seg->symbol;
-      else
-	symbol_table_insert (section_symbol (ls.line_seg));
+
+      /* We're going to need this symbol.  */
+      (void) section_symbol (ls.line_seg);
     }
 
   saved_seg = now_seg;