From 192ea533bec3909472c092822e1ca4b379dd6b2e Mon Sep 17 00:00:00 2001 From: Walter Lee Date: Mon, 25 Mar 2013 23:50:52 +0000 Subject: [PATCH] Switch eh data to always use pc relative/indirect encoding, to avoid relocations of unaligned words. From-SVN: r197073 --- gcc/ChangeLog | 7 +++++++ gcc/config/tilegx/tilegx.c | 9 ++------- gcc/config/tilepro/tilepro.c | 5 +---- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fbaaaaa6b84..d163b48af58 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-03-25 Walter Lee + + * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format): + Use indirect/pcrel encoding. + * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format): + Ditto. + 2013-03-25 Steve Ellcey * config/mips/mmips-cpus.def (74kc, 74kf2_1, 74kf, 74kf, 74kf1_1, diff --git a/gcc/config/tilegx/tilegx.c b/gcc/config/tilegx/tilegx.c index 98f53f1993e..c6bdbe60284 100644 --- a/gcc/config/tilegx/tilegx.c +++ b/gcc/config/tilegx/tilegx.c @@ -4786,13 +4786,8 @@ tilegx_reorg (void) int tilegx_asm_preferred_eh_data_format (int code ATTRIBUTE_UNUSED, int global) { - if (flag_pic) - { - int type = TARGET_32BIT ? DW_EH_PE_sdata4 : DW_EH_PE_sdata8; - return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | type; - } - else - return DW_EH_PE_absptr; + int type = TARGET_32BIT ? DW_EH_PE_sdata4 : DW_EH_PE_sdata8; + return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | type; } diff --git a/gcc/config/tilepro/tilepro.c b/gcc/config/tilepro/tilepro.c index 29dff87f078..59618e4384b 100644 --- a/gcc/config/tilepro/tilepro.c +++ b/gcc/config/tilepro/tilepro.c @@ -4338,10 +4338,7 @@ tilepro_reorg (void) int tilepro_asm_preferred_eh_data_format (int code ATTRIBUTE_UNUSED, int global) { - if (flag_pic) - return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4; - else - return DW_EH_PE_absptr; + return (global ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4; } -- 2.30.2