aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2002-02-01 08:09:47 +0000
committerHans-Peter Nilsson <hp@axis.com>2002-02-01 08:09:47 +0000
commit973eb3402f7b79ba3444177887be54562a276841 (patch)
tree27c9b87cee0f0f0f29b35462b3790c93e68b8a23 /gas/doc
parentb52a8679a51c7c8981ceadef6e0ba2a83e8857f9 (diff)
downloadfsf-binutils-gdb-973eb3402f7b79ba3444177887be54562a276841.zip
fsf-binutils-gdb-973eb3402f7b79ba3444177887be54562a276841.tar.gz
fsf-binutils-gdb-973eb3402f7b79ba3444177887be54562a276841.tar.bz2
Support on-demand global register allocation by passing on
base-plus-offset relocs to the linker. * config/tc-mmix.c: Tweak and fix typos in comments. (allocate_undefined_gregs_in_linker): New variable. (OPTION_LINKER_ALLOCATED_GREGS): New option macro. (md_longopts): Add --linker-allocated-gregs. (md_parse_option) <case 'x'>: Imply --linker-allocated-gregs. <case OPTION_LINKER_ALLOCATED_GREGS>: New. (md_show_usage): Update text for -x. Add text for --linker-allocated-gregs. (tc_gen_reloc): Derive default value for addend from val and baddsy. Use addsec and bfd_is_abs_section in more places. Don't emit error for BFD_RELOC_MMIX_BASE_PLUS_OFFSET without suitable GREG if allocate_undefined_gregs_in_linker. * doc/as.texinfo (Overview) <Target MMIX options>: Add --linker-allocated-gregs. * doc/c-mmix.texi (MMIX-Opts): Add blurb about --linker-allocated-gregs. Mention that it's implied by -x. (MMIX-Pseudos) <GREG>: Mention when and how a GREG can be omitted. (MMIX-mmixal): Clarify dated comparison and location of MMIXware. * config/tc-mmix.h (md_parse_name): Use ISUPPER, not isupper.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texinfo7
-rw-r--r--gas/doc/c-mmix.texi26
2 files changed, 23 insertions, 10 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 3d7fef5..6d04ac4 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -1,6 +1,6 @@
\input texinfo @c -*-Texinfo-*-
@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-@c 2001
+@c 2001, 2002
@c Free Software Foundation, Inc.
@c UPDATE!! On future updates--
@c (1) check for new machine-dep cmdline options in
@@ -127,7 +127,7 @@ END-INFO-DIR-ENTRY
This file documents the GNU Assembler "@value{AS}".
@c man begin COPYRIGHT
-Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
+Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
@@ -180,7 +180,7 @@ done.
@end tex
@vskip 0pt plus 1filll
-Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
+Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
@@ -354,6 +354,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
[@b{--fixed-special-register-names}] [@b{--globalize-symbols}]
[@b{--gnu-syntax}] [@b{--relax}] [@b{--no-predefined-symbols}]
[@b{--no-expand}] [@b{--no-merge-gregs}] [@b{-x}]
+ [@b{--linker-allocated-gregs}]
@end ifset
@ifset PDP11
diff --git a/gas/doc/c-mmix.texi b/gas/doc/c-mmix.texi
index dd18765..e3622ac 100644
--- a/gas/doc/c-mmix.texi
+++ b/gas/doc/c-mmix.texi
@@ -1,4 +1,4 @@
-@c Copyright 2001 Free Software Foundation, Inc.
+@c Copyright 2001, 2002 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@c MMIX description by Hans-Peter Nilsson, hp@bitrange.com
@@ -79,7 +79,15 @@ is specified, and assembly fails otherwise, when an instruction needs to
be expanded. It needs to be kept in mind that @code{mmixal} is both an
assembler and linker, while @code{@value{AS}} will expand instructions
that at link stage can be contracted. (Though linker relaxation isn't yet
-implemented in @code{@value{LD}}.)
+implemented in @code{@value{LD}}.) The option @samp{-x} also imples
+@samp{--linker-allocated-gregs}.
+
+@cindex @samp{--linker-allocated-gregs} command line option, MMIX
+Usually a two-operand-expression (@pxref{GREG-base}) without a matching
+@samp{GREG} directive is treated as an error by @code{@value{AS}}. When
+the option @samp{--linker-allocated-gregs} is in effect, they are instead
+passed through to the linker, which will allocate as many global registers
+as is needed.
@node MMIX-Expand
@section Instruction expansion
@@ -381,7 +389,10 @@ Global registers allocated with this directive are allocated in order
higher-to-lower within a file. Other than that, the exact order of
register allocation and elimination is undefined. For example, the order
is undefined when more than one file with such directives are linked
-together.
+together. With the options @samp{-x} and @samp{--linker-allocated-gregs},
+@samp{GREG} directives for two-operand cases like the one mentioned above
+can be omitted. Sufficient global registers will then be allocated by the
+linker.
@item BYTE
@cindex assembler directive BYTE, MMIX
@@ -544,10 +555,11 @@ upper-case characters.
There's no unicode support.
-The following is a list of programs in
-@url{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html} dated
-2001-08-25 (md5sum c393470cfc86fac040487d22d2bf0172) that assemble with
-@code{mmixal} but do not assemble with @code{@value{AS}}:
+The following is a list of programs in @samp{mmix.tar.gz}, available at
+@url{http://www-cs-faculty.stanford.edu/~knuth/mmix-news.html}, last
+checked with the version dated 2001-08-25 (md5sum
+c393470cfc86fac040487d22d2bf0172) that assemble with @code{mmixal} but do
+not assemble with @code{@value{AS}}:
@table @code
@item silly.mms