summaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2001-10-05 10:53:00 +0000
committerAlan Modra <amodra@bigpond.net.au>2001-10-05 10:53:00 +0000
commitc08c96a4dcbb90efc24c8fea0f2a6ee98aeffd0b (patch)
tree8dbe7bfab220a814ab1212d5e55fac9a9bf54b11 /gas
parent39559935fd5f4baa44b65590a6365ce4f6b92d52 (diff)
downloadbinutils-redhat-c08c96a4dcbb90efc24c8fea0f2a6ee98aeffd0b.tar.gz
* 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.
Diffstat (limited to 'gas')
-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 e1588d23bf..fe25ca923d 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 80389b7a53..52de12d64a 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 f5a1022fdf..c8159531ef 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)