diff options
author | Alan Modra <amodra@gmail.com> | 2007-03-26 12:23:48 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-03-26 12:23:48 +0000 |
commit | 05e9452c8210da86b07b621562f4a89bd6f637d4 (patch) | |
tree | 993b95704efa783576c4566888567942310a4ac1 /gas/doc | |
parent | 157090f728a99fff42b3d3cc576b0c2a953e9916 (diff) | |
download | gdb-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.texinfo | 15 |
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}} |