From 24eaa34f8c45447dee6d56754e079c058a9ebaf3 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Fri, 7 Dec 2007 23:02:46 +0000 Subject: [PATCH] xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. * config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. (ASM_OUTPUT_DWARF_PCREL): Define. From-SVN: r130697 --- gcc/ChangeLog | 5 +++++ gcc/config/xtensa/xtensa.h | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 65c56ba4838..2e6479211de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-12-07 Bob Wilson + + * config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + (ASM_OUTPUT_DWARF_PCREL): Define. + 2007-12-07 Richard Guenther PR middle-end/34382 diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index e2b94e102b2..79cd05f7fb2 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -1067,6 +1067,19 @@ typedef struct xtensa_args #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (0) #define DWARF_FRAME_REGISTERS 16 #define EH_RETURN_DATA_REGNO(N) ((N) < 2 ? (N) + 2 : INVALID_REGNUM) +#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ + (flag_pic \ + ? (((GLOBAL) ? DW_EH_PE_indirect : 0) \ + | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ + : DW_EH_PE_absptr) + +/* Emit a PC-relative relocation. */ +#define ASM_OUTPUT_DWARF_PCREL(FILE, SIZE, LABEL) \ + do { \ + fputs (integer_asm_op (SIZE, FALSE), FILE); \ + assemble_name (FILE, LABEL); \ + fputs ("@pcrel", FILE); \ + } while (0) /* Xtensa constant pool breaks the devices in crtstuff.c to control section in where code resides. We have to write it as asm code. Use -- 2.30.2