summaryrefslogtreecommitdiff
path: root/gcc/dwarf2asm.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-06 01:57:49 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2001-06-06 01:57:49 +0000
commit9a4d22ba1e8fcbd07ad2306af585edcfc2a9e4cc (patch)
tree7d58db2a4f6ec00eb20b149b79bc6fbe2e8c5a80 /gcc/dwarf2asm.c
parent4490d2f1bca8aabc8c13a2dbbcd5f07ec0c4999b (diff)
downloadgcc-9a4d22ba1e8fcbd07ad2306af585edcfc2a9e4cc.tar.gz
* dwarf2.h (DW_EH_PE_aligned): New.
* dwarf2asm.c (eh_data_format_name): Name it. (dw2_asm_output_encoded_addr_rtx): Align for it. * dwarf2out.c (output_call_frame_info): Handle it for personality routine and LSDA pointers. * unwind-pe.h (DW_EH_PE_aligned): New. (base_of_encoded_value): Handle it. (read_encoded_value_with_base): Likewise. * unwind-dw2-fde.c (base_from_object): Likewise. (get_cie_encoding): Likewise. * config/alpha/elf.h: Remove ecoff commentary. * config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42926 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarf2asm.c')
-rw-r--r--gcc/dwarf2asm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c
index 98b557202a8..15ae68dd212 100644
--- a/gcc/dwarf2asm.c
+++ b/gcc/dwarf2asm.c
@@ -490,6 +490,7 @@ eh_data_format_name (format)
S(DW_EH_PE_absptr, "absolute")
S(DW_EH_PE_omit, "omit")
+ S(DW_EH_PE_aligned, "aligned absolute")
S(DW_EH_PE_uleb128, "uleb128")
S(DW_EH_PE_udata2, "udata2")
@@ -947,6 +948,12 @@ dw2_asm_output_encoded_addr_rtx VPARAMS ((int encoding,
size = size_of_encoded_value (encoding);
+ if (encoding == DW_EH_PE_aligned)
+ {
+ assemble_align (POINTER_SIZE);
+ encoding = DW_EH_PE_absptr;
+ }
+
/* NULL is _always_ represented as a plain zero. */
if (addr == const0_rtx)
assemble_integer (addr, size, 1);