aboutsummaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-03-26 12:23:48 +0000
committerAlan Modra <amodra@gmail.com>2007-03-26 12:23:48 +0000
commit05e9452c8210da86b07b621562f4a89bd6f637d4 (patch)
tree993b95704efa783576c4566888567942310a4ac1 /gas/doc
parent157090f728a99fff42b3d3cc576b0c2a953e9916 (diff)
downloadgdb-05e9452c8210da86b07b621562f4a89bd6f637d4.zip
gdb-05e9452c8210da86b07b621562f4a89bd6f637d4.tar.gz
gdb-05e9452c8210da86b07b621562f4a89bd6f637d4.tar.bz2
* doc/as.texinfo (Reloc): Document.
* read.c (potable): Add "reloc". (s_reloc): New function. * write.c (reloc_list): New global var. (resolve_reloc_expr_symbols): New function. (write_object_file): Call it. (write_relocs): Process reloc_list. * write.h (struct reloc_list): New. (reloc_list): Declare.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texinfo15
1 files changed, 15 insertions, 0 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 41c80a9..01f2bf8 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -3886,6 +3886,7 @@ Some machine configurations provide additional directives.
@end ifset
* Quad:: @code{.quad @var{bignums}}
+* Reloc:: @code{.reloc @var{offset}, @var{reloc_name}[, @var{expression}]}
* Rept:: @code{.rept @var{count}}
* Sbttl:: @code{.sbttl "@var{subheading}"}
@ifset COFF
@@ -5433,6 +5434,20 @@ warning message; and just takes the lowest order 16 bytes of the bignum.
@cindex integer, 16-byte
@end ifset
+@node Reloc
+@section @code{.reloc @var{offset}, @var{reloc_name}[, @var{expression}]}
+
+@cindex @code{reloc} directive
+Generate a relocation at @var{offset} of type @var{reloc_name} with value
+@var{expression}. If @var{offset} is a number, the relocation is generated in
+the current section. If @var{offset} is an expression that resolves to a
+symbol plus offset, the relocation is generated in the given symbol's section.
+@var{expression}, if present, must resolve to a symbol plus addend or to an
+absolute value, but note that not all targets support an addend. e.g. ELF REL
+targets such as i386 store an addend in the section contents rather than in the
+relocation. This low level interface does not support addends stored in the
+section.
+
@node Rept
@section @code{.rept @var{count}}