Undo previous delta
[deliverable/binutils-gdb.git] / gas / config / obj-aout.c
index c89d3acd4f41b5664631a95b88e376215b953b48..6e5fd29191a1bfc51c6c0960c98e387aba67c5a7 100644 (file)
@@ -464,14 +464,18 @@ obj_crawl_symbol_chain (headers)
       if (flag_readonly_data_in_text && (S_GET_SEGMENT (symbolP) == SEG_DATA))
        {
          S_SET_SEGMENT (symbolP, SEG_TEXT);
-       }                       /* if pusing data into text */
+       }                       /* if pushing data into text */
 
       resolve_symbol_value (symbolP);
 
       /* Skip symbols which were equated to undefined or common
-        symbols.  */
+        symbols.  Also skip defined uncommon symbols which can
+        be resolved since in this case they should have been
+        resolved to a non-symbolic constant.  */
       if (symbolP->sy_value.X_op == O_symbol
-         && (! S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP)))
+         && (! S_IS_DEFINED (symbolP)
+             || S_IS_COMMON (symbolP)
+             || symbol_resolved_p (symbolP)))
        {
          *symbolPP = symbol_next (symbolP);
          continue;
@@ -572,62 +576,6 @@ obj_pre_write_hook (headers)
   tc_aout_pre_write_hook (headers);
 }
 
-void
-s_sect ()
-{
-  /* Strip out the section name */
-  char *section_name;
-  char *section_name_end;
-  char c;
-
-  unsigned int len;
-  unsigned int exp;
-  char *save;
-
-  section_name = input_line_pointer;
-  c = get_symbol_end ();
-  section_name_end = input_line_pointer;
-
-  len = section_name_end - section_name;
-  input_line_pointer++;
-  save = input_line_pointer;
-
-  SKIP_WHITESPACE ();
-  if (c == ',')
-    {
-      exp = get_absolute_expression ();
-    }
-  else if (*input_line_pointer == ',')
-    {
-      input_line_pointer++;
-      exp = get_absolute_expression ();
-    }
-  else
-    {
-      input_line_pointer = save;
-      exp = 0;
-    }
-  if (exp >= 1000)
-    {
-      as_bad (_("subsegment index too high"));
-    }
-
-  if (strcmp (section_name, ".text") == 0)
-    {
-      subseg_set (SEG_TEXT, (subsegT) exp);
-    }
-
-  if (strcmp (section_name, ".data") == 0)
-    {
-      if (flag_readonly_data_in_text)
-       subseg_set (SEG_TEXT, (subsegT) exp + 1000);
-      else
-       subseg_set (SEG_DATA, (subsegT) exp);
-    }
-
-  *section_name_end = c;
-}
-
 #endif /* ! BFD_ASSEMBLER */
 
 #ifdef BFD_ASSEMBLER
This page took 0.02425 seconds and 4 git commands to generate.