diff options
-rw-r--r-- | gas/read.c | 15 | ||||
-rw-r--r-- | gas/read.h | 3 |
2 files changed, 17 insertions, 1 deletions
@@ -176,7 +176,7 @@ addressT abs_section_offset; /* If this line had an MRI style label, it is stored in this variable. This is used by some of the MRI pseudo-ops. */ -static symbolS *mri_line_label; +symbolS *mri_line_label; /* This global variable is used to support MRI common sections. We translate such sections into a common symbol. This variable is @@ -309,10 +309,13 @@ static const pseudo_typeS potable[] = {"lsym", s_lsym, 0}, {"noformat", s_ignore, 0}, {"nolist", listing_list, 0}, /* Turn listing off */ + {"nopage", listing_nopage, 0}, {"octa", cons, 16}, {"offset", s_struct, 0}, {"org", s_org, 0}, {"p2align", s_align_ptwo, 0}, + {"page", listing_eject, 0}, + {"plen", listing_psize, 0}, {"psize", listing_psize, 0}, /* set paper size */ /* print */ {"quad", cons, 8}, @@ -1603,6 +1606,16 @@ s_org (ignore) expressionS exp; register long temp_fill; + /* The MRI assembler has a different meaning for .org. It means to + create an absolute section at a given address. We can't support + that--use a linker script instead. */ + if (flag_mri) + { + as_bad ("MRI style ORG pseudo-op not supported"); + ignore_rest_of_line (); + return; + } + /* Don't believe the documentation of BSD 4.2 AS. There is no such thing as a sub-segment-relative origin. Any absolute origin is given a warning, then assumed to be segment-relative. Any @@ -63,6 +63,9 @@ extern int generate_asm_lineno; /* The offset in the absolute section. */ extern addressT abs_section_offset; +/* The MRI label on a line, used by some of the MRI pseudo-ops. */ +extern symbolS *mri_line_label; + /* This is used to support MRI common sections. */ extern symbolS *mri_common_symbol; |