summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-10-05 10:53:00 +0000
committerAlan Modra <amodra@gmail.com>2001-10-05 10:53:00 +0000
commitebeb92533bfee1f2e820f86116a140ad2ad26ba4 (patch)
treed6d6df6dd606077ce831d7a95c84d130fd20fa64
parent7dc8f5ceeca255c8f31ae2bc090749baf14d4d64 (diff)
downloadbinutils-gdb-ebeb92533bfee1f2e820f86116a140ad2ad26ba4.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.
-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 e1588d23bfd..fe25ca923d3 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 80389b7a539..52de12d64a3 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 f5a1022fdf5..c8159531ef3 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)