xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit encoding in 64-bit mode.
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 7 Oct 2015 18:35:23 +0000 (18:35 +0000)
committerDavid Edelsohn <dje@gcc.gnu.org>
Wed, 7 Oct 2015 18:35:23 +0000 (14:35 -0400)
* config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
encoding in 64-bit mode.

From-SVN: r228579

gcc/ChangeLog
gcc/config/rs6000/xcoff.h

index 7504c56..c9409e7 100644 (file)
@@ -1,3 +1,8 @@
+2015-10-07  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
+       encoding in 64-bit mode.
+
 2015-10-07  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/66697
index 5cdf87c..301c7e1 100644 (file)
    so use addressing relative to the data segment.
  */
 #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
-  ((GLOBAL) ? (DW_EH_PE_indirect | DW_EH_PE_datarel | DW_EH_PE_sdata4) \
-           : (DW_EH_PE_pcrel | DW_EH_PE_sdata4))
+  (((GLOBAL) ? DW_EH_PE_indirect | DW_EH_PE_datarel : DW_EH_PE_pcrel) \
+   | (TARGET_64BIT ? DW_EH_PE_sdata8 : DW_EH_PE_sdata4))
 
 #define EH_FRAME_THROUGH_COLLECT2 1
 #define EH_TABLES_CAN_BE_READ_ONLY 1