From 038bfd6b5655321bbe9c1d1c4a16ae82656e589e Mon Sep 17 00:00:00 2001 From: rth Date: Wed, 16 May 2001 22:50:16 +0000 Subject: [PATCH] * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42180 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 2 ++ gcc/config/i386/i386.h | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4024dd0..6d52557 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,8 @@ * dwarf2asm.c (eh_data_format_name): Add names for "pointer size" variants of non-absolute encodings. + * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New. + 2001-05-16 Richard Henderson * except.c (eh_data_format_name): Move to ... diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 27ac641..6a229b7 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -2830,6 +2830,18 @@ extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER]; #define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) : INVALID_REGNUM) #define EH_RETURN_STACKADJ_RTX gen_rtx_REG (Pmode, 2) +/* 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. + + ??? All x86 object file formats are capable of representing this. + After all, the relocation needed is the same as for the call insn. + Whether or not a particular assembler allows us to enter such, I + guess we'll have to see. */ +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ + (flag_pic ? (GLOBAL ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel \ + : DW_EH_PE_absptr) + /* This is how to output the definition of a user-level label named NAME, such as the label on a static function or variable NAME. */ -- 2.7.4