* subsegs.c (subseg_text_p): Return 0 for absolute section.
authorAlan Modra <amodra@gmail.com>
Fri, 5 Oct 2001 10:53:00 +0000 (10:53 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 5 Oct 2001 10:53:00 +0000 (10:53 +0000)
* read.c (do_align): If in absolute section, warn about and ignore
non-zero fill pattern.

gas/ChangeLog
gas/read.c
gas/subsegs.c

index e1588d2..fe25ca9 100644 (file)
@@ -1,3 +1,9 @@
+2001-10-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * subsegs.c (subseg_text_p): Return 0 for absolute section.
+       * read.c (do_align): If in absolute section, warn about and ignore
+       non-zero fill pattern.
+
 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
 
        * config/tc-mn10300.c (tc_gen_reloc): Don't free
index 80389b7..52de12d 100644 (file)
@@ -1162,6 +1162,19 @@ do_align (n, fill, len, max)
      int len;
      int max;
 {
+  if (now_seg == absolute_section)
+    {
+      if (fill != NULL)
+       while (len-- > 0)
+         if (*fill++ != '\0')
+           {
+             as_warn (_("ignoring fill value in absolute section"));
+             break;
+           }
+      fill = NULL;
+      len = 0;
+    }
+
 #ifdef md_do_align
   md_do_align (n, fill, len, max, just_record_alignment);
 #endif
index f5a1022..c815953 100644 (file)
@@ -587,7 +587,7 @@ subseg_text_p (sec)
 #else /* ! BFD_ASSEMBLER */
   const char * const *p;
 
-  if (sec == data_section || sec == bss_section)
+  if (sec == data_section || sec == bss_section || sec == absolute_section)
     return 0;
 
   for (p = nontext_section_names; *p != NULL; ++p)