From: Ian Lance Taylor Date: Wed, 9 Aug 1995 23:16:06 +0000 (+0000) Subject: * read.c (mri_line_label): Make non-static. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=69e077f3c73bd55a09a92385ade3c447786123ac;p=binutils-gdb.git * read.c (mri_line_label): Make non-static. (potable): Add nopage, page, plen. (s_org): Error if in MRI mode. * read.h (mri_line_label): Declare. * listing.c (listing_nopage): New function. * listing.h (listing_nopage): Declare. --- diff --git a/gas/read.c b/gas/read.c index af8c775cba4..47847ccf62c 100644 --- a/gas/read.c +++ b/gas/read.c @@ -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 diff --git a/gas/read.h b/gas/read.h index 4a00b327cc8..e2f51ef666f 100644 --- a/gas/read.h +++ b/gas/read.h @@ -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;