diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2001-06-05 18:57:49 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2001-06-05 18:57:49 -0700 |
commit | 099c8b17ace8e7a35a53993bf8cf211b955d29a8 (patch) | |
tree | 7d58db2a4f6ec00eb20b149b79bc6fbe2e8c5a80 /gcc/config/alpha/osf.h | |
parent | c51f6c6bd5a4177ee5dcb0afbfe9b27e4fda6478 (diff) | |
download | gcc-099c8b17ace8e7a35a53993bf8cf211b955d29a8.zip gcc-099c8b17ace8e7a35a53993bf8cf211b955d29a8.tar.gz gcc-099c8b17ace8e7a35a53993bf8cf211b955d29a8.tar.bz2 |
dwarf2.h (DW_EH_PE_aligned): New.
* 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.
From-SVN: r42926
Diffstat (limited to 'gcc/config/alpha/osf.h')
-rw-r--r-- | gcc/config/alpha/osf.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/alpha/osf.h b/gcc/config/alpha/osf.h index 1d1109b..b6e80d0 100644 --- a/gcc/config/alpha/osf.h +++ b/gcc/config/alpha/osf.h @@ -153,3 +153,17 @@ __enable_execute_stack (addr) \ #define HAS_INIT_SECTION #define LD_INIT_SWITCH "-init" #define LD_FINI_SWITCH "-fini" + +/* Select a format to encode pointers in exception handling data. CODE + is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is + true if the symbol may be affected by dynamic relocations. + + We really ought to be using the SREL32 relocations that ECOFF has, + but no version of the native assembler supports creating such things, + and Compaq has no plans to rectify this. Worse, the dynamic loader + cannot handle unaligned relocations, so we have to make sure that + things get padded appropriately. */ +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ + (TARGET_GAS \ + ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ + : DW_EH_PE_aligned) |