summaryrefslogtreecommitdiff
path: root/gas/doc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2008-09-24 23:21:04 +0000
committerRichard Henderson <rth@redhat.com>2008-09-24 23:21:04 +0000
commit63106db25c87de80c83fe425a5df697253300f79 (patch)
tree3e6bbedde9d6d778b368676399bdcb41bc3c2d59 /gas/doc
parent0e72e82f047af7a9030f71d7883f480ac63da7de (diff)
downloadbinutils-redhat-63106db25c87de80c83fe425a5df697253300f79.tar.gz
* elf/dwarf2.h (DW_OP_GNU_encoded_addr): New. binutils/ * dwarf.c (size_of_encoded_value, get_encoded_value): Move up. (decode_location_expression): Add section parameter. Handle DW_OP_GNU_encoded_addr. (read_and_display_attr_value): Update decode_location_expression call. (display_debug_loc, display_debug_frames): Likewise. gas/ * dw2gencfi.c (DWARF2_ADDR_SIZE): Provide default. (struct cfi_insn_data): Add ea member. (CFI_val_encoded_addr, dot_cfi_val_encoded_addr): New. (output_cfi_insn): Handle CFI_val_encoded_addr. (select_cie_for_fde): Don't match CFI_val_encoded_addr. * doc/as.texinfo (.cfi_val_encoded_addr): Document.
Diffstat (limited to 'gas/doc')
-rw-r--r--gas/doc/as.texinfo11
1 files changed, 11 insertions, 0 deletions
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 92b4cdec20..c0aef5c96c 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -4230,6 +4230,17 @@ Allows the user to add arbitrary bytes to the unwind info. One
might use this to add OS-specific CFI opcodes, or generic CFI
opcodes that GAS does not yet support.
+@section @code{.cfi_val_encoded_addr @var{register}, @var{encoding}, @var{label}}
+The current value of @var{register} is @var{label}. The value of @var{label}
+will be encoded in the output file according to @var{encoding}; see the
+description of @code{.cfi_personality} for details on this encoding.
+
+The usefulness of equating a register to a fixed label is probably
+limited to the return address register. Here, it can be useful to
+mark a code segment that has only one return address which is reached
+by a direct branch and no copy of the return address exists in memory
+or another register.
+
@node LNS directives
@section @code{.file @var{fileno} @var{filename}}
@cindex @code{file} directive