patches/gcc/4.2.4/241-arm-bigendian2.patch
author Darcy Watkins <dwatkins@tranzeo.com>
Thu Aug 05 18:19:07 2010 +0200 (2010-08-05)
branch1.8
changeset 2073 a3b7a63dce01
permissions -rw-r--r--
cc/gcc: with static ppl, correctly link with libm

On some Fedora boxen (at least FC13), it is also required
to link with libm when static ppl is used.
(transplanted from bcd33fce4db9c18223b59ecdc96f10bf6dd574de)
yann@1128
     1
Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
yann@1128
     2
yann@1128
     3
I tried to use crosstool-ng to generate a toolchain for Linux on big
yann@1128
     4
endian arm with recent versions of gcc, glibc, etc... but had a few
yann@1128
     5
problems.
yann@1128
     6
yann@1128
     7
It appears that the gcc patch (for gcc 4.2.x)
yann@1128
     8
for big-endian arm (240-arm-bigendian.patch) lacks the change attached
yann@1128
     9
to this mail as 240-arm-bigendian2.patch.
yann@1128
    10
yann@1128
    11
--- gcc-4.2.4/gcc/config/arm/bpabi.h~	2007-09-01 17:28:30.000000000 +0200
yann@1128
    12
+++ gcc-4.2.4/gcc/config/arm/bpabi.h	2009-01-05 19:19:10.000000000 +0100
yann@1128
    13
@@ -32,9 +32,19 @@
yann@1128
    14
 #undef FPUTYPE_DEFAULT
yann@1128
    15
 #define FPUTYPE_DEFAULT FPUTYPE_VFP
yann@1128
    16
 
yann@1128
    17
+/*
yann@1128
    18
+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
yann@1128
    19
+ * (big endian) configurations.
yann@1128
    20
+ */
yann@1128
    21
+#if TARGET_BIG_ENDIAN_DEFAULT
yann@1128
    22
+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
yann@1128
    23
+#else
yann@1128
    24
+#define TARGET_ENDIAN_DEFAULT 0
yann@1128
    25
+#endif
yann@1128
    26
+
yann@1128
    27
 /* EABI targets should enable interworking by default.  */
yann@1128
    28
 #undef TARGET_DEFAULT
yann@1128
    29
-#define TARGET_DEFAULT MASK_INTERWORK
yann@1128
    30
+#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
yann@1128
    31
 
yann@1128
    32
 /* The ARM BPABI functions return a boolean; they use no special
yann@1128
    33
    calling convention.  */