From patchwork Tue Oct 12 20:48:39 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nathan Froyd X-Patchwork-Id: 67611 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 1DEC9B6F10 for ; Wed, 13 Oct 2010 07:48:57 +1100 (EST) Received: (qmail 16735 invoked by alias); 12 Oct 2010 20:48:55 -0000 Received: (qmail 16714 invoked by uid 22791); 12 Oct 2010 20:48:53 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Oct 2010 20:48:46 +0000 Received: (qmail 25654 invoked from network); 12 Oct 2010 20:48:42 -0000 Received: from unknown (HELO codesourcery.com) (froydnj@127.0.0.2) by mail.codesourcery.com with ESMTPA; 12 Oct 2010 20:48:42 -0000 Date: Tue, 12 Oct 2010 16:48:39 -0400 From: Nathan Froyd To: gcc-patches@gcc.gnu.org Subject: [PATCH] replace LIBGCC2_WORDS_BIG_ENDIAN with __WORDS_BIG_ENDIAN__ Message-ID: <20101012204838.GE24720@nightcrawler> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org The patch below eliminates the need for LIBGCC2_WORDS_BIG_ENDIAN by having the compiler define __WORDS_BIG_ENDIAN__ and appropriate places use that instead. The motivating idea here is that the compiler should be queried for all target-specific knowledge when compiling target libraries. I plan to replace several other macros in a similar fashion. Boostrapped on x86_64-unknown-linux-gnu, also tested with cross to mips-elf and powerpc-eabispe as bi-endian targets. Need C approval for the cppbuiltin.c change and global approval for CPU changes etc. OK to commit? -Nathan gcc/ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __WORDS_BIG_ENDIAN__. * libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. (struct DWstruct): Define based on __WORDS_BIG_ENDIAN__. * config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. (struct INTstruct): Define based on __WORDS_BIG_ENDIAN__. * config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Default to __WORDS_BIG_ENDIAN__. * system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier. * config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete. * doc/tm.texi: Regenerate. libdecnumber/ * dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Default to __WORDS_BIG_ENDIAN__. libgcc/ * config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete. (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Default to __WORDS_BIG_ENDIAN__. diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h index f2d273d..bb47224 100644 --- a/gcc/config/arc/arc.h +++ b/gcc/config/arc/arc.h @@ -99,14 +99,6 @@ extern int arc_cpu_type; numbered. */ #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN) -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#ifdef __big_endian__ -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index c8cbfa2..0764285 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -560,14 +560,6 @@ extern int arm_arch_hwdiv; This is always false, even when in big-endian mode. */ #define WORDS_BIG_ENDIAN (BYTES_BIG_ENDIAN && ! TARGET_LITTLE_WORDS) -/* LIBGCC2_WORDS_BIG_ENDIAN has to be a constant, so we define this based - on processor pre-defineds when compiling libgcc2.c. */ -#if defined(__ARMEB__) && !defined(__ARMWEL__) -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - /* Define this if most significant word of doubles is the lowest numbered. The rules are different based on whether or not we use FPA-format, VFP-format or some other floating point co-processor's format doubles. */ diff --git a/gcc/config/dfp-bit.h b/gcc/config/dfp-bit.h index f093785..aecd82a 100644 --- a/gcc/config/dfp-bit.h +++ b/gcc/config/dfp-bit.h @@ -33,12 +33,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "coretypes.h" #include "tm.h" -#ifndef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - #ifndef LIBGCC2_FLOAT_WORDS_BIG_ENDIAN -#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN LIBGCC2_WORDS_BIG_ENDIAN +#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN __WORDS_BIG_ENDIAN__ #endif #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE diff --git a/gcc/config/fixed-bit.h b/gcc/config/fixed-bit.h index ce5b96e..2fac578 100644 --- a/gcc/config/fixed-bit.h +++ b/gcc/config/fixed-bit.h @@ -41,14 +41,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see Ex: If we define FROM_QQ and TO_SI, the conversion from QQ to SI is generated. */ -/* Permit the tm.h file to select the endianness to use just for this - file. This is used when the endianness is determined when the - compiler is run. */ - -#ifndef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE #endif @@ -428,7 +420,7 @@ typedef int word_type __attribute__ ((mode (__word__))); /* The following defines are based on the previous defines. */ #if defined (HINT_C_TYPE) -#if LIBGCC2_WORDS_BIG_ENDIAN +#if __WORDS_BIG_ENDIAN__ struct INTstruct {HINT_C_TYPE high, low;}; #else struct INTstruct {HINT_C_TYPE low, high;}; diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index 98e9b64..8605592 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -148,12 +148,6 @@ extern enum processor_type ia64_tune; #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) -#if defined(__BIG_ENDIAN__) -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - #define UNITS_PER_WORD 8 #define POINTER_SIZE (TARGET_ILP32 ? 32 : 64) diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h index 6e670ba..05b02f7 100644 --- a/gcc/config/iq2000/iq2000.h +++ b/gcc/config/iq2000/iq2000.h @@ -76,7 +76,6 @@ #define BITS_BIG_ENDIAN 0 #define BYTES_BIG_ENDIAN 1 #define WORDS_BIG_ENDIAN 1 -#define LIBGCC2_WORDS_BIG_ENDIAN 1 #define BITS_PER_WORD 32 #define MAX_BITS_PER_WORD 64 #define UNITS_PER_WORD 4 diff --git a/gcc/config/lm32/lm32.h b/gcc/config/lm32/lm32.h index b0c2d59..afe9a6b 100644 --- a/gcc/config/lm32/lm32.h +++ b/gcc/config/lm32/lm32.h @@ -84,7 +84,6 @@ #define BITS_BIG_ENDIAN 0 #define BYTES_BIG_ENDIAN 1 #define WORDS_BIG_ENDIAN 1 -#define LIBGCC2_WORDS_BIG_ENDIAN 1 #define BITS_PER_UNIT 8 #define BITS_PER_WORD 32 diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h index d767cb9..7bfc975 100644 --- a/gcc/config/m32r/m32r.h +++ b/gcc/config/m32r/m32r.h @@ -328,12 +328,6 @@ extern enum m32r_sdata m32r_sdata; numbered. */ #define WORDS_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0) -/* Define this macro if WORDS_BIG_ENDIAN is not constant. This must - be a constant value with the same meaning as WORDS_BIG_ENDIAN, - which will be used only when compiling libgcc2.c. Typically the - value will be set based on preprocessor defines. */ -/*#define LIBGCC2_WORDS_BIG_ENDIAN 1*/ - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h index a149eb1..8efe64f 100644 --- a/gcc/config/mcore/mcore.h +++ b/gcc/config/mcore/mcore.h @@ -106,12 +106,6 @@ extern char * mcore_current_function_name; numbered. */ #define WORDS_BIG_ENDIAN (! TARGET_LITTLE_END) -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#ifdef __MCORELE__ -#undef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - #define MAX_BITS_PER_WORD 32 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/mep/mep.h b/gcc/config/mep/mep.h index 07f0c85..1f51aa9 100644 --- a/gcc/config/mep/mep.h +++ b/gcc/config/mep/mep.h @@ -167,12 +167,6 @@ crtbegin.o%s" #define BYTES_BIG_ENDIAN (TARGET_LITTLE_ENDIAN ? 0 : 1) #define WORDS_BIG_ENDIAN (TARGET_LITTLE_ENDIAN ? 0 : 1) -#ifdef __LITTLE_ENDIAN__ -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#endif - #define UNITS_PER_WORD 4 #define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \ diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 23dba7c..449c893 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -1290,14 +1290,6 @@ enum mips_code_readable_setting { #define BYTES_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN != 0) -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#if !defined(MIPSEL) && !defined(__MIPSEL__) -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index 25584b2..6d88e32 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -258,14 +258,6 @@ do { \ #define BYTES_BIG_ENDIAN (TARGET_BIG_ENDIAN) #define WORDS_BIG_ENDIAN (TARGET_BIG_ENDIAN) -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#if !defined(__LITTLE_ENDIAN__) && !defined(__sun__) -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - /* Define cutoff for using external functions to save floating point. When optimizing for size, use external functions when profitable. */ #define FP_SAVE_INLINE(FIRST_REG) (optimize_size \ diff --git a/gcc/config/rx/rx.h b/gcc/config/rx/rx.h index 7da4de1..534da5f 100644 --- a/gcc/config/rx/rx.h +++ b/gcc/config/rx/rx.h @@ -96,12 +96,6 @@ extern enum rx_cpu_types rx_cpu_type; #define BYTES_BIG_ENDIAN TARGET_BIG_ENDIAN_DATA #define WORDS_BIG_ENDIAN TARGET_BIG_ENDIAN_DATA -#ifdef __RX_BIG_ENDIAN__ -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - #define UNITS_PER_WORD 4 #define INT_TYPE_SIZE 32 diff --git a/gcc/config/score/score.h b/gcc/config/score/score.h index 621f56e..a01ffed 100644 --- a/gcc/config/score/score.h +++ b/gcc/config/score/score.h @@ -106,14 +106,6 @@ #define BYTES_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0) #define WORDS_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0) -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#if defined(__scorele__) -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#endif - /* Width of a word, in units (bytes). */ #define UNITS_PER_WORD 4 diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 8f149dc..145f496 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -518,14 +518,6 @@ extern enum sh_divide_strategy_e sh_div_strategy; numbered. */ #define WORDS_BIG_ENDIAN (TARGET_LITTLE_ENDIAN == 0) -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#if defined(__LITTLE_ENDIAN__) -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#endif - #define MAX_BITS_PER_WORD 64 /* Width in bits of an `int'. We want just 32-bits, even if words are diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index ccb7dca..1955e99 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -585,14 +585,6 @@ extern struct sparc_cpu_select sparc_select[]; numbered. */ #define WORDS_BIG_ENDIAN 1 -/* Define this to set the endianness to use in libgcc2.c, which can - not depend on target_flags. */ -#if defined (__LITTLE_ENDIAN__) || defined(__LITTLE_ENDIAN_DATA__) -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#endif - #define MAX_BITS_PER_WORD 64 /* Width of a word, in units (bytes). */ diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 7dc22a2..435c21a 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -94,12 +94,6 @@ extern unsigned xtensa_current_frame_size; #define EXTRA_SPECS \ { "subtarget_cpp_spec", SUBTARGET_CPP_SPEC }, -#ifdef __XTENSA_EB__ -#define LIBGCC2_WORDS_BIG_ENDIAN 1 -#else -#define LIBGCC2_WORDS_BIG_ENDIAN 0 -#endif - /* Show we can debug even without a frame pointer. */ #define CAN_DEBUG_WITHOUT_FP diff --git a/gcc/cppbuiltin.c b/gcc/cppbuiltin.c index 89b0f41..cf71fcf 100644 --- a/gcc/cppbuiltin.c +++ b/gcc/cppbuiltin.c @@ -137,6 +137,7 @@ define_builtin_macros_for_type_sizes (cpp_reader *pfile) TYPE_PRECISION (char_type_node)); cpp_define_formatted (pfile, "__BIGGEST_ALIGNMENT__=%d", BIGGEST_ALIGNMENT / BITS_PER_UNIT); + cpp_define_formatted (pfile, "__WORDS_BIG_ENDIAN__=%u", WORDS_BIG_ENDIAN); /* ptr_type_node can't be used here since ptr_mode is only set when toplev calls backend_init which is not done with -E switch. */ diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index a268617..ab4e893 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -938,13 +938,6 @@ order of words in memory is the same as the order in registers. This macro need not be a constant. @end defmac -@defmac LIBGCC2_WORDS_BIG_ENDIAN -Define this macro if @code{WORDS_BIG_ENDIAN} is not constant. This must be a -constant value with the same meaning as @code{WORDS_BIG_ENDIAN}, which will be -used only when compiling @file{libgcc2.c}. Typically the value will be set -based on preprocessor defines. -@end defmac - @defmac FLOAT_WORDS_BIG_ENDIAN Define this macro to have the value 1 if @code{DFmode}, @code{XFmode} or @code{TFmode} floating point numbers are stored in memory with the word diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 74cf927..23fa032 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -936,13 +936,6 @@ order of words in memory is the same as the order in registers. This macro need not be a constant. @end defmac -@defmac LIBGCC2_WORDS_BIG_ENDIAN -Define this macro if @code{WORDS_BIG_ENDIAN} is not constant. This must be a -constant value with the same meaning as @code{WORDS_BIG_ENDIAN}, which will be -used only when compiling @file{libgcc2.c}. Typically the value will be set -based on preprocessor defines. -@end defmac - @defmac FLOAT_WORDS_BIG_ENDIAN Define this macro to have the value 1 if @code{DFmode}, @code{XFmode} or @code{TFmode} floating point numbers are stored in memory with the word diff --git a/gcc/libgcc2.h b/gcc/libgcc2.h index d2d86ef..d000dc3 100644 --- a/gcc/libgcc2.h +++ b/gcc/libgcc2.h @@ -35,14 +35,6 @@ extern void __clear_cache (char *, char *); extern void __eprintf (const char *, const char *, unsigned int, const char *) __attribute__ ((__noreturn__)); -/* Permit the tm.h file to select the endianness to use just for this - file. This is used when the endianness is determined when the - compiler is run. */ - -#ifndef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE #endif @@ -407,9 +399,9 @@ extern TCtype __multc3 (TFtype, TFtype, TFtype, TFtype); #define int bogus_type /* DWstructs are pairs of Wtype values in the order determined by - LIBGCC2_WORDS_BIG_ENDIAN. */ + __WORDS_BIG_ENDIAN__. */ -#if LIBGCC2_WORDS_BIG_ENDIAN +#if __WORDS_BIG_ENDIAN__ struct DWstruct {Wtype high, low;}; #else struct DWstruct {Wtype low, high;}; diff --git a/gcc/system.h b/gcc/system.h index 5131fed..ec0c796 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -785,7 +785,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; LANG_HOOKS_MISSING_ARGUMENT LANG_HOOKS_HASH_TYPES /* Hooks into libgcc2. */ - #pragma GCC poison LIBGCC2_DOUBLE_TYPE_SIZE + #pragma GCC poison LIBGCC2_DOUBLE_TYPE_SIZE LIBGCC2_WORDS_BIG_ENDIAN /* Miscellaneous macros that are no longer used. */ #pragma GCC poison USE_MAPPED_LOCATION diff --git a/libdecnumber/dconfig.h b/libdecnumber/dconfig.h index 91aa334..e8c1a44 100644 --- a/libdecnumber/dconfig.h +++ b/libdecnumber/dconfig.h @@ -28,12 +28,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "coretypes.h" #include "tm.h" -#ifndef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - #ifndef LIBGCC2_FLOAT_WORDS_BIG_ENDIAN -#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN LIBGCC2_WORDS_BIG_ENDIAN +#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN __WORDS_BIG_ENDIAN__ #endif #if LIBGCC2_FLOAT_WORDS_BIG_ENDIAN diff --git a/libgcc/config/libbid/bid_gcc_intrinsics.h b/libgcc/config/libbid/bid_gcc_intrinsics.h index f5bd8d0..8852d08 100644 --- a/libgcc/config/libbid/bid_gcc_intrinsics.h +++ b/libgcc/config/libbid/bid_gcc_intrinsics.h @@ -30,12 +30,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "coretypes.h" #include "tm.h" -#ifndef LIBGCC2_WORDS_BIG_ENDIAN -#define LIBGCC2_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN -#endif - #ifndef LIBGCC2_FLOAT_WORDS_BIG_ENDIAN -#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN LIBGCC2_WORDS_BIG_ENDIAN +#define LIBGCC2_FLOAT_WORDS_BIG_ENDIAN __WORDS_BIG_ENDIAN__ #endif #ifndef LIBGCC2_LONG_DOUBLE_TYPE_SIZE