aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/read.c13
-rw-r--r--gas/subsegs.c2
3 files changed, 20 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e1588d2..fe25ca9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/read.c b/gas/read.c
index 80389b7..52de12d 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -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
diff --git a/gas/subsegs.c b/gas/subsegs.c
index f5a1022..c815953 100644
--- a/gas/subsegs.c
+++ b/gas/subsegs.c
@@ -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)