Merge.
1.1 --- a/config/binutils/binutils.in Wed Oct 28 12:03:38 2009 +0100
1.2 +++ b/config/binutils/binutils.in Thu Oct 29 00:10:06 2009 +0100
1.3 @@ -2,29 +2,15 @@
1.4
1.5 comment "GNU binutils"
1.6
1.7 -config BINUTILS_VERSION
1.8 - string
1.9 -
1.10 choice
1.11 bool
1.12 prompt "binutils version"
1.13 # Don't remove next line
1.14 # CT_INSERT_VERSION_BELOW
1.15
1.16 -config BINUTILS_V_2_19_51_0_2
1.17 +config BINUTILS_V_2_20
1.18 bool
1.19 - prompt "2.19.51.0.2 (EXPERIMENTAL)"
1.20 - depends on EXPERIMENTAL
1.21 -
1.22 -config BINUTILS_V_2_19_51_0_1
1.23 - bool
1.24 - prompt "2.19.51.0.1 (EXPERIMENTAL)"
1.25 - depends on EXPERIMENTAL
1.26 -
1.27 -config BINUTILS_V_2_19_50_0_1
1.28 - bool
1.29 - prompt "2.19.50.0.1 (EXPERIMENTAL)"
1.30 - depends on EXPERIMENTAL
1.31 + prompt "2.20"
1.32
1.33 config BINUTILS_V_2_19_1
1.34 bool
1.35 @@ -34,71 +20,18 @@
1.36 bool
1.37 prompt "2.19"
1.38
1.39 -config BINUTILS_V_2_18_93
1.40 - bool
1.41 - prompt "2.18.93 (EXPERIMENTAL)"
1.42 - depends on EXPERIMENTAL
1.43 -
1.44 -config BINUTILS_V_2_18_92
1.45 - bool
1.46 - prompt "2.18.92 (EXPERIMENTAL)"
1.47 - depends on EXPERIMENTAL
1.48 -
1.49 -config BINUTILS_V_2_18_91
1.50 - bool
1.51 - prompt "2.18.91 (EXPERIMENTAL)"
1.52 - depends on EXPERIMENTAL
1.53 -
1.54 -config BINUTILS_V_2_18_90
1.55 - bool
1.56 - prompt "2.18.90 (EXPERIMENTAL)"
1.57 - depends on EXPERIMENTAL
1.58 -
1.59 -config BINUTILS_V_2_18_50_0_9
1.60 - bool
1.61 - prompt "2.18.50.0.9 (EXPERIMENTAL)"
1.62 - depends on EXPERIMENTAL
1.63 -
1.64 -config BINUTILS_V_2_18_50_0_8
1.65 - bool
1.66 - prompt "2.18.50.0.8 (EXPERIMENTAL)"
1.67 - depends on EXPERIMENTAL
1.68 -
1.69 -config BINUTILS_V_2_18_50_0_7
1.70 - bool
1.71 - prompt "2.18.50.0.7 (EXPERIMENTAL)"
1.72 - depends on EXPERIMENTAL
1.73 -
1.74 -config BINUTILS_V_2_18_50_0_6
1.75 - bool
1.76 - prompt "2.18.50.0.6 (EXPERIMENTAL)"
1.77 - depends on EXPERIMENTAL
1.78 -
1.79 -config BINUTILS_V_2_18_50_0_4
1.80 - bool
1.81 - prompt "2.18.50.0.4 (EXPERIMENTAL)"
1.82 - depends on EXPERIMENTAL
1.83 -
1.84 config BINUTILS_V_2_18
1.85 bool
1.86 prompt "2.18"
1.87
1.88 config BINUTILS_V_2_17
1.89 bool
1.90 - prompt "2.17"
1.91 + prompt "2.17 (OBSOLETE)"
1.92 + depends on OBSOLETE
1.93
1.94 config BINUTILS_V_2_16_1
1.95 bool
1.96 - prompt "2.16.1"
1.97 -
1.98 -config BINUTILS_V_2_15
1.99 - bool
1.100 - prompt "2.15 (OBSOLETE)"
1.101 - depends on OBSOLETE
1.102 -
1.103 -config BINUTILS_V_2_14
1.104 - bool
1.105 - prompt "2.14 (OBSOLETE)"
1.106 + prompt "2.16.1 (OBSOLETE)"
1.107 depends on OBSOLETE
1.108
1.109 endchoice
1.110 @@ -107,25 +40,12 @@
1.111 string
1.112 # Don't remove next line
1.113 # CT_INSERT_VERSION_STRING_BELOW
1.114 - default "2.19.51.0.2" if BINUTILS_V_2_19_51_0_2
1.115 - default "2.19.51.0.1" if BINUTILS_V_2_19_51_0_1
1.116 - default "2.19.50.0.1" if BINUTILS_V_2_19_50_0_1
1.117 + default "2.20" if BINUTILS_V_2_20
1.118 default "2.19.1" if BINUTILS_V_2_19_1
1.119 default "2.19" if BINUTILS_V_2_19
1.120 - default "2.18.93" if BINUTILS_V_2_18_93
1.121 - default "2.18.92" if BINUTILS_V_2_18_92
1.122 - default "2.18.91" if BINUTILS_V_2_18_91
1.123 - default "2.18.90" if BINUTILS_V_2_18_90
1.124 - default "2.18.50.0.9" if BINUTILS_V_2_18_50_0_9
1.125 - default "2.18.50.0.8" if BINUTILS_V_2_18_50_0_8
1.126 - default "2.18.50.0.7" if BINUTILS_V_2_18_50_0_7
1.127 - default "2.18.50.0.6" if BINUTILS_V_2_18_50_0_6
1.128 - default "2.18.50.0.4" if BINUTILS_V_2_18_50_0_4
1.129 default "2.18" if BINUTILS_V_2_18
1.130 default "2.17" if BINUTILS_V_2_17
1.131 default "2.16.1" if BINUTILS_V_2_16_1
1.132 - default "2.15" if BINUTILS_V_2_15
1.133 - default "2.14" if BINUTILS_V_2_14
1.134
1.135 config BINUTILS_EXTRA_CONFIG
1.136 string
2.1 --- a/config/binutils/elf2flt.in Wed Oct 28 12:03:38 2009 +0100
2.2 +++ b/config/binutils/elf2flt.in Thu Oct 29 00:10:06 2009 +0100
2.3 @@ -4,9 +4,6 @@
2.4
2.5 comment "elf2flt"
2.6
2.7 -config ELF2FLT_VERSION
2.8 - string
2.9 -
2.10 choice
2.11 bool
2.12 prompt "elf2flt version"
3.1 --- a/config/cc/gcc.in Wed Oct 28 12:03:38 2009 +0100
3.2 +++ b/config/cc/gcc.in Thu Oct 29 00:10:06 2009 +0100
3.3 @@ -19,6 +19,13 @@
3.4 # Don't remove next line
3.5 # CT_INSERT_VERSION_BELOW
3.6
3.7 +config CC_V_4_4_2
3.8 + bool
3.9 + prompt "4.4.2 (EXPERIMENTAL)"
3.10 + depends on EXPERIMENTAL
3.11 + select CC_GCC_4_3_or_later
3.12 + select CC_GCC_4_4_or_later
3.13 +
3.14 config CC_V_4_4_1
3.15 bool
3.16 prompt "4.4.1 (EXPERIMENTAL)"
3.17 @@ -65,7 +72,8 @@
3.18
3.19 config CC_V_4_2_3
3.20 bool
3.21 - prompt "4.2.3"
3.22 + prompt "4.2.3 (OBSOLETE)"
3.23 + depends on OBSOLETE
3.24
3.25 config CC_V_4_2_2
3.26 bool
3.27 @@ -73,48 +81,22 @@
3.28
3.29 config CC_V_4_2_1
3.30 bool
3.31 - prompt "4.2.1"
3.32 + prompt "4.2.1 (OBSOLETE)"
3.33 + depends on OBSOLETE
3.34
3.35 config CC_V_4_2_0
3.36 bool
3.37 - prompt "4.2.0"
3.38 + prompt "4.2.0 (OBSOLETE)"
3.39 + depends on OBSOLETE
3.40
3.41 config CC_V_4_1_2
3.42 bool
3.43 - prompt "4.1.2"
3.44 -
3.45 -config CC_V_4_1_1
3.46 - bool
3.47 - prompt "4.1.1 (OBSOLETE)"
3.48 - depends on OBSOLETE
3.49 -
3.50 -config CC_V_4_1_0
3.51 - bool
3.52 - prompt "4.1.0 (OBSOLETE)"
3.53 + prompt "4.1.2 (OBSOLETE)"
3.54 depends on OBSOLETE
3.55
3.56 config CC_V_4_0_4
3.57 bool
3.58 - prompt "4.0.4"
3.59 -
3.60 -config CC_V_4_0_3
3.61 - bool
3.62 - prompt "4.0.3 (OBSOLETE)"
3.63 - depends on OBSOLETE
3.64 -
3.65 -config CC_V_4_0_2
3.66 - bool
3.67 - prompt "4.0.2 (OBSOLETE)"
3.68 - depends on OBSOLETE
3.69 -
3.70 -config CC_V_4_0_1
3.71 - bool
3.72 - prompt "4.0.1 (OBSOLETE)"
3.73 - depends on OBSOLETE
3.74 -
3.75 -config CC_V_4_0_0
3.76 - bool
3.77 - prompt "4.0.0 (OBSOLETE)"
3.78 + prompt "4.0.4 (OBSOLETE)"
3.79 depends on OBSOLETE
3.80
3.81 config CC_V_3_4_6
3.82 @@ -122,16 +104,6 @@
3.83 prompt "3.4.6 (OBSOLETE)"
3.84 depends on OBSOLETE
3.85
3.86 -config CC_V_3_3_6
3.87 - bool
3.88 - prompt "3.3.6 (OBSOLETE)"
3.89 - depends on OBSOLETE
3.90 -
3.91 -config CC_V_3_2_3
3.92 - bool
3.93 - prompt "3.2.3 (OBSOLETE)"
3.94 - depends on OBSOLETE
3.95 -
3.96 endchoice
3.97
3.98 config CC_GCC_4_3_or_later
3.99 @@ -148,6 +120,7 @@
3.100 string
3.101 # Don't remove next line
3.102 # CT_INSERT_VERSION_STRING_BELOW
3.103 + default "4.4.2" if CC_V_4_4_2
3.104 default "4.4.1" if CC_V_4_4_1
3.105 default "4.4.0" if CC_V_4_4_0
3.106 default "4.3.4" if CC_V_4_3_4
3.107 @@ -161,16 +134,8 @@
3.108 default "4.2.1" if CC_V_4_2_1
3.109 default "4.2.0" if CC_V_4_2_0
3.110 default "4.1.2" if CC_V_4_1_2
3.111 - default "4.1.1" if CC_V_4_1_1
3.112 - default "4.1.0" if CC_V_4_1_0
3.113 default "4.0.4" if CC_V_4_0_4
3.114 - default "4.0.3" if CC_V_4_0_3
3.115 - default "4.0.2" if CC_V_4_0_2
3.116 - default "4.0.1" if CC_V_4_0_1
3.117 - default "4.0.0" if CC_V_4_0_0
3.118 default "3.4.6" if CC_V_3_4_6
3.119 - default "3.3.6" if CC_V_3_3_6
3.120 - default "3.2.3" if CC_V_3_2_3
3.121
3.122 config CC_CXA_ATEXIT
3.123 bool
4.1 --- a/config/companion_libs/cloog.in Wed Oct 28 12:03:38 2009 +0100
4.2 +++ b/config/companion_libs/cloog.in Thu Oct 29 00:10:06 2009 +0100
4.3 @@ -16,15 +16,18 @@
4.4
4.5 config CLOOG_V_0_15_5
4.6 bool
4.7 - prompt "0.15.5"
4.8 + prompt "0.15.5 (OBSOLETE)"
4.9 + depends on OBSOLETE
4.10
4.11 config CLOOG_V_0_15_4
4.12 bool
4.13 - prompt "0.15.4"
4.14 + prompt "0.15.4 (OBSOLETE)"
4.15 + depends on OBSOLETE
4.16
4.17 config CLOOG_V_0_15_3
4.18 bool
4.19 - prompt "0.15.3"
4.20 + prompt "0.15.3 (OBSOLETE)"
4.21 + depends on OBSOLETE
4.22
4.23 endchoice
4.24
5.1 --- a/config/companion_libs/gmp.in Wed Oct 28 12:03:38 2009 +0100
5.2 +++ b/config/companion_libs/gmp.in Thu Oct 29 00:10:06 2009 +0100
5.3 @@ -16,11 +16,13 @@
5.4
5.5 config GMP_V_4_2_4
5.6 bool
5.7 - prompt "4.2.4"
5.8 + prompt "4.2.4 (OBSOLETE)"
5.9 + depends on OBSOLETE
5.10
5.11 config GMP_V_4_2_2
5.12 bool
5.13 - prompt "4.2.2"
5.14 + prompt "4.2.2 (OBSOLETE)"
5.15 + depends on OBSOLETE
5.16
5.17 endchoice
5.18
6.1 --- a/config/companion_libs/mpc.in Wed Oct 28 12:03:38 2009 +0100
6.2 +++ b/config/companion_libs/mpc.in Thu Oct 29 00:10:06 2009 +0100
6.3 @@ -12,7 +12,8 @@
6.4
6.5 config MPC_V_0_6
6.6 bool
6.7 - prompt "0.6"
6.8 + prompt "0.6 (OBSOLETE)"
6.9 + depends on OBSOLETE
6.10
6.11 endchoice
6.12
7.1 --- a/config/companion_libs/mpfr.in Wed Oct 28 12:03:38 2009 +0100
7.2 +++ b/config/companion_libs/mpfr.in Thu Oct 29 00:10:06 2009 +0100
7.3 @@ -16,11 +16,13 @@
7.4
7.5 config MPFR_V_2_3_2
7.6 bool
7.7 - prompt "2.3.2"
7.8 + prompt "2.3.2 (OBSOLETE)"
7.9 + depends on OBSOLETE
7.10
7.11 config MPFR_V_2_3_1
7.12 bool
7.13 - prompt "2.3.1"
7.14 + prompt "2.3.1 (OBSOLETE)"
7.15 + depends on OBSOLETE
7.16
7.17 endchoice
7.18
8.1 --- a/config/debug/dmalloc.in Wed Oct 28 12:03:38 2009 +0100
8.2 +++ b/config/debug/dmalloc.in Thu Oct 29 00:10:06 2009 +0100
8.3 @@ -13,11 +13,6 @@
8.4 bool
8.5 prompt "5.5.2"
8.6
8.7 -config DMALLOC_V_5_4_3
8.8 - bool
8.9 - prompt "5.4.3 (OBSOLETE)"
8.10 - depends on OBSOLETE
8.11 -
8.12 endchoice
8.13
8.14 config DMALLOC_VERSION
8.15 @@ -25,4 +20,3 @@
8.16 # Don't remove next line
8.17 # CT_INSERT_VERSION_STRING_BELOW
8.18 default "5.5.2" if DMALLOC_V_5_5_2
8.19 - default "5.4.3" if DMALLOC_V_5_4_3
9.1 --- a/config/debug/duma.in Wed Oct 28 12:03:38 2009 +0100
9.2 +++ b/config/debug/duma.in Thu Oct 29 00:10:06 2009 +0100
9.3 @@ -29,19 +29,23 @@
9.4
9.5 config DUMA_V_2_5_14
9.6 bool
9.7 - prompt "2_5_14"
9.8 + prompt "2_5_14 (OBSOLETE)"
9.9 + depends on OBSOLETE
9.10
9.11 config DUMA_V_2_5_12
9.12 bool
9.13 - prompt "2_5_12"
9.14 + prompt "2_5_12 (OBSOLETE)"
9.15 + depends on OBSOLETE
9.16
9.17 config DUMA_V_2_5_8
9.18 bool
9.19 - prompt "2_5_8"
9.20 + prompt "2_5_8 (OBSOLETE)"
9.21 + depends on OBSOLETE
9.22
9.23 config DUMA_V_2_5_1
9.24 bool
9.25 - prompt "2_5_1"
9.26 + prompt "2_5_1 (OBSOLETE)"
9.27 + depends on OBSOLETE
9.28
9.29 endchoice
9.30
10.1 --- a/config/debug/gdb.in Wed Oct 28 12:03:38 2009 +0100
10.2 +++ b/config/debug/gdb.in Thu Oct 29 00:10:06 2009 +0100
10.3 @@ -99,34 +99,15 @@
10.4 # Don't remove next line
10.5 # CT_INSERT_VERSION_BELOW
10.6
10.7 +config GDB_V_7_0
10.8 + bool
10.9 + prompt "7.0 (EXPERIMENTAL)"
10.10 + depends on EXPERIMENTAL
10.11 +
10.12 config GDB_V_6_8
10.13 bool
10.14 prompt "6.8"
10.15
10.16 -config GDB_V_6_7_1
10.17 - bool
10.18 - prompt "6.7.1 (EXPERIMENTAL)"
10.19 - depends on EXPERIMENTAL
10.20 -
10.21 -config GDB_V_6_7
10.22 - bool
10.23 - prompt "6.7 (EXPERIMENTAL)"
10.24 - depends on EXPERIMENTAL
10.25 -
10.26 -config GDB_V_6_6
10.27 - bool
10.28 - prompt "6.6"
10.29 -
10.30 -config GDB_V_6_5
10.31 - bool
10.32 - prompt "6.5 (OBSOLETE)"
10.33 - depends on OBSOLETE
10.34 -
10.35 -config GDB_V_6_4
10.36 - bool
10.37 - prompt "6.4 (OBSOLETE)"
10.38 - depends on OBSOLETE
10.39 -
10.40 config GDB_V_snapshot
10.41 bool
10.42 prompt "snapshot (EXPERIMENTAL)"
10.43 @@ -139,12 +120,8 @@
10.44 string
10.45 # Don't remove next line
10.46 # CT_INSERT_VERSION_STRING_BELOW
10.47 + default "7.0" if GDB_V_7_0
10.48 default "6.8" if GDB_V_6_8
10.49 - default "6.7.1" if GDB_V_6_7_1
10.50 - default "6.7" if GDB_V_6_7
10.51 - default "6.6" if GDB_V_6_6
10.52 - default "6.5" if GDB_V_6_5
10.53 - default "6.4" if GDB_V_6_4
10.54 default "snapshot" if GDB_V_snapshot
10.55
10.56 if GDB_NATIVE
10.57 @@ -161,7 +138,8 @@
10.58
10.59 config NCURSES_V_5_6
10.60 bool
10.61 - prompt "5.6"
10.62 + prompt "5.6 (OBSOLETE)"
10.63 + depends on OBSOLETE
10.64
10.65 endchoice
10.66
11.1 --- a/config/debug/ltrace.in Wed Oct 28 12:03:38 2009 +0100
11.2 +++ b/config/debug/ltrace.in Thu Oct 29 00:10:06 2009 +0100
11.3 @@ -25,11 +25,13 @@
11.4
11.5 config LTRACE_V_0_5
11.6 bool
11.7 - prompt "0.5"
11.8 + prompt "0.5 (OBSOLETE)"
11.9 + depends on OBSOLETE
11.10
11.11 config LTRACE_V_0_4
11.12 bool
11.13 - prompt "0.4"
11.14 + prompt "0.4 (OBSOLETE)"
11.15 + depends on OBSOLETE
11.16
11.17 endchoice
11.18
12.1 --- a/config/debug/strace.in Wed Oct 28 12:03:38 2009 +0100
12.2 +++ b/config/debug/strace.in Thu Oct 29 00:10:06 2009 +0100
12.3 @@ -8,31 +8,28 @@
12.4 # Don't remove next line
12.5 # CT_INSERT_VERSION_BELOW
12.6
12.7 +config STRACE_V_4_5_19
12.8 + bool
12.9 + prompt "4.5.19 (EXPERIMENTAL)"
12.10 + depends on EXPERIMENTAL
12.11 +
12.12 config STRACE_V_4_5_18
12.13 bool
12.14 - prompt "4.5.18 (EXPERIMENTAL)"
12.15 - depends on EXPERIMENTAL
12.16 + prompt "4.5.18"
12.17
12.18 config STRACE_V_4_5_17
12.19 bool
12.20 - prompt "4.5.17"
12.21 + prompt "4.5.17 (OBSOLETE)"
12.22 + depends on OBSOLETE
12.23
12.24 config STRACE_V_4_5_16
12.25 bool
12.26 - prompt "4.5.16"
12.27 + prompt "4.5.16 (OBSOLETE)"
12.28 + depends on OBSOLETE
12.29
12.30 config STRACE_V_4_5_15
12.31 bool
12.32 - prompt "4.5.15"
12.33 -
12.34 -config STRACE_V_4_5_14
12.35 - bool
12.36 - prompt "4.5.14 (OBSOLETE)"
12.37 - depends on OBSOLETE
12.38 -
12.39 -config STRACE_V_4_5
12.40 - bool
12.41 - prompt "4.5 (OBSOLETE)"
12.42 + prompt "4.5.15 (OBSOLETE)"
12.43 depends on OBSOLETE
12.44
12.45 endchoice
12.46 @@ -41,9 +38,8 @@
12.47 string
12.48 # Don't remove next line
12.49 # CT_INSERT_VERSION_STRING_BELOW
12.50 + default "4.5.19" if STRACE_V_4_5_19
12.51 default "4.5.18" if STRACE_V_4_5_18
12.52 default "4.5.17" if STRACE_V_4_5_17
12.53 default "4.5.16" if STRACE_V_4_5_16
12.54 default "4.5.15" if STRACE_V_4_5_15
12.55 - default "4.5.14" if STRACE_V_4_5_14
12.56 - default "4.5" if STRACE_V_4_5
13.1 --- a/config/kernel/linux.in Wed Oct 28 12:03:38 2009 +0100
13.2 +++ b/config/kernel/linux.in Thu Oct 29 00:10:06 2009 +0100
13.3 @@ -34,6 +34,22 @@
13.4 # Don't remove next line
13.5 # CT_INSERT_VERSION_BELOW
13.6
13.7 +config KERNEL_V_2_6_31_5
13.8 + bool
13.9 + prompt "2.6.31.5"
13.10 +
13.11 +config KERNEL_V_2_6_31_4
13.12 + bool
13.13 + prompt "2.6.31.4"
13.14 +
13.15 +config KERNEL_V_2_6_31_3
13.16 + bool
13.17 + prompt "2.6.31.3"
13.18 +
13.19 +config KERNEL_V_2_6_31_2
13.20 + bool
13.21 + prompt "2.6.31.2"
13.22 +
13.23 config KERNEL_V_2_6_31_1
13.24 bool
13.25 prompt "2.6.31.1"
13.26 @@ -42,6 +58,10 @@
13.27 bool
13.28 prompt "2.6.31"
13.29
13.30 +config KERNEL_V_3_6_30_9
13.31 + bool
13.32 + prompt "3.6.30.9"
13.33 +
13.34 config KERNEL_V_3_6_30_8
13.35 bool
13.36 prompt "3.6.30.8"
13.37 @@ -80,75 +100,31 @@
13.38
13.39 config KERNEL_V_2_6_29_6
13.40 bool
13.41 - prompt "2.6.29.6"
13.42 + prompt "2.6.29.6 (OBSOLETE)"
13.43 + depends on OBSOLETE
13.44
13.45 config KERNEL_V_2_6_28_10
13.46 bool
13.47 - prompt "2.6.28.10"
13.48 -
13.49 -config KERNEL_V_2_6_27_35
13.50 - bool
13.51 - prompt "2.6.27.35 (long-term stable)"
13.52 -
13.53 -config KERNEL_V_2_6_26_8
13.54 - bool
13.55 - prompt "2.6.26.8 (OBSOLETE)"
13.56 + prompt "2.6.28.10 (OBSOLETE)"
13.57 depends on OBSOLETE
13.58
13.59 -config KERNEL_V_2_6_25_20
13.60 +config KERNEL_V_2_6_27_38
13.61 bool
13.62 - prompt "2.6.25.20 (OBSOLETE)"
13.63 - depends on OBSOLETE
13.64 -
13.65 -config KERNEL_V_2_6_24_7
13.66 - bool
13.67 - prompt "2.6.24.7 (OBSOLETE)"
13.68 - depends on OBSOLETE
13.69 -
13.70 -config KERNEL_V_2_6_23_17
13.71 - bool
13.72 - prompt "2.6.23.17 (OBSOLETE)"
13.73 - depends on OBSOLETE
13.74 -
13.75 -config KERNEL_V_2_6_22_19
13.76 - bool
13.77 - prompt "2.6.22.19 (OBSOLETE)"
13.78 - depends on OBSOLETE
13.79 -
13.80 -config KERNEL_V_2_6_21_7
13.81 - bool
13.82 - prompt "2.6.21.7 (OBSOLETE)"
13.83 - depends on OBSOLETE
13.84 -
13.85 -config KERNEL_V_2_6_20_21
13.86 - bool
13.87 - prompt "2.6.20.21 (OBSOLETE)"
13.88 - depends on OBSOLETE
13.89 -
13.90 -config KERNEL_V_2_6_19_7
13.91 - bool
13.92 - prompt "2.6.19.7 (OBSOLETE)"
13.93 - depends on OBSOLETE
13.94 -
13.95 -config KERNEL_V_2_6_18_8
13.96 - bool
13.97 - prompt "2.6.18.8 (OBSOLETE)"
13.98 - depends on OBSOLETE
13.99 -
13.100 -config KERNEL_V_select
13.101 - bool
13.102 - prompt "Other version (EXPERIMENTAL)"
13.103 - depends on EXPERIMENTAL
13.104 + prompt "2.6.27.38 (long-term stable)"
13.105
13.106 endchoice
13.107
13.108 config KERNEL_VERSION
13.109 string
13.110 - prompt "Kernel version" if KERNEL_V_select
13.111 # Don't remove next line
13.112 # CT_INSERT_VERSION_STRING_BELOW
13.113 + default "2.6.31.5" if KERNEL_V_2_6_31_5
13.114 + default "2.6.31.4" if KERNEL_V_2_6_31_4
13.115 + default "2.6.31.3" if KERNEL_V_2_6_31_3
13.116 + default "2.6.31.2" if KERNEL_V_2_6_31_2
13.117 default "2.6.31.1" if KERNEL_V_2_6_31_1
13.118 default "2.6.31" if KERNEL_V_2_6_31
13.119 + default "3.6.30.9" if KERNEL_V_3_6_30_9
13.120 default "3.6.30.8" if KERNEL_V_3_6_30_8
13.121 default "3.6.30.7" if KERNEL_V_3_6_30_7
13.122 default "2.6.30.6" if KERNEL_V_2_6_30_6
13.123 @@ -159,25 +135,8 @@
13.124 default "2.6.30.1" if KERNEL_V_2_6_30_1
13.125 default "2.6.30" if KERNEL_V_2_6_30
13.126 default "2.6.29.6" if KERNEL_V_2_6_29_6
13.127 - default "2.6.29" if KERNEL_V_2_6_29
13.128 default "2.6.28.10" if KERNEL_V_2_6_28_10
13.129 - default "2.6.27.35" if KERNEL_V_2_6_27_35
13.130 - default "2.6.26.8" if KERNEL_V_2_6_26_8
13.131 - default "2.6.25.20" if KERNEL_V_2_6_25_20
13.132 - default "2.6.24.7" if KERNEL_V_2_6_24_7
13.133 - default "2.6.23.17" if KERNEL_V_2_6_23_17
13.134 - default "2.6.22.19" if KERNEL_V_2_6_22_19
13.135 - default "2.6.21.7" if KERNEL_V_2_6_21_7
13.136 - default "2.6.20.21" if KERNEL_V_2_6_20_21
13.137 - default "2.6.19.7" if KERNEL_V_2_6_19_7
13.138 - default "2.6.18.8" if KERNEL_V_2_6_18_8
13.139 - help
13.140 - Enter here the kernel version you want to use, if it is
13.141 - not listed above. Something like V.P.S or V.P.S.E, where:
13.142 - V: VERSION
13.143 - P: PATCHLEVEL
13.144 - S: SUBLEVEL
13.145 - E: EXTRAVERSION
13.146 + default "2.6.27.38" if KERNEL_V_2_6_27_38
13.147
13.148 choice
13.149 bool
14.1 --- a/config/libc/eglibc.in Wed Oct 28 12:03:38 2009 +0100
14.2 +++ b/config/libc/eglibc.in Thu Oct 29 00:10:06 2009 +0100
14.3 @@ -28,19 +28,23 @@
14.4
14.5 config EGLIBC_V_2_8
14.6 bool
14.7 - prompt "2_8"
14.8 + prompt "2_8 (OBSOLETE)"
14.9 + depends on OBSOLETE
14.10
14.11 config EGLIBC_V_2_7
14.12 bool
14.13 - prompt "2_7"
14.14 + prompt "2_7 (OBSOLETE)"
14.15 + depends on OBSOLETE
14.16
14.17 config EGLIBC_V_2_6
14.18 bool
14.19 - prompt "2_6"
14.20 + prompt "2_6 (OBSOLETE)"
14.21 + depends on OBSOLETE
14.22
14.23 config EGLIBC_V_2_5
14.24 bool
14.25 - prompt "2_5"
14.26 + prompt "2_5 (OBSOLETE)"
14.27 + depends on OBSOLETE
14.28
14.29 config EGLIBC_V_TRUNK
14.30 bool
15.1 --- a/config/libc/glibc.in Wed Oct 28 12:03:38 2009 +0100
15.2 +++ b/config/libc/glibc.in Thu Oct 29 00:10:06 2009 +0100
15.3 @@ -26,23 +26,28 @@
15.4
15.5 config LIBC_V_2_7
15.6 bool
15.7 - prompt "2.7"
15.8 + prompt "2.7 (OBSOLETE)"
15.9 + depends on OBSOLETE
15.10
15.11 config LIBC_V_2_6_1
15.12 bool
15.13 - prompt "2.6.1"
15.14 + prompt "2.6.1 (OBSOLETE)"
15.15 + depends on OBSOLETE
15.16
15.17 config LIBC_V_2_6
15.18 bool
15.19 - prompt "2.6"
15.20 + prompt "2.6 (OBSOLETE)"
15.21 + depends on OBSOLETE
15.22
15.23 config LIBC_V_2_5_1
15.24 bool
15.25 - prompt "2.5.1"
15.26 + prompt "2.5.1 (OBSOLETE)"
15.27 + depends on OBSOLETE
15.28
15.29 config LIBC_V_2_5
15.30 bool
15.31 - prompt "2.5"
15.32 + prompt "2.5 (OBSOLETE)"
15.33 + depends on OBSOLETE
15.34
15.35 config LIBC_V_2_3_6
15.36 bool
16.1 --- a/config/libc/uClibc.in Wed Oct 28 12:03:38 2009 +0100
16.2 +++ b/config/libc/uClibc.in Thu Oct 29 00:10:06 2009 +0100
16.3 @@ -26,25 +26,12 @@
16.4
16.5 config LIBC_V_0_9_29
16.6 bool
16.7 - prompt "0.9.29"
16.8 + prompt "0.9.29 (OBSOLETE)"
16.9 + depends on OBSOLETE
16.10
16.11 config LIBC_V_0_9_28_3
16.12 bool
16.13 - prompt "0.9.28.3"
16.14 -
16.15 -config LIBC_V_0_9_28_2
16.16 - bool
16.17 - prompt "0.9.28.2 (OBSOLETE)"
16.18 - depends on OBSOLETE
16.19 -
16.20 -config LIBC_V_0_9_28_1
16.21 - bool
16.22 - prompt "0.9.28.1 (OBSOLETE)"
16.23 - depends on OBSOLETE
16.24 -
16.25 -config LIBC_V_0_9_28
16.26 - bool
16.27 - prompt "0.9.28 (OBSOLETE)"
16.28 + prompt "0.9.28.3 (OBSOLETE)"
16.29 depends on OBSOLETE
16.30
16.31 config LIBC_V_snapshot
16.32 @@ -68,9 +55,6 @@
16.33 default "0.9.30" if LIBC_V_0_9_30
16.34 default "0.9.29" if LIBC_V_0_9_29
16.35 default "0.9.28.3" if LIBC_V_0_9_28_3
16.36 - default "0.9.28.2" if LIBC_V_0_9_28_2
16.37 - default "0.9.28.1" if LIBC_V_0_9_28_1
16.38 - default "0.9.28" if LIBC_V_0_9_28
16.39 default "snapshot" if LIBC_V_snapshot
16.40
16.41 config LIBC_UCLIBC_0_9_30_or_later
17.1 --- a/config/tools/libelf.in Wed Oct 28 12:03:38 2009 +0100
17.2 +++ b/config/tools/libelf.in Thu Oct 29 00:10:06 2009 +0100
17.3 @@ -21,7 +21,8 @@
17.4
17.5 config LIBELF_V_0_8_10
17.6 bool
17.7 - prompt "0.8.10"
17.8 + prompt "0.8.10 (OBSOLETE)"
17.9 + depends on OBSOLETE
17.10
17.11 endchoice
17.12
18.1 --- a/config/tools/sstrip.in Wed Oct 28 12:03:38 2009 +0100
18.2 +++ b/config/tools/sstrip.in Thu Oct 29 00:10:06 2009 +0100
18.3 @@ -19,7 +19,8 @@
18.4
18.5 config SSTRIP_ELFKICKERS
18.6 bool
18.7 - prompt "ELFkickers"
18.8 + prompt "ELFkickers (OBSOLETE)"
18.9 + depends on OBSOLETE
18.10 help
18.11 The original, ageing version, of sstrip from ELFkickers.
18.12 Fully functional, but not maintained anymore.
19.1 --- a/patches/binutils/2.14/100-sh-relocs.patch Wed Oct 28 12:03:38 2009 +0100
19.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
19.3 @@ -1,38 +0,0 @@
19.4 -Message-Id: <200307311239.h6VCdNe27056@r-rr.iij4u.or.jp>
19.5 -To: dank@kegel.com
19.6 -Cc: kkojima@rr.iij4u.or.jp
19.7 -Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
19.8 - with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
19.9 -In-Reply-To: Your message of "Wed, 30 Jul 2003 21:55:54 -0700"
19.10 - <3F28A15A.5010400@kegel.com>
19.11 -References: <3F28A15A.5010400@kegel.com>
19.12 -Date: Thu, 31 Jul 2003 21:47:38 +0900
19.13 -From: kaz Kojima <kkojima@rr.iij4u.or.jp>
19.14 -
19.15 -Dan Kegel <dank@kegel.com> wrote:
19.16 ->> I'll give binutils-2.14.90.0.5 a shot, then.
19.17 ->
19.18 -> No joy - same problem. Guess I'll take this up on binutils and/or libc-alpha.
19.19 -
19.20 -Please try the patch below, though it's a diff against the current
19.21 -binutils CVS.
19.22 -
19.23 -Regards,
19.24 - kaz
19.25 ---
19.26 -diff -u3p ORIG/src/bfd/elf32-sh.c LOCAL/src/bfd/elf32-sh.c
19.27 ---- src/bfd/elf32-sh.c.old Fri Jul 25 14:46:58 2003
19.28 -+++ src/bfd/elf32-sh.c Thu Jul 31 21:09:38 2003
19.29 -@@ -6497,8 +6497,10 @@ sh_elf_check_relocs (bfd *abfd, struct b
19.30 - sreloc, 2))
19.31 - return FALSE;
19.32 - }
19.33 -+#if 0
19.34 - if (sec->flags & SEC_READONLY)
19.35 - info->flags |= DF_TEXTREL;
19.36 -+#endif
19.37 - elf_section_data (sec)->sreloc = sreloc;
19.38 - }
19.39 -
19.40 -
19.41 -
20.1 --- a/patches/binutils/2.14/110-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
20.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
20.3 @@ -1,38 +0,0 @@
20.4 -diff -durN binutils-2.14.orig/gas/config/tc-i386.c binutils-2.14/gas/config/tc-i386.c
20.5 ---- binutils-2.14.orig/gas/config/tc-i386.c 2003-01-29 11:05:52.000000000 +0100
20.6 -+++ binutils-2.14/gas/config/tc-i386.c 2008-09-22 08:54:50.000000000 +0200
20.7 -@@ -189,15 +189,10 @@
20.8 - const char extra_symbol_chars[] = "*%-([";
20.9 - #endif
20.10 -
20.11 --#if (defined (TE_I386AIX) \
20.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
20.13 -- && !defined (TE_LINUX) \
20.14 -- && !defined (TE_FreeBSD) \
20.15 -- && !defined (TE_NetBSD)))
20.16 - /* This array holds the chars that always start a comment. If the
20.17 - pre-processor is disabled, these aren't very useful. */
20.18 --const char comment_chars[] = "#/";
20.19 --#define PREFIX_SEPARATOR '\\'
20.20 -+const char comment_chars[] = "#";
20.21 -+#define PREFIX_SEPARATOR '/'
20.22 -
20.23 - /* This array holds the chars that only start a comment at the beginning of
20.24 - a line. If the line seems to have the form '# 123 filename'
20.25 -@@ -207,16 +202,7 @@
20.26 - #NO_APP at the beginning of its output.
20.27 - Also note that comments started like this one will always work if
20.28 - '/' isn't otherwise defined. */
20.29 --const char line_comment_chars[] = "#";
20.30 --
20.31 --#else
20.32 --/* Putting '/' here makes it impossible to use the divide operator.
20.33 -- However, we need it for compatibility with SVR4 systems. */
20.34 --const char comment_chars[] = "#";
20.35 --#define PREFIX_SEPARATOR '/'
20.36 --
20.37 - const char line_comment_chars[] = "/#";
20.38 --#endif
20.39 -
20.40 - const char line_separator_chars[] = ";";
20.41 -
21.1 --- a/patches/binutils/2.14/270-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
21.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
21.3 @@ -1,38 +0,0 @@
21.4 -diff -durN binutils-2.15.orig/gas/config/tc-i386.c binutils-2.15/gas/config/tc-i386.c
21.5 ---- binutils-2.15.orig/gas/config/tc-i386.c 2004-05-17 21:36:09.000000000 +0200
21.6 -+++ binutils-2.15/gas/config/tc-i386.c 2008-09-22 08:57:14.000000000 +0200
21.7 -@@ -185,15 +185,10 @@
21.8 - const char extra_symbol_chars[] = "*%-([";
21.9 - #endif
21.10 -
21.11 --#if (defined (TE_I386AIX) \
21.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
21.13 -- && !defined (TE_LINUX) \
21.14 -- && !defined (TE_FreeBSD) \
21.15 -- && !defined (TE_NetBSD)))
21.16 - /* This array holds the chars that always start a comment. If the
21.17 - pre-processor is disabled, these aren't very useful. */
21.18 --const char comment_chars[] = "#/";
21.19 --#define PREFIX_SEPARATOR '\\'
21.20 -+const char comment_chars[] = "#";
21.21 -+#define PREFIX_SEPARATOR '/'
21.22 -
21.23 - /* This array holds the chars that only start a comment at the beginning of
21.24 - a line. If the line seems to have the form '# 123 filename'
21.25 -@@ -203,16 +198,7 @@
21.26 - #NO_APP at the beginning of its output.
21.27 - Also note that comments started like this one will always work if
21.28 - '/' isn't otherwise defined. */
21.29 --const char line_comment_chars[] = "#";
21.30 --
21.31 --#else
21.32 --/* Putting '/' here makes it impossible to use the divide operator.
21.33 -- However, we need it for compatibility with SVR4 systems. */
21.34 --const char comment_chars[] = "#";
21.35 --#define PREFIX_SEPARATOR '/'
21.36 --
21.37 - const char line_comment_chars[] = "/#";
21.38 --#endif
21.39 -
21.40 - const char line_separator_chars[] = ";";
21.41 -
22.1 --- a/patches/binutils/2.15/100-uclibc.patch Wed Oct 28 12:03:38 2009 +0100
22.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
22.3 @@ -1,144 +0,0 @@
22.4 -diff -uNr binutils-2.15-pristine/bfd/configure binutils-2.15/bfd/configure
22.5 ---- binutils-2.15-pristine/bfd/configure 2004-05-17 12:35:57.000000000 -0700
22.6 -+++ binutils-2.15/bfd/configure 2004-07-19 16:36:19.000000000 -0700
22.7 -@@ -1009,7 +1009,7 @@
22.8 - bfd_version_string="\"${VERSION}\""
22.9 - if test x${is_release} = x; then
22.10 - bfd_version_date=`sed -n -e 's/.*DATE //p' < ${srcdir}/version.h`
22.11 -- bfd_version_string="\"${VERSION} ${bfd_version_date}\""
22.12 -+ bfd_version_string="\"${VERSION} ${bfd_version_date} uClibc\""
22.13 - fi
22.14 -
22.15 -
22.16 -diff -uNr binutils-2.15-pristine/bfd/elf32-arm.h binutils-2.15/bfd/elf32-arm.h
22.17 ---- binutils-2.15-pristine/bfd/elf32-arm.h 2004-05-17 12:35:58.000000000 -0700
22.18 -+++ binutils-2.15/bfd/elf32-arm.h 2004-07-19 16:37:06.000000000 -0700
22.19 -@@ -124,7 +124,7 @@
22.20 -
22.21 - /* The name of the dynamic interpreter. This is put in the .interp
22.22 - section. */
22.23 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.24 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.25 -
22.26 - #ifdef FOUR_WORD_PLT
22.27 -
22.28 -diff -uNr binutils-2.15-pristine/bfd/elf32-cris.c binutils-2.15/bfd/elf32-cris.c
22.29 ---- binutils-2.15-pristine/bfd/elf32-cris.c 2004-05-17 12:35:58.000000000 -0700
22.30 -+++ binutils-2.15/bfd/elf32-cris.c 2004-07-19 16:49:59.000000000 -0700
22.31 -@@ -536,7 +536,7 @@
22.32 - /* The name of the dynamic interpreter. This is put in the .interp
22.33 - section. */
22.34 -
22.35 --#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
22.36 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.37 -
22.38 - /* The size in bytes of an entry in the procedure linkage table. */
22.39 -
22.40 -diff -uNr binutils-2.15-pristine/bfd/elf32-frv.c binutils-2.15/bfd/elf32-frv.c
22.41 ---- binutils-2.15-pristine/bfd/elf32-frv.c 2004-05-17 12:35:58.000000000 -0700
22.42 -+++ binutils-2.15/bfd/elf32-frv.c 2004-07-19 16:49:59.000000000 -0700
22.43 -@@ -2913,7 +2913,7 @@
22.44 - /* The name of the dynamic interpreter. This is put in the .interp
22.45 - section. */
22.46 -
22.47 --#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
22.48 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.49 -
22.50 - #define DEFAULT_STACK_SIZE 0x20000
22.51 -
22.52 -diff -uNr binutils-2.15-pristine/bfd/elf32-hppa.c binutils-2.15/bfd/elf32-hppa.c
22.53 ---- binutils-2.15-pristine/bfd/elf32-hppa.c 2004-05-17 12:35:58.000000000 -0700
22.54 -+++ binutils-2.15/bfd/elf32-hppa.c 2004-07-19 16:49:59.000000000 -0700
22.55 -@@ -115,7 +115,7 @@
22.56 -
22.57 - #define PLT_ENTRY_SIZE 8
22.58 - #define GOT_ENTRY_SIZE 4
22.59 --#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
22.60 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.61 -
22.62 - static const bfd_byte plt_stub[] =
22.63 - {
22.64 -diff -uNr binutils-2.15-pristine/bfd/elf32-ppc.c binutils-2.15/bfd/elf32-ppc.c
22.65 ---- binutils-2.15-pristine/bfd/elf32-ppc.c 2004-05-17 12:35:59.000000000 -0700
22.66 -+++ binutils-2.15/bfd/elf32-ppc.c 2004-07-19 16:49:59.000000000 -0700
22.67 -@@ -49,7 +49,7 @@
22.68 -
22.69 - /* The name of the dynamic interpreter. This is put in the .interp
22.70 - section. */
22.71 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.72 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.73 -
22.74 - /* The size in bytes of an entry in the procedure linkage table. */
22.75 - #define PLT_ENTRY_SIZE 12
22.76 -diff -uNr binutils-2.15-pristine/bfd/elf32-s390.c binutils-2.15/bfd/elf32-s390.c
22.77 ---- binutils-2.15-pristine/bfd/elf32-s390.c 2004-05-17 12:35:59.000000000 -0700
22.78 -+++ binutils-2.15/bfd/elf32-s390.c 2004-07-19 16:49:59.000000000 -0700
22.79 -@@ -452,7 +452,7 @@
22.80 - /* The name of the dynamic interpreter. This is put in the .interp
22.81 - section. */
22.82 -
22.83 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.84 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.85 -
22.86 - /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
22.87 - copying dynamic variables from a shared lib into an app's dynbss
22.88 -diff -uNr binutils-2.15-pristine/bfd/elf32-sparc.c binutils-2.15/bfd/elf32-sparc.c
22.89 ---- binutils-2.15-pristine/bfd/elf32-sparc.c 2004-05-17 12:36:00.000000000 -0700
22.90 -+++ binutils-2.15/bfd/elf32-sparc.c 2004-07-19 16:49:59.000000000 -0700
22.91 -@@ -536,7 +536,7 @@
22.92 - /* The name of the dynamic interpreter. This is put in the .interp
22.93 - section. */
22.94 -
22.95 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.96 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.97 -
22.98 - /* The nop opcode we use. */
22.99 -
22.100 -diff -uNr binutils-2.15-pristine/bfd/elf64-ppc.c binutils-2.15/bfd/elf64-ppc.c
22.101 ---- binutils-2.15-pristine/bfd/elf64-ppc.c 2004-05-17 12:36:01.000000000 -0700
22.102 -+++ binutils-2.15/bfd/elf64-ppc.c 2004-07-19 16:49:59.000000000 -0700
22.103 -@@ -99,7 +99,7 @@
22.104 -
22.105 - /* The name of the dynamic interpreter. This is put in the .interp
22.106 - section. */
22.107 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.108 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.109 -
22.110 - /* The size in bytes of an entry in the procedure linkage table. */
22.111 - #define PLT_ENTRY_SIZE 24
22.112 -diff -uNr binutils-2.15-pristine/bfd/elf64-s390.c binutils-2.15/bfd/elf64-s390.c
22.113 ---- binutils-2.15-pristine/bfd/elf64-s390.c 2004-05-17 12:36:01.000000000 -0700
22.114 -+++ binutils-2.15/bfd/elf64-s390.c 2004-07-19 16:49:59.000000000 -0700
22.115 -@@ -473,7 +473,7 @@
22.116 - /* The name of the dynamic interpreter. This is put in the .interp
22.117 - section. */
22.118 -
22.119 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.120 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.121 -
22.122 - /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
22.123 - copying dynamic variables from a shared lib into an app's dynbss
22.124 -diff -uNr binutils-2.15-pristine/bfd/elf-m10300.c binutils-2.15/bfd/elf-m10300.c
22.125 ---- binutils-2.15-pristine/bfd/elf-m10300.c 2004-05-17 12:35:57.000000000 -0700
22.126 -+++ binutils-2.15/bfd/elf-m10300.c 2004-07-19 16:49:59.000000000 -0700
22.127 -@@ -4026,7 +4026,7 @@
22.128 - /* The name of the dynamic interpreter. This is put in the .interp
22.129 - section. */
22.130 -
22.131 --#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
22.132 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.133 -
22.134 - /* Create dynamic sections when linking against a dynamic object. */
22.135 -
22.136 -diff -uNr binutils-2.15-pristine/bfd/elfxx-ia64.c binutils-2.15/bfd/elfxx-ia64.c
22.137 ---- binutils-2.15-pristine/bfd/elfxx-ia64.c 2004-05-17 12:36:02.000000000 -0700
22.138 -+++ binutils-2.15/bfd/elfxx-ia64.c 2004-07-19 16:49:59.000000000 -0700
22.139 -@@ -643,7 +643,7 @@
22.140 - 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
22.141 - };
22.142 -
22.143 --#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
22.144 -+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
22.145 -
22.146 - static const bfd_byte oor_brl[16] =
22.147 - {
23.1 --- a/patches/binutils/2.15/110-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
23.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
23.3 @@ -1,692 +0,0 @@
23.4 -diff -urN binutils-2.15-dist/bfd/config.bfd binutils-2.15/bfd/config.bfd
23.5 ---- binutils-2.15-dist/bfd/config.bfd 2004-05-17 14:35:56.000000000 -0500
23.6 -+++ binutils-2.15/bfd/config.bfd 2004-08-04 12:01:44.000000000 -0500
23.7 -@@ -126,7 +126,7 @@
23.8 - targ_defvec=ecoffalpha_little_vec
23.9 - targ_selvecs=bfd_elf64_alpha_vec
23.10 - ;;
23.11 -- alpha*-*-linux-gnu* | alpha*-*-elf*)
23.12 -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
23.13 - targ_defvec=bfd_elf64_alpha_vec
23.14 - targ_selvecs=ecoffalpha_little_vec
23.15 - ;;
23.16 -@@ -136,7 +136,7 @@
23.17 - alpha*-*-*)
23.18 - targ_defvec=ecoffalpha_little_vec
23.19 - ;;
23.20 -- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
23.21 -+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
23.22 - targ_defvec=bfd_elf64_ia64_little_vec
23.23 - targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
23.24 - ;;
23.25 -@@ -213,7 +213,7 @@
23.26 - targ_defvec=bfd_elf32_littlearm_vec
23.27 - targ_selvecs=bfd_elf32_bigarm_vec
23.28 - ;;
23.29 -- armeb-*-elf | arm*b-*-linux-gnu*)
23.30 -+ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
23.31 - targ_defvec=bfd_elf32_bigarm_vec
23.32 - targ_selvecs=bfd_elf32_littlearm_vec
23.33 - ;;
23.34 -@@ -221,7 +221,7 @@
23.35 - targ_defvec=bfd_elf32_littlearm_vec
23.36 - targ_selvecs=bfd_elf32_bigarm_vec
23.37 - ;;
23.38 -- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
23.39 -+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \
23.40 - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
23.41 - targ_defvec=bfd_elf32_littlearm_vec
23.42 - targ_selvecs=bfd_elf32_bigarm_vec
23.43 -@@ -360,7 +360,7 @@
23.44 - ;;
23.45 -
23.46 - #ifdef BFD64
23.47 -- hppa*64*-*-linux-gnu*)
23.48 -+ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
23.49 - targ_defvec=bfd_elf64_hppa_linux_vec
23.50 - targ_selvecs=bfd_elf64_hppa_vec
23.51 - ;;
23.52 -@@ -371,7 +371,7 @@
23.53 - ;;
23.54 - #endif
23.55 -
23.56 -- hppa*-*-linux-gnu* | hppa*-*-netbsd*)
23.57 -+ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc* | hppa*-*-netbsd*)
23.58 - targ_defvec=bfd_elf32_hppa_linux_vec
23.59 - targ_selvecs=bfd_elf32_hppa_vec
23.60 - ;;
23.61 -@@ -494,7 +494,7 @@
23.62 - targ_selvecs=bfd_elf32_i386_vec
23.63 - targ_underscore=yes
23.64 - ;;
23.65 -- i[3-7]86-*-linux-gnu*)
23.66 -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
23.67 - targ_defvec=bfd_elf32_i386_vec
23.68 - targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
23.69 - targ64_selvecs=bfd_elf64_x86_64_vec
23.70 -@@ -508,7 +508,7 @@
23.71 - targ_defvec=bfd_elf64_x86_64_vec
23.72 - targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
23.73 - ;;
23.74 -- x86_64-*-linux-gnu*)
23.75 -+ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
23.76 - targ_defvec=bfd_elf64_x86_64_vec
23.77 - targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
23.78 - ;;
23.79 -@@ -683,7 +683,7 @@
23.80 - targ_selvecs=bfd_elf32_m68k_vec
23.81 - targ_underscore=yes
23.82 - ;;
23.83 -- m68*-*-linux-gnu*)
23.84 -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
23.85 - targ_defvec=bfd_elf32_m68k_vec
23.86 - targ_selvecs=m68klinux_vec
23.87 - ;;
23.88 -@@ -955,7 +955,8 @@
23.89 - ;;
23.90 - #endif
23.91 - powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
23.92 -- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
23.93 -+ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
23.94 -+ powerpc-*-rtems* | \
23.95 - powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
23.96 - targ_defvec=bfd_elf32_powerpc_vec
23.97 - targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
23.98 -@@ -987,8 +988,8 @@
23.99 - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
23.100 - ;;
23.101 - powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
23.102 -- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
23.103 -- powerpcle-*-rtems*)
23.104 -+ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
23.105 -+ powerpcle-*-vxworks* | powerpcle-*-rtems*)
23.106 - targ_defvec=bfd_elf32_powerpcle_vec
23.107 - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
23.108 - targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
23.109 -@@ -1149,7 +1150,7 @@
23.110 - targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
23.111 - targ_underscore=yes
23.112 - ;;
23.113 -- sparc-*-linux-gnu*)
23.114 -+ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
23.115 - targ_defvec=bfd_elf32_sparc_vec
23.116 - targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
23.117 - ;;
23.118 -@@ -1196,7 +1197,7 @@
23.119 - targ_defvec=sunos_big_vec
23.120 - targ_underscore=yes
23.121 - ;;
23.122 -- sparc64-*-linux-gnu*)
23.123 -+ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
23.124 - targ_defvec=bfd_elf64_sparc_vec
23.125 - targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
23.126 - ;;
23.127 -@@ -1265,7 +1266,7 @@
23.128 - targ_underscore=yes
23.129 - ;;
23.130 -
23.131 -- vax-*-linux-gnu*)
23.132 -+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
23.133 - targ_defvec=bfd_elf32_vax_vec
23.134 - ;;
23.135 -
23.136 -diff -urN binutils-2.15-dist/bfd/configure binutils-2.15/bfd/configure
23.137 ---- binutils-2.15-dist/bfd/configure 2004-05-17 14:35:57.000000000 -0500
23.138 -+++ binutils-2.15/bfd/configure 2004-08-04 12:01:44.000000000 -0500
23.139 -@@ -1699,6 +1699,11 @@
23.140 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.141 - ;;
23.142 -
23.143 -+linux-uclibc*)
23.144 -+ lt_cv_deplibs_check_method=pass_all
23.145 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.146 -+ ;;
23.147 -+
23.148 - netbsd*)
23.149 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.150 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
23.151 -@@ -5278,7 +5283,7 @@
23.152 - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
23.153 - COREFILE=''
23.154 - ;;
23.155 -- alpha*-*-linux-gnu*)
23.156 -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
23.157 - COREFILE=trad-core.lo
23.158 - TRAD_HEADER='"hosts/alphalinux.h"'
23.159 - ;;
23.160 -@@ -5338,7 +5343,7 @@
23.161 - COREFILE=trad-core.lo
23.162 - TRAD_HEADER='"hosts/i386mach3.h"'
23.163 - ;;
23.164 -- i[3-7]86-*-linux-gnu*)
23.165 -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
23.166 - COREFILE=trad-core.lo
23.167 - TRAD_HEADER='"hosts/i386linux.h"'
23.168 - ;;
23.169 -@@ -5376,7 +5381,7 @@
23.170 - COREFILE=trad-core.lo
23.171 - TRAD_HEADER='"hosts/hp300bsd.h"'
23.172 - ;;
23.173 -- m68*-*-linux-gnu*)
23.174 -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
23.175 - COREFILE=trad-core.lo
23.176 - TRAD_HEADER='"hosts/m68klinux.h"'
23.177 - ;;
23.178 -@@ -5477,7 +5482,7 @@
23.179 - COREFILE=trad-core.lo
23.180 - TRAD_HEADER='"hosts/vaxult2.h"'
23.181 - ;;
23.182 -- vax-*-linux-gnu*)
23.183 -+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
23.184 - COREFILE=trad-core.lo
23.185 - TRAD_HEADER='"hosts/vaxlinux.h"'
23.186 - ;;
23.187 -diff -urN binutils-2.15-dist/bfd/configure.in binutils-2.15/bfd/configure.in
23.188 ---- binutils-2.15-dist/bfd/configure.in 2004-05-17 14:35:57.000000000 -0500
23.189 -+++ binutils-2.15/bfd/configure.in 2004-08-04 12:01:44.000000000 -0500
23.190 -@@ -178,7 +178,7 @@
23.191 - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
23.192 - COREFILE=''
23.193 - ;;
23.194 -- alpha*-*-linux-gnu*)
23.195 -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
23.196 - COREFILE=trad-core.lo
23.197 - TRAD_HEADER='"hosts/alphalinux.h"'
23.198 - ;;
23.199 -@@ -259,7 +259,7 @@
23.200 - TRAD_HEADER='"hosts/i386mach3.h"'
23.201 - ;;
23.202 - changequote(,)dnl
23.203 -- i[3-7]86-*-linux-gnu*)
23.204 -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
23.205 - changequote([,])dnl
23.206 - COREFILE=trad-core.lo
23.207 - TRAD_HEADER='"hosts/i386linux.h"'
23.208 -@@ -300,7 +300,7 @@
23.209 - COREFILE=trad-core.lo
23.210 - TRAD_HEADER='"hosts/hp300bsd.h"'
23.211 - ;;
23.212 -- m68*-*-linux-gnu*)
23.213 -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
23.214 - COREFILE=trad-core.lo
23.215 - TRAD_HEADER='"hosts/m68klinux.h"'
23.216 - ;;
23.217 -@@ -385,7 +385,7 @@
23.218 - COREFILE=trad-core.lo
23.219 - TRAD_HEADER='"hosts/vaxult2.h"'
23.220 - ;;
23.221 -- vax-*-linux-gnu*)
23.222 -+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
23.223 - COREFILE=trad-core.lo
23.224 - TRAD_HEADER='"hosts/vaxlinux.h"'
23.225 - ;;
23.226 -diff -urN binutils-2.15-dist/binutils/configure binutils-2.15/binutils/configure
23.227 ---- binutils-2.15-dist/binutils/configure 2004-01-02 11:08:04.000000000 -0600
23.228 -+++ binutils-2.15/binutils/configure 2004-08-04 12:01:44.000000000 -0500
23.229 -@@ -1585,6 +1585,11 @@
23.230 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.231 - ;;
23.232 -
23.233 -+linux-uclibc*)
23.234 -+ lt_cv_deplibs_check_method=pass_all
23.235 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.236 -+ ;;
23.237 -+
23.238 - netbsd*)
23.239 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.240 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
23.241 -diff -urN binutils-2.15-dist/configure binutils-2.15/configure
23.242 ---- binutils-2.15-dist/configure 2004-05-17 14:36:20.000000000 -0500
23.243 -+++ binutils-2.15/configure 2004-08-04 12:01:44.000000000 -0500
23.244 -@@ -1288,6 +1288,18 @@
23.245 - i[3456789]86-*-freebsd* | i[3456789]86-*-kfreebsd*-gnu)
23.246 - noconfigdirs="$noconfigdirs target-newlib target-libgloss"
23.247 - ;;
23.248 -+ i[3456789]86-*-linux-uclibc*)
23.249 -+ # This section makes it possible to build newlib natively on linux.
23.250 -+ # If we are using a cross compiler then don't configure newlib.
23.251 -+ if test x${is_cross_compiler} != xno ; then
23.252 -+ noconfigdirs="$noconfigdirs target-newlib"
23.253 -+ fi
23.254 -+ noconfigdirs="$noconfigdirs target-libgloss"
23.255 -+ # If we are not using a cross compiler, do configure newlib.
23.256 -+ # Note however, that newlib will only be configured in this situation
23.257 -+ # if the --with-newlib option has been given, because otherwise
23.258 -+ # 'target-newlib' will appear in skipdirs.
23.259 -+ ;;
23.260 - i[3456789]86-*-linux*)
23.261 - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
23.262 - # not build java stuff by default.
23.263 -diff -urN binutils-2.15-dist/configure.in binutils-2.15/configure.in
23.264 ---- binutils-2.15-dist/configure.in 2004-05-17 14:40:54.000000000 -0500
23.265 -+++ binutils-2.15/configure.in 2004-08-04 12:01:44.000000000 -0500
23.266 -@@ -521,6 +521,18 @@
23.267 - i[[3456789]]86-*-freebsd* | i[[3456789]]86-*-kfreebsd*-gnu)
23.268 - noconfigdirs="$noconfigdirs target-newlib target-libgloss"
23.269 - ;;
23.270 -+ i[[3456789]]86-*-linux-uclibc*)
23.271 -+ # This section makes it possible to build newlib natively on linux.
23.272 -+ # If we are using a cross compiler then don't configure newlib.
23.273 -+ if test x${is_cross_compiler} != xno ; then
23.274 -+ noconfigdirs="$noconfigdirs target-newlib"
23.275 -+ fi
23.276 -+ noconfigdirs="$noconfigdirs target-libgloss"
23.277 -+ # If we are not using a cross compiler, do configure newlib.
23.278 -+ # Note however, that newlib will only be configured in this situation
23.279 -+ # if the --with-newlib option has been given, because otherwise
23.280 -+ # 'target-newlib' will appear in skipdirs.
23.281 -+ ;;
23.282 - i[[3456789]]86-*-linux*)
23.283 - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
23.284 - # not build java stuff by default.
23.285 -diff -urN binutils-2.15-dist/gas/configure binutils-2.15/gas/configure
23.286 ---- binutils-2.15-dist/gas/configure 2004-05-17 14:36:07.000000000 -0500
23.287 -+++ binutils-2.15/gas/configure 2004-08-04 12:07:50.000000000 -0500
23.288 -@@ -3400,6 +3400,11 @@
23.289 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.290 - ;;
23.291 -
23.292 -+linux-uclibc*)
23.293 -+ lt_cv_deplibs_check_method=pass_all
23.294 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.295 -+ ;;
23.296 -+
23.297 - netbsd*)
23.298 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.299 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
23.300 -@@ -4224,6 +4229,7 @@
23.301 - alpha*-*-osf*) fmt=ecoff ;;
23.302 - alpha*-*-linuxecoff*) fmt=ecoff ;;
23.303 - alpha*-*-linux-gnu*) fmt=elf em=linux ;;
23.304 -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
23.305 - alpha*-*-netbsd*) fmt=elf em=nbsd ;;
23.306 - alpha*-*-openbsd*) fmt=elf em=obsd ;;
23.307 -
23.308 -@@ -4240,6 +4246,7 @@
23.309 - arm*-*-conix*) fmt=elf ;;
23.310 - arm-*-linux*aout*) fmt=aout em=linux ;;
23.311 - arm*-*-linux-gnu*) fmt=elf em=linux ;;
23.312 -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
23.313 - arm*-*-uclinux*) fmt=elf em=linux ;;
23.314 - arm-*-netbsdelf*) fmt=elf em=nbsd ;;
23.315 - arm-*-*n*bsd*) fmt=aout em=nbsd ;;
23.316 -@@ -4253,6 +4260,7 @@
23.317 - avr-*-*) fmt=elf ;;
23.318 -
23.319 - cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
23.320 -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
23.321 - cris-*-*) fmt=multi bfd_gas=yes ;;
23.322 -
23.323 - d10v-*-*) fmt=elf ;;
23.324 -@@ -4310,7 +4318,9 @@
23.325 - i386-*-linux*oldld) fmt=aout em=linux ;;
23.326 - i386-*-linux*coff*) fmt=coff em=linux ;;
23.327 - i386-*-linux-gnu*) fmt=elf em=linux ;;
23.328 -+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
23.329 - x86_64-*-linux-gnu*) fmt=elf em=linux ;;
23.330 -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
23.331 - i386-*-lynxos*) fmt=coff em=lynx ;;
23.332 - i386-*-sysv[45]*) fmt=elf ;;
23.333 - i386-*-solaris*) fmt=elf ;;
23.334 -@@ -4370,6 +4380,7 @@
23.335 - ia64-*-elf*) fmt=elf ;;
23.336 - ia64-*-aix*) fmt=elf em=ia64aix ;;
23.337 - ia64-*-linux-gnu*) fmt=elf em=linux ;;
23.338 -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
23.339 - ia64-*-hpux*) fmt=elf em=hpux ;;
23.340 - ia64-*-netbsd*) fmt=elf em=nbsd ;;
23.341 -
23.342 -@@ -4397,6 +4408,7 @@
23.343 - m68k-*-hpux*) fmt=hp300 em=hp300 ;;
23.344 - m68k-*-linux*aout*) fmt=aout em=linux ;;
23.345 - m68k-*-linux-gnu*) fmt=elf em=linux ;;
23.346 -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
23.347 - m68k-*-uclinux*) fmt=elf ;;
23.348 - m68k-*-gnu*) fmt=elf ;;
23.349 - m68k-*-lynxos*) fmt=coff em=lynx ;;
23.350 -@@ -4459,6 +4471,7 @@
23.351 - ppc-*-beos*) fmt=coff ;;
23.352 - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
23.353 - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
23.354 -+ ppc-*-linux-uclibc* | \
23.355 - ppc-*-linux-gnu*) fmt=elf em=linux
23.356 - case "$endian" in
23.357 - big) ;;
23.358 -@@ -4486,7 +4499,9 @@
23.359 - ppc-*-kaos*) fmt=elf ;;
23.360 -
23.361 - s390x-*-linux-gnu*) fmt=elf em=linux ;;
23.362 -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
23.363 - s390-*-linux-gnu*) fmt=elf em=linux ;;
23.364 -+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
23.365 -
23.366 - sh*-*-linux*) fmt=elf em=linux
23.367 - case ${cpu} in
23.368 -@@ -4519,6 +4534,7 @@
23.369 - sparc-*-coff) fmt=coff ;;
23.370 - sparc-*-linux*aout*) fmt=aout em=linux ;;
23.371 - sparc-*-linux-gnu*) fmt=elf em=linux ;;
23.372 -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
23.373 - sparc-*-lynxos*) fmt=coff em=lynx ;;
23.374 - sparc-fujitsu-none) fmt=aout ;;
23.375 - sparc-*-elf) fmt=elf ;;
23.376 -diff -urN binutils-2.15-dist/gas/configure.in binutils-2.15/gas/configure.in
23.377 ---- binutils-2.15-dist/gas/configure.in 2004-05-17 14:36:07.000000000 -0500
23.378 -+++ binutils-2.15/gas/configure.in 2004-08-04 12:07:21.000000000 -0500
23.379 -@@ -194,6 +194,7 @@
23.380 - alpha*-*-osf*) fmt=ecoff ;;
23.381 - alpha*-*-linuxecoff*) fmt=ecoff ;;
23.382 - alpha*-*-linux-gnu*) fmt=elf em=linux ;;
23.383 -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
23.384 - alpha*-*-netbsd*) fmt=elf em=nbsd ;;
23.385 - alpha*-*-openbsd*) fmt=elf em=obsd ;;
23.386 -
23.387 -@@ -210,6 +211,7 @@
23.388 - arm*-*-conix*) fmt=elf ;;
23.389 - arm-*-linux*aout*) fmt=aout em=linux ;;
23.390 - arm*-*-linux-gnu*) fmt=elf em=linux ;;
23.391 -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
23.392 - arm*-*-uclinux*) fmt=elf em=linux ;;
23.393 - arm-*-netbsdelf*) fmt=elf em=nbsd ;;
23.394 - arm-*-*n*bsd*) fmt=aout em=nbsd ;;
23.395 -@@ -223,6 +225,7 @@
23.396 - avr-*-*) fmt=elf ;;
23.397 -
23.398 - cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
23.399 -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
23.400 - cris-*-*) fmt=multi bfd_gas=yes ;;
23.401 -
23.402 - d10v-*-*) fmt=elf ;;
23.403 -@@ -280,7 +283,9 @@
23.404 - i386-*-linux*oldld) fmt=aout em=linux ;;
23.405 - i386-*-linux*coff*) fmt=coff em=linux ;;
23.406 - i386-*-linux-gnu*) fmt=elf em=linux ;;
23.407 -+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
23.408 - x86_64-*-linux-gnu*) fmt=elf em=linux ;;
23.409 -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
23.410 - i386-*-lynxos*) fmt=coff em=lynx ;;
23.411 - changequote(,)dnl
23.412 - i386-*-sysv[45]*) fmt=elf ;;
23.413 -@@ -333,6 +338,7 @@
23.414 - ia64-*-elf*) fmt=elf ;;
23.415 - ia64-*-aix*) fmt=elf em=ia64aix ;;
23.416 - ia64-*-linux-gnu*) fmt=elf em=linux ;;
23.417 -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
23.418 - ia64-*-hpux*) fmt=elf em=hpux ;;
23.419 - ia64-*-netbsd*) fmt=elf em=nbsd ;;
23.420 -
23.421 -@@ -360,6 +366,7 @@
23.422 - m68k-*-hpux*) fmt=hp300 em=hp300 ;;
23.423 - m68k-*-linux*aout*) fmt=aout em=linux ;;
23.424 - m68k-*-linux-gnu*) fmt=elf em=linux ;;
23.425 -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
23.426 - m68k-*-uclinux*) fmt=elf ;;
23.427 - m68k-*-gnu*) fmt=elf ;;
23.428 - m68k-*-lynxos*) fmt=coff em=lynx ;;
23.429 -@@ -419,6 +426,7 @@
23.430 - ppc-*-beos*) fmt=coff ;;
23.431 - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
23.432 - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
23.433 -+ ppc-*-linux-uclibc* | \
23.434 - ppc-*-linux-gnu*) fmt=elf em=linux
23.435 - case "$endian" in
23.436 - big) ;;
23.437 -@@ -439,7 +447,9 @@
23.438 - ppc-*-kaos*) fmt=elf ;;
23.439 -
23.440 - s390x-*-linux-gnu*) fmt=elf em=linux ;;
23.441 -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
23.442 - s390-*-linux-gnu*) fmt=elf em=linux ;;
23.443 -+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
23.444 -
23.445 - sh*-*-linux*) fmt=elf em=linux
23.446 - case ${cpu} in
23.447 -@@ -472,6 +482,7 @@
23.448 - sparc-*-coff) fmt=coff ;;
23.449 - sparc-*-linux*aout*) fmt=aout em=linux ;;
23.450 - sparc-*-linux-gnu*) fmt=elf em=linux ;;
23.451 -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
23.452 - sparc-*-lynxos*) fmt=coff em=lynx ;;
23.453 - sparc-fujitsu-none) fmt=aout ;;
23.454 - sparc-*-elf) fmt=elf ;;
23.455 -diff -urN binutils-2.15-dist/gprof/configure binutils-2.15/gprof/configure
23.456 ---- binutils-2.15-dist/gprof/configure 2003-08-26 12:19:19.000000000 -0500
23.457 -+++ binutils-2.15/gprof/configure 2004-08-04 12:01:45.000000000 -0500
23.458 -@@ -1581,6 +1581,11 @@
23.459 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.460 - ;;
23.461 -
23.462 -+linux-uclibc*)
23.463 -+ lt_cv_deplibs_check_method=pass_all
23.464 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.465 -+ ;;
23.466 -+
23.467 - netbsd*)
23.468 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.469 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
23.470 -diff -urN binutils-2.15-dist/ld/configure binutils-2.15/ld/configure
23.471 ---- binutils-2.15-dist/ld/configure 2003-04-24 07:36:07.000000000 -0500
23.472 -+++ binutils-2.15/ld/configure 2004-08-04 12:01:45.000000000 -0500
23.473 -@@ -1589,6 +1589,11 @@
23.474 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.475 - ;;
23.476 -
23.477 -+linux-uclibc*)
23.478 -+ lt_cv_deplibs_check_method=pass_all
23.479 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.480 -+ ;;
23.481 -+
23.482 - netbsd*)
23.483 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.484 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
23.485 -diff -urN binutils-2.15-dist/ld/configure.tgt binutils-2.15/ld/configure.tgt
23.486 ---- binutils-2.15-dist/ld/configure.tgt 2004-05-17 14:36:15.000000000 -0500
23.487 -+++ binutils-2.15/ld/configure.tgt 2004-08-04 12:01:45.000000000 -0500
23.488 -@@ -30,6 +30,7 @@
23.489 - targ_extra_emuls="criself crislinux"
23.490 - targ_extra_libpath=$targ_extra_emuls ;;
23.491 - cris-*-linux-gnu*) targ_emul=crislinux ;;
23.492 -+cris-*-linux-uclibc*) targ_emul=crislinux ;;
23.493 - cris-*-*) targ_emul=criself
23.494 - targ_extra_emuls="crisaout crislinux"
23.495 - targ_extra_libpath=$targ_extra_emuls ;;
23.496 -@@ -59,14 +60,16 @@
23.497 - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
23.498 - tdir_sun4=sparc-sun-sunos4
23.499 - ;;
23.500 --sparc64-*-linux-gnu*) targ_emul=elf64_sparc
23.501 -+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
23.502 -+ targ_emul=elf64_sparc
23.503 - targ_extra_emuls="elf32_sparc sparclinux sun4"
23.504 - targ_extra_libpath=elf32_sparc
23.505 - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
23.506 - tdir_sparclinux=${tdir_elf32_sparc}aout
23.507 - tdir_sun4=sparc-sun-sunos4
23.508 - ;;
23.509 --sparc*-*-linux-gnu*) targ_emul=elf32_sparc
23.510 -+sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
23.511 -+ targ_emul=elf32_sparc
23.512 - targ_extra_emuls="sparclinux elf64_sparc sun4"
23.513 - targ_extra_libpath=elf64_sparc
23.514 - tdir_sparclinux=${targ_alias}aout
23.515 -@@ -118,7 +121,9 @@
23.516 - m32r*le-*-elf*) targ_emul=m32rlelf ;;
23.517 - m32r*-*-elf*) targ_emul=m32relf ;;
23.518 - m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
23.519 -+m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
23.520 - m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
23.521 -+m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;;
23.522 - m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
23.523 - targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
23.524 - m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
23.525 -@@ -128,7 +133,7 @@
23.526 - m68*-ericsson-ose) targ_emul=sun3 ;;
23.527 - m68*-apple-aux*) targ_emul=m68kaux ;;
23.528 - *-tandem-none) targ_emul=st2000 ;;
23.529 --i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
23.530 -+i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
23.531 - i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
23.532 - i[3-7]86-*-vsta) targ_emul=vsta ;;
23.533 - i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
23.534 -@@ -152,14 +157,16 @@
23.535 - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
23.536 - ;;
23.537 - i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
23.538 --i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
23.539 -+i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
23.540 -+ targ_emul=elf_i386
23.541 - targ_extra_emuls=i386linux
23.542 - if test x${want64} = xtrue; then
23.543 - targ_extra_emuls="$targ_extra_emuls elf_x86_64"
23.544 - fi
23.545 - tdir_i386linux=${targ_alias}aout
23.546 - ;;
23.547 --x86_64-*-linux-gnu*) targ_emul=elf_x86_64
23.548 -+x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
23.549 -+ targ_emul=elf_x86_64
23.550 - targ_extra_emuls="elf_i386 i386linux"
23.551 - targ_extra_libpath=elf_i386
23.552 - tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
23.553 -@@ -259,10 +266,13 @@
23.554 - arm9e-*-elf) targ_emul=armelf ;;
23.555 - arm-*-oabi) targ_emul=armelf_oabi ;;
23.556 - arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
23.557 -+arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
23.558 - arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
23.559 -+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
23.560 - arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
23.561 - arm*-*-conix*) targ_emul=armelf ;;
23.562 --thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
23.563 -+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
23.564 -+ targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
23.565 - strongarm-*-coff) targ_emul=armcoff ;;
23.566 - strongarm-*-elf) targ_emul=armelf ;;
23.567 - strongarm-*-kaos*) targ_emul=armelf ;;
23.568 -@@ -364,7 +374,8 @@
23.569 - targ_extra_emuls=m68kelf
23.570 - tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
23.571 - ;;
23.572 --m68k-*-linux-gnu*) targ_emul=m68kelf
23.573 -+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
23.574 -+ targ_emul=m68kelf
23.575 - targ_extra_emuls=m68klinux
23.576 - tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
23.577 - ;;
23.578 -@@ -381,9 +392,9 @@
23.579 - m68*-*-psos*) targ_emul=m68kpsos ;;
23.580 - m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
23.581 - m68*-*-rtems*) targ_emul=m68kelf ;;
23.582 --hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
23.583 -+hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
23.584 - hppa*64*-*) targ_emul=elf64hppa ;;
23.585 --hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
23.586 -+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
23.587 - hppa*-*-*elf*) targ_emul=hppaelf ;;
23.588 - hppa*-*-lites*) targ_emul=hppaelf ;;
23.589 - hppa*-*-netbsd*) targ_emul=hppanbsd ;;
23.590 -@@ -396,6 +407,7 @@
23.591 - targ_emul=vaxnbsd
23.592 - targ_extra_emuls=elf32vax ;;
23.593 - vax-*-linux-gnu*) targ_emul=elf32vax ;;
23.594 -+vax-*-linux-uclibc*) targ_emul=elf32vax ;;
23.595 - mips*-*-pe) targ_emul=mipspe ;
23.596 - targ_extra_ofiles="deffilep.o pe-dll.o" ;;
23.597 - mips*-dec-ultrix*) targ_emul=mipslit ;;
23.598 -@@ -429,16 +441,16 @@
23.599 - mips*-*-vxworks*) targ_emul=elf32ebmip
23.600 - targ_extra_emuls="elf32elmip" ;;
23.601 - mips*-*-windiss) targ_emul=elf32mipswindiss ;;
23.602 --mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
23.603 -+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32
23.604 - targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
23.605 - ;;
23.606 --mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
23.607 -+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32
23.608 - targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
23.609 - ;;
23.610 --mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
23.611 -+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip
23.612 - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
23.613 - ;;
23.614 --mips*-*-linux-gnu*) targ_emul=elf32btsmip
23.615 -+mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip
23.616 - targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
23.617 - ;;
23.618 - mips*-*-lnews*) targ_emul=mipslnews ;;
23.619 -@@ -461,6 +473,10 @@
23.620 - alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
23.621 - tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
23.622 - ;;
23.623 -+alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
23.624 -+ # The following needs to be checked...
23.625 -+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
23.626 -+ ;;
23.627 - alpha*-*-osf*) targ_emul=alpha ;;
23.628 - alpha*-*-gnu*) targ_emul=elf64alpha ;;
23.629 - alpha*-*-netware*) targ_emul=alpha ;;
23.630 -diff -urN binutils-2.15-dist/libtool.m4 binutils-2.15/libtool.m4
23.631 ---- binutils-2.15-dist/libtool.m4 2003-04-10 22:58:39.000000000 -0500
23.632 -+++ binutils-2.15/libtool.m4 2004-08-04 12:01:45.000000000 -0500
23.633 -@@ -645,6 +645,11 @@
23.634 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.635 - ;;
23.636 -
23.637 -+linux-uclibc*)
23.638 -+ lt_cv_deplibs_check_method=pass_all
23.639 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.640 -+ ;;
23.641 -+
23.642 - netbsd*)
23.643 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.644 - [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
23.645 -diff -urN binutils-2.15-dist/ltconfig binutils-2.15/ltconfig
23.646 ---- binutils-2.15-dist/ltconfig 2003-10-03 23:54:47.000000000 -0500
23.647 -+++ binutils-2.15/ltconfig 2004-08-04 12:01:45.000000000 -0500
23.648 -@@ -603,6 +603,7 @@
23.649 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
23.650 - case $host_os in
23.651 - linux-gnu*) ;;
23.652 -+linux-uclibc*) ;;
23.653 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
23.654 - esac
23.655 -
23.656 -@@ -1259,6 +1260,24 @@
23.657 - dynamic_linker='GNU/Linux ld.so'
23.658 - ;;
23.659 -
23.660 -+linux-uclibc*)
23.661 -+ version_type=linux
23.662 -+ need_lib_prefix=no
23.663 -+ need_version=no
23.664 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
23.665 -+ soname_spec='${libname}${release}.so$major'
23.666 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
23.667 -+ shlibpath_var=LD_LIBRARY_PATH
23.668 -+ shlibpath_overrides_runpath=no
23.669 -+ # This implies no fast_install, which is unacceptable.
23.670 -+ # Some rework will be needed to allow for fast_install
23.671 -+ # before this can be enabled.
23.672 -+ # Note: copied from linux-gnu, and may not be appropriate.
23.673 -+ hardcode_into_libs=yes
23.674 -+ # Assume using the uClibc dynamic linker.
23.675 -+ dynamic_linker="uClibc ld.so"
23.676 -+ ;;
23.677 -+
23.678 - netbsd*)
23.679 - need_lib_prefix=no
23.680 - need_version=no
23.681 -diff -urN binutils-2.15-dist/opcodes/configure binutils-2.15/opcodes/configure
23.682 ---- binutils-2.15-dist/opcodes/configure 2003-08-05 04:39:31.000000000 -0500
23.683 -+++ binutils-2.15/opcodes/configure 2004-08-04 12:01:45.000000000 -0500
23.684 -@@ -1700,6 +1700,11 @@
23.685 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
23.686 - ;;
23.687 -
23.688 -+linux-uclibc*)
23.689 -+ lt_cv_deplibs_check_method=pass_all
23.690 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
23.691 -+ ;;
23.692 -+
23.693 - netbsd*)
23.694 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
23.695 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
24.1 --- a/patches/binutils/2.15/120-cflags.patch Wed Oct 28 12:03:38 2009 +0100
24.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
24.3 @@ -1,32 +0,0 @@
24.4 -diff -urN binutils-2.14.90.0.6/bfd/doc/Makefile.am binutils-2.14.90.0.6.new/bfd/doc/Makefile.am
24.5 ---- binutils-2.14.90.0.6/bfd/doc/Makefile.am 2003-07-23 10:08:09.000000000 -0500
24.6 -+++ binutils-2.14.90.0.6.new/bfd/doc/Makefile.am 2004-03-01 16:05:16.000000000 -0600
24.7 -@@ -55,10 +55,10 @@
24.8 - MKDOC = chew$(EXEEXT_FOR_BUILD)
24.9 -
24.10 - $(MKDOC): chew.o
24.11 -- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
24.12 -+ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
24.13 -
24.14 - chew.o: chew.c
24.15 -- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
24.16 -+ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
24.17 -
24.18 - protos: libbfd.h libcoff.h bfd.h
24.19 -
24.20 -diff -urN binutils-2.14.90.0.6/bfd/doc/Makefile.in binutils-2.14.90.0.6.new/bfd/doc/Makefile.in
24.21 ---- binutils-2.14.90.0.6/bfd/doc/Makefile.in 2003-07-23 10:08:09.000000000 -0500
24.22 -+++ binutils-2.14.90.0.6.new/bfd/doc/Makefile.in 2004-03-01 16:05:03.000000000 -0600
24.23 -@@ -469,10 +469,10 @@
24.24 -
24.25 -
24.26 - $(MKDOC): chew.o
24.27 -- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
24.28 -+ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
24.29 -
24.30 - chew.o: chew.c
24.31 -- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
24.32 -+ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
24.33 -
24.34 - protos: libbfd.h libcoff.h bfd.h
24.35 -
25.1 --- a/patches/binutils/2.15/130-mips-ELF_MAXPAGESIZE-4K.patch Wed Oct 28 12:03:38 2009 +0100
25.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
25.3 @@ -1,26 +0,0 @@
25.4 ---- binutils/bfd/elf32-mips.c~
25.5 -+++ binutils/bfd/elf32-mips.c
25.6 -@@ -1611,7 +1611,9 @@
25.7 -
25.8 - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
25.9 - page sizes of up to that limit, so we need to respect it. */
25.10 --#define ELF_MAXPAGESIZE 0x10000
25.11 -+/*#define ELF_MAXPAGESIZE 0x10000*/
25.12 -+/* Use 4K to shrink the elf header. NOT for general use! */
25.13 -+#define ELF_MAXPAGESIZE 0x1000
25.14 - #define elf32_bed elf32_tradbed
25.15 -
25.16 - /* Include the target file again for this target. */
25.17 ---- binutils/bfd/elfn32-mips.c~
25.18 -+++ binutils/bfd/elfn32-mips.c
25.19 -@@ -1976,7 +1976,9 @@
25.20 -
25.21 - /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
25.22 - page sizes of up to that limit, so we need to respect it. */
25.23 --#define ELF_MAXPAGESIZE 0x10000
25.24 -+/*#define ELF_MAXPAGESIZE 0x10000*/
25.25 -+/* Use 4K to shrink the elf header. NOT for general use! */
25.26 -+#define ELF_MAXPAGESIZE 0x1000
25.27 - #define elf32_bed elf32_tradbed
25.28 -
25.29 - /* Include the target file again for this target. */
26.1 --- a/patches/binutils/2.15/140-arm-textrel.patch Wed Oct 28 12:03:38 2009 +0100
26.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
26.3 @@ -1,63 +0,0 @@
26.4 -http://sources.redhat.com/ml/binutils/2004-06/msg00010.html
26.5 ---- binutils-2.15.90.0.3-old/bfd/elf32-arm.h 2004-04-12 14:56:33.000000000 -0500
26.6 -+++ binutils-2.15.90.0.3/bfd/elf32-arm.h 2004-09-03 06:56:40.000000000 -0500
26.7 -@@ -87,6 +87,8 @@
26.8 - #endif
26.9 - static bfd_boolean allocate_dynrelocs
26.10 - PARAMS ((struct elf_link_hash_entry *h, PTR inf));
26.11 -+static bfd_boolean elf32_arm_readonly_dynrelocs
26.12 -+ PARAMS ((struct elf_link_hash_entry *, PTR));
26.13 - static bfd_boolean create_got_section
26.14 - PARAMS ((bfd * dynobj, struct bfd_link_info * info));
26.15 - static bfd_boolean elf32_arm_create_dynamic_sections
26.16 -@@ -3531,6 +3533,37 @@
26.17 - return TRUE;
26.18 - }
26.19 -
26.20 -+/* Find any dynamic relocs that apply to read-only sections. */
26.21 -+
26.22 -+static bfd_boolean
26.23 -+elf32_arm_readonly_dynrelocs (h, inf)
26.24 -+ struct elf_link_hash_entry *h;
26.25 -+ PTR inf;
26.26 -+{
26.27 -+ struct elf32_arm_link_hash_entry *eh;
26.28 -+ struct elf32_arm_relocs_copied *p;
26.29 -+
26.30 -+ if (h->root.type == bfd_link_hash_warning)
26.31 -+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
26.32 -+
26.33 -+ eh = (struct elf32_arm_link_hash_entry *) h;
26.34 -+ for (p = eh->relocs_copied; p != NULL; p = p->next)
26.35 -+ {
26.36 -+ asection *s = p->section;
26.37 -+
26.38 -+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
26.39 -+ {
26.40 -+ struct bfd_link_info *info = (struct bfd_link_info *) inf;
26.41 -+
26.42 -+ info->flags |= DF_TEXTREL;
26.43 -+
26.44 -+ /* Not an error, just cut short the traversal. */
26.45 -+ return FALSE;
26.46 -+ }
26.47 -+ }
26.48 -+ return TRUE;
26.49 -+}
26.50 -+
26.51 - /* Set the sizes of the dynamic sections. */
26.52 -
26.53 - static bfd_boolean
26.54 -@@ -3740,6 +3773,12 @@
26.55 - return FALSE;
26.56 - }
26.57 -
26.58 -+ /* If any dynamic relocs apply to a read-only section,
26.59 -+ then we need a DT_TEXTREL entry. */
26.60 -+ if ((info->flags & DF_TEXTREL) == 0)
26.61 -+ elf_link_hash_traverse (&htab->root, elf32_arm_readonly_dynrelocs,
26.62 -+ (PTR) info);
26.63 -+
26.64 - if ((info->flags & DF_TEXTREL) != 0)
26.65 - {
26.66 - if (!add_dynamic_entry (DT_TEXTREL, 0))
27.1 --- a/patches/binutils/2.15/150-bfd-hash-tweak.patch Wed Oct 28 12:03:38 2009 +0100
27.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
27.3 @@ -1,24 +0,0 @@
27.4 -Signed-off-by: dank@kegel.com
27.5 -
27.6 -Raising the size of the hash table is a noticable win when linking
27.7 -at least one large app.
27.8 -
27.9 -There was a patch,
27.10 -http://sources.redhat.com/ml/binutils/2004-06/msg00165.html
27.11 -to do this dynamically. No idea why that didn't make it in.
27.12 -So this tiny change to raise the default size is just
27.13 -a stopgap for now.
27.14 -
27.15 -
27.16 ---- binutils-2.15/bfd/hash.c.old 2003-12-01 01:33:01.000000000 -0500
27.17 -+++ binutils-2.15/bfd/hash.c 2006-03-01 16:26:26.701991000 -0500
27.18 -@@ -295,7 +295,7 @@
27.19 - */
27.20 -
27.21 - /* The default number of entries to use when creating a hash table. */
27.22 --#define DEFAULT_SIZE (4051)
27.23 -+#define DEFAULT_SIZE (32749)
27.24 -
27.25 - /* Create a new hash table, given a number of entries. */
27.26 -
27.27 -
28.1 --- a/patches/binutils/2.15/160-allow-gcc-4.0.patch Wed Oct 28 12:03:38 2009 +0100
28.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
28.3 @@ -1,75 +0,0 @@
28.4 -Fix found here: http://www.freelists.org/archives/openbeos/11-2005/msg00090.html
28.5 -
28.6 -Fixes:
28.7 -In file included from ./targ-cpu.h:1,
28.8 - from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/obj-elf.h:42,
28.9 - from ./obj-format.h:1,
28.10 - from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/te-linux.h:4,
28.11 - from ./targ-env.h:1,
28.12 - from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/as.h:626,
28.13 - from /home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/app.c:30:
28.14 -/home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/binutils-2.15/gas/config/tc-i386.h:451: error: array type has incomplete element type
28.15 -make[3]: *** [app.o] Error 1
28.16 -make[3]: Leaving directory `/home/dank/crosstool-new/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/build-binutils/gas'
28.17 -
28.18 -when building binutils-2.15 with gcc-4.0
28.19 -
28.20 -
28.21 -diff -ur binutils-2.15.old/gas/as.h binutils-2.15/gas/as.h
28.22 ---- binutils-2.15.old/gas/as.h 2003-11-22 18:14:21.000000000 -0800
28.23 -+++ binutils-2.15/gas/as.h 2006-02-14 22:05:35.000000000 -0800
28.24 -@@ -605,7 +605,26 @@
28.25 - struct expressionS;
28.26 - struct fix;
28.27 - typedef struct symbol symbolS;
28.28 --struct relax_type;
28.29 -+
28.30 -+/* JF moved this here from as.h under the theory that nobody except MACHINE.c
28.31 -+ and write.c care about it anyway. */
28.32 -+/* [zooey]: the above no longer holds with gcc4, as it keeps bugging about
28.33 -+ incomplete element types in arrays, if relax_type isn't defined
28.34 -+ here. So I moved the definition back from tc.h to here. */
28.35 -+struct relax_type
28.36 -+{
28.37 -+ /* Forward reach. Signed number. > 0. */
28.38 -+ long rlx_forward;
28.39 -+ /* Backward reach. Signed number. < 0. */
28.40 -+ long rlx_backward;
28.41 -+
28.42 -+ /* Bytes length of this address. */
28.43 -+ unsigned char rlx_length;
28.44 -+
28.45 -+ /* Next longer relax-state. 0 means there is no 'next' relax-state. */
28.46 -+ relax_substateT rlx_more;
28.47 -+};
28.48 -+
28.49 - typedef struct frag fragS;
28.50 -
28.51 - #ifdef BFD_ASSEMBLER
28.52 -diff -ur binutils-2.15.old/gas/tc.h binutils-2.15/gas/tc.h
28.53 ---- binutils-2.15.old/gas/tc.h 2003-12-03 15:39:38.000000000 -0800
28.54 -+++ binutils-2.15/gas/tc.h 2006-02-14 22:03:35.000000000 -0800
28.55 -@@ -24,23 +24,6 @@
28.56 -
28.57 - extern const pseudo_typeS md_pseudo_table[];
28.58 -
28.59 --/* JF moved this here from as.h under the theory that nobody except MACHINE.c
28.60 -- and write.c care about it anyway. */
28.61 --
28.62 --struct relax_type
28.63 --{
28.64 -- /* Forward reach. Signed number. > 0. */
28.65 -- long rlx_forward;
28.66 -- /* Backward reach. Signed number. < 0. */
28.67 -- long rlx_backward;
28.68 --
28.69 -- /* Bytes length of this address. */
28.70 -- unsigned char rlx_length;
28.71 --
28.72 -- /* Next longer relax-state. 0 means there is no 'next' relax-state. */
28.73 -- relax_substateT rlx_more;
28.74 --};
28.75 --
28.76 - typedef struct relax_type relax_typeS;
28.77 -
28.78 - extern const int md_reloc_size; /* Size of a relocation record */
29.1 --- a/patches/binutils/2.15/170-psignal.patch Wed Oct 28 12:03:38 2009 +0100
29.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
29.3 @@ -1,40 +0,0 @@
29.4 -Make psignal prototype in libiberty match that in glibc.
29.5 -
29.6 -Fixes:
29.7 -
29.8 -gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c: In function `psignal':
29.9 -gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:563: argument `signo' doesn't match prototype
29.10 -/usr/include/signal.h:131: prototype declaration
29.11 -gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:563: argument `message' doesn't match prototype
29.12 -/usr/include/signal.h:131: prototype declaration
29.13 -gcc-2.95.3-glibc-2.1.3/binutils-2.15/libiberty/strsignal.c:568: warning: comparison between signed and unsigned
29.14 -mprotect... make[1]: *** [strsignal.o] Error 1
29.15 -make[1]: Leaving directory `/export/hda3/dkegel/queue/jobdir.produser_cpsm17/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-2.95.3-glibc-2.1.3/build-binutils/libiberty'
29.16 -make: *** [all-libiberty] Error 2
29.17 -
29.18 -when building on red hat 7.1
29.19 -though it's a bit of a mystery why libiberty's psignal is being compiled at
29.20 -all, since red hat 7.1's glibc supports psignal (hence the error message)
29.21 -
29.22 ---- binutils-2.15/libiberty/strsignal.c.old 2005-04-18 13:57:40.000000000 -0700
29.23 -+++ binutils-2.15/libiberty/strsignal.c 2005-04-18 13:59:09.000000000 -0700
29.24 -@@ -544,7 +544,7 @@
29.25 -
29.26 - /*
29.27 -
29.28 --@deftypefn Supplemental void psignal (unsigned @var{signo}, char *@var{message})
29.29 -+@deftypefn Supplemental void psignal (int @var{signo}, const char *@var{message})
29.30 -
29.31 - Print @var{message} to the standard error, followed by a colon,
29.32 - followed by the description of the signal specified by @var{signo},
29.33 -@@ -557,9 +557,7 @@
29.34 - #ifndef HAVE_PSIGNAL
29.35 -
29.36 - void
29.37 --psignal (signo, message)
29.38 -- unsigned signo;
29.39 -- char *message;
29.40 -+psignal (int signo, const char *message)
29.41 - {
29.42 - if (signal_names == NULL)
29.43 - {
30.1 --- a/patches/binutils/2.15/180-solaris-qsort.patch Wed Oct 28 12:03:38 2009 +0100
30.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
30.3 @@ -1,22 +0,0 @@
30.4 -See http://sources.redhat.com/ml/binutils/2004-06/msg00114.html
30.5 -
30.6 ---- src/bfd/elflink.c.org 2004-07-05 09:11:42.920597000 -0400
30.7 -+++ src/bfd/elflink.c 2004-07-05 09:12:59.240847000 -0400
30.8 -@@ -2700,7 +2700,7 @@
30.9 - return vdiff > 0 ? 1 : -1;
30.10 - else
30.11 - {
30.12 -- long sdiff = h1->root.u.def.section - h2->root.u.def.section;
30.13 -+ long sdiff = h1->root.u.def.section->id - h2->root.u.def.section->id;
30.14 - if (sdiff != 0)
30.15 - return sdiff > 0 ? 1 : -1;
30.16 - }
30.17 -@@ -3954,7 +3954,7 @@
30.18 - i = idx + 1;
30.19 - else
30.20 - {
30.21 -- long sdiff = slook - h->root.u.def.section;
30.22 -+ long sdiff = slook->id - h->root.u.def.section->id;
30.23 - if (sdiff < 0)
30.24 - j = idx;
30.25 - else if (sdiff > 0)
31.1 --- a/patches/binutils/2.15/190-vmx.patch Wed Oct 28 12:03:38 2009 +0100
31.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
31.3 @@ -1,45 +0,0 @@
31.4 -Grabbed with
31.5 -wget 'http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/opcodes/ppc-opc.c.diff?r1=1.70&r2=1.71&cvsroot=src'
31.6 -See
31.7 -http://mail.gnu.org/archive/html/bug-binutils/2004-05/msg00071.html
31.8 -and
31.9 -http://sources.redhat.com/ml/binutils-cvs/2004-05/msg00111.html
31.10 -
31.11 -This fixes problems like
31.12 -{standard input}: Assembler messages:
31.13 -{standard input}:1: Error: Unrecognized opcode: `dssall'
31.14 -which show up in binutils-2.15 when building the Linux kernel,
31.15 -or possibly failed compilations when building setjmp/longjmp in glibc.
31.16 -
31.17 -An alternative fix would be to pass -many to the assembler.
31.18 -A patch to do that for glibc is at
31.19 -wget 'http://sources.redhat.com/cgi-bin/get-raw-msg?listname=libc-alpha&date=2004-05&msgid=40B36E8C.9030609%40us.ibm.com'
31.20 -Yet another, better, fix would be for gcc to generate assembly
31.21 -that told the assembler which processor type to use.
31.22 -Presumably the Linux kernel sources would need a fix, too.
31.23 -Probably better to just fix binutils to accept sources that it used to.
31.24 -
31.25 -
31.26 -===================================================================
31.27 -RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
31.28 -retrieving revision 1.70
31.29 -retrieving revision 1.71
31.30 -diff -u -r1.70 -r1.71
31.31 ---- src/opcodes/ppc-opc.c 2004/05/05 13:43:36 1.70
31.32 -+++ src/opcodes/ppc-opc.c 2004/05/19 05:11:48 1.71
31.33 -@@ -1004,8 +1004,13 @@
31.34 -
31.35 - /* If only one bit of the FXM field is set, we can use the new form
31.36 - of the instruction, which is faster. Unlike the Power4 branch hint
31.37 -- encoding, this is not backward compatible. */
31.38 -- else if ((dialect & PPC_OPCODE_POWER4) != 0 && (value & -value) == value)
31.39 -+ encoding, this is not backward compatible. Do not generate the
31.40 -+ new form unless -mpower4 has been given, or -many and the two
31.41 -+ operand form of mfcr was used. */
31.42 -+ else if ((value & -value) == value
31.43 -+ && ((dialect & PPC_OPCODE_POWER4) != 0
31.44 -+ || ((dialect & PPC_OPCODE_ANY) != 0
31.45 -+ && (insn & (0x3ff << 1)) == 19 << 1)))
31.46 - insn |= 1 << 20;
31.47 -
31.48 - /* Any other value on mfcr is an error. */
32.1 --- a/patches/binutils/2.15/200-arm-undef-imm.patch Wed Oct 28 12:03:38 2009 +0100
32.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
32.3 @@ -1,51 +0,0 @@
32.4 -From http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-arm.c.diff?r1=1.168&r2=1.169&cvsroot=src
32.5 -See also http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2004-July/023128.html,
32.6 -"[CRITICAL PATCH] 2.6: fix silent build error]"
32.7 -
32.8 -Revision 1.169, Fri Jul 2 11:12:29 2004 UTC (19 hours, 4 minutes ago) by nickc
32.9 -Branch: MAIN
32.10 -CVS Tags: binutils_latest_snapshot, HEAD
32.11 -Changes since 1.168: +14 -1 lines
32.12 -
32.13 -(md_apply_fix3:BFD_RELOC_ARM_IMMEDIATE): Do not allow values which have come
32.14 -from undefined symbols.
32.15 -Always consider this fixup to have been processed as a reloc cannot be
32.16 -generated for it.
32.17 -
32.18 -
32.19 -===================================================================
32.20 -RCS file: /cvs/src/src/gas/config/tc-arm.c,v
32.21 -retrieving revision 1.168
32.22 -retrieving revision 1.169
32.23 -diff -u -r1.168 -r1.169
32.24 ---- src/gas/config/tc-arm.c 2004/04/30 10:51:12 1.168
32.25 -+++ src/gas/config/tc-arm.c 2004/07/02 11:12:29 1.169
32.26 -@@ -12186,6 +12186,20 @@
32.27 - switch (fixP->fx_r_type)
32.28 - {
32.29 - case BFD_RELOC_ARM_IMMEDIATE:
32.30 -+ /* We claim that this fixup has been processed here,
32.31 -+ even if in fact we generate an error because we do
32.32 -+ not have a reloc for it, so tc_gen_reloc will reject it. */
32.33 -+ fixP->fx_done = 1;
32.34 -+
32.35 -+ if (fixP->fx_addsy
32.36 -+ && ! S_IS_DEFINED (fixP->fx_addsy))
32.37 -+ {
32.38 -+ as_bad_where (fixP->fx_file, fixP->fx_line,
32.39 -+ _("undefined symbol %s used as an immediate value"),
32.40 -+ S_GET_NAME (fixP->fx_addsy));
32.41 -+ break;
32.42 -+ }
32.43 -+
32.44 - newimm = validate_immediate (value);
32.45 - temp = md_chars_to_number (buf, INSN_SIZE);
32.46 -
32.47 -@@ -12202,7 +12216,6 @@
32.48 -
32.49 - newimm |= (temp & 0xfffff000);
32.50 - md_number_to_chars (buf, (valueT) newimm, INSN_SIZE);
32.51 -- fixP->fx_done = 1;
32.52 - break;
32.53 -
32.54 - case BFD_RELOC_ARM_ADRL_IMMEDIATE:
33.1 --- a/patches/binutils/2.15/210-skip-comments.patch Wed Oct 28 12:03:38 2009 +0100
33.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
33.3 @@ -1,101 +0,0 @@
33.4 -Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
33.5 -Fixes
33.6 -localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
33.7 -when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
33.8 -
33.9 -Paths adjusted to match crosstool's patcher.
33.10 -
33.11 -Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
33.12 -From: Andreas Schwab <schwab at suse dot de>
33.13 -To: Nathan Sidwell <nathan at codesourcery dot com>
33.14 -Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
33.15 -Date: Fri, 23 Apr 2004 22:27:19 +0200
33.16 -Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
33.17 -
33.18 -Nathan Sidwell <nathan@codesourcery.com> writes:
33.19 -
33.20 -> Index: read.c
33.21 -> ===================================================================
33.22 -> RCS file: /cvs/src/src/gas/read.c,v
33.23 -> retrieving revision 1.76
33.24 -> diff -c -3 -p -r1.76 read.c
33.25 -> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
33.26 -> --- read.c 18 Mar 2004 09:56:05 -0000
33.27 -> *************** read_a_source_file (char *name)
33.28 -> *** 1053,1059 ****
33.29 -> #endif
33.30 -> input_line_pointer--;
33.31 -> /* Report unknown char as ignored. */
33.32 -> ! ignore_rest_of_line ();
33.33 -> }
33.34 ->
33.35 -> #ifdef md_after_pass_hook
33.36 -> --- 1053,1059 ----
33.37 -> #endif
33.38 -> input_line_pointer--;
33.39 -> /* Report unknown char as ignored. */
33.40 -> ! demand_empty_rest_of_line ();
33.41 -> }
33.42 ->
33.43 -> #ifdef md_after_pass_hook
33.44 -
33.45 -This means that the unknown character is no longer ignored, despite the
33.46 -comment. As a side effect a line starting with a line comment character
33.47 -not followed by APP in NO_APP mode now triggers an error instead of just a
33.48 -warning, breaking builds of glibc on m68k-linux. Earlier in
33.49 -read_a_source_file where #APP is handled there is another comment that
33.50 -claims that unknown comments are ignored, when in fact they aren't (only
33.51 -the initial line comment character is skipped).
33.52 -
33.53 -Note that the presence of #APP will mess up the line counters, but
33.54 -that appears to be difficult to fix.
33.55 -
33.56 -Andreas.
33.57 -
33.58 -2004-04-23 Andreas Schwab <schwab@suse.de>
33.59 -
33.60 - * read.c (read_a_source_file): Ignore unknown text after line
33.61 - comment character. Fix misleading comment.
33.62 -
33.63 ---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
33.64 -+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
33.65 -@@ -1,6 +1,6 @@
33.66 - /* read.c - read a source file -
33.67 - Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
33.68 -- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
33.69 -+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
33.70 -
33.71 - This file is part of GAS, the GNU Assembler.
33.72 -
33.73 -@@ -950,10 +950,14 @@ read_a_source_file (char *name)
33.74 - unsigned int new_length;
33.75 - char *tmp_buf = 0;
33.76 -
33.77 -- bump_line_counters ();
33.78 - s = input_line_pointer;
33.79 - if (strncmp (s, "APP\n", 4))
33.80 -- continue; /* We ignore it */
33.81 -+ {
33.82 -+ /* We ignore it */
33.83 -+ ignore_rest_of_line ();
33.84 -+ continue;
33.85 -+ }
33.86 -+ bump_line_counters ();
33.87 - s += 4;
33.88 -
33.89 - sb_new (&sbuf);
33.90 -@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
33.91 - continue;
33.92 - #endif
33.93 - input_line_pointer--;
33.94 -- /* Report unknown char as ignored. */
33.95 -+ /* Report unknown char as error. */
33.96 - demand_empty_rest_of_line ();
33.97 - }
33.98 -
33.99 -
33.100 ---
33.101 -Andreas Schwab, SuSE Labs, schwab@suse.de
33.102 -SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany
33.103 -Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
33.104 -"And now for something completely different."
34.1 --- a/patches/binutils/2.15/220-cross-gprof.patch Wed Oct 28 12:03:38 2009 +0100
34.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
34.3 @@ -1,22 +0,0 @@
34.4 ---- binutils-2.15/configure.old 2004-07-21 21:36:47.000000000 -0700
34.5 -+++ binutils-2.15/configure 2004-07-21 21:37:08.000000000 -0700
34.6 -@@ -999,7 +999,7 @@
34.7 -
34.8 - # Some tools are only suitable for building in a "native" situation.
34.9 - # Remove these if host!=target.
34.10 --native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
34.11 -+native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
34.12 -
34.13 - # Similarly, some are only suitable for cross toolchains.
34.14 - # Remove these if host=target.
34.15 ---- binutils-2.15/configure.in.old 2004-07-21 21:37:19.000000000 -0700
34.16 -+++ binutils-2.15/configure.in 2004-07-21 21:37:34.000000000 -0700
34.17 -@@ -236,7 +236,7 @@
34.18 -
34.19 - # Some tools are only suitable for building in a "native" situation.
34.20 - # Remove these if host!=target.
34.21 --native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff gprof target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
34.22 -+native_only="autoconf automake libtool fileutils find gawk gettext gzip hello indent m4 rcs recode sed shellutils tar textutils uudecode wdiff target-groff guile perl time ash bash bzip2 prms gnuserv target-gperf"
34.23 -
34.24 - # Similarly, some are only suitable for cross toolchains.
34.25 - # Remove these if host=target.
35.1 --- a/patches/binutils/2.15/230-gccpr15247-fix.patch Wed Oct 28 12:03:38 2009 +0100
35.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
35.3 @@ -1,192 +0,0 @@
35.4 -See
35.5 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15247
35.6 -
35.7 -Fixes spurious error
35.8 -/tmp/ccvNi4ou.s: Assembler messages:
35.9 -/tmp/ccvNi4ou.s:2310: Error: Illegal operands: There are only 32 single precision f registers; [0-31]
35.10 -make[2]: *** [/home/dank/wk/crosstool-0.28-rc10/build/sparc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/math/dosincos.o] Error 1
35.11 -
35.12 -when compiling glibc's dosincos.c with gcc-3.4.0
35.13 -
35.14 -===================================================================
35.15 -RCS file: /cvs/src/src/opcodes/sparc-opc.c,v
35.16 -retrieving revision 1.9
35.17 -retrieving revision 1.10
35.18 -diff -u -r1.9 -r1.10
35.19 ---- src/opcodes/sparc-opc.c 2004/01/18 23:46:32 1.9
35.20 -+++ src/opcodes/sparc-opc.c 2004/04/20 10:23:51 1.10
35.21 -@@ -1273,110 +1273,72 @@
35.22 - #define FM_DF 2 /* v9 */
35.23 - #define FM_QF 3 /* v9 */
35.24 -
35.25 --#define fmovicc(opcode, fpsize, cond, flags) /* v9 */ \
35.26 --{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags, v9 }, \
35.27 --{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags, v9 }
35.28 --
35.29 --#define fmovfcc(opcode, fpsize, fcond, flags) /* v9 */ \
35.30 --{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags, v9 }, \
35.31 --{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags, v9 }, \
35.32 --{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags, v9 }, \
35.33 --{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags, v9 }
35.34 -+#define fmoviccx(opcode, fpsize, args, cond, flags) /* v9 */ \
35.35 -+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags, v9 }, \
35.36 -+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags, v9 }
35.37 -+
35.38 -+#define fmovfccx(opcode, fpsize, args, fcond, flags) /* v9 */ \
35.39 -+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags, v9 }, \
35.40 -+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags, v9 }, \
35.41 -+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags, v9 }, \
35.42 -+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags, v9 }
35.43 -
35.44 - /* FIXME: use fmovicc/fmovfcc? */ /* v9 */
35.45 --#define fmovcc(opcode, fpsize, cond, fcond, flags) /* v9 */ \
35.46 --{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z,f,g", flags | F_FLOAT, v9 }, \
35.47 --{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6,f,g", flags | F_FLOAT, v9 }, \
35.48 --{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z,f,g", flags | F_FLOAT, v9 }, \
35.49 --{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7,f,g", flags | F_FLOAT, v9 }, \
35.50 --{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8,f,g", flags | F_FLOAT, v9 }, \
35.51 --{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9,f,g", flags | F_FLOAT, v9 }
35.52 --
35.53 --/* v9 */ fmovcc ("fmovda", FM_DF, CONDA, FCONDA, 0),
35.54 --/* v9 */ fmovcc ("fmovqa", FM_QF, CONDA, FCONDA, 0),
35.55 --/* v9 */ fmovcc ("fmovsa", FM_SF, CONDA, FCONDA, 0),
35.56 --/* v9 */ fmovicc ("fmovdcc", FM_DF, CONDCC, 0),
35.57 --/* v9 */ fmovicc ("fmovqcc", FM_QF, CONDCC, 0),
35.58 --/* v9 */ fmovicc ("fmovscc", FM_SF, CONDCC, 0),
35.59 --/* v9 */ fmovicc ("fmovdcs", FM_DF, CONDCS, 0),
35.60 --/* v9 */ fmovicc ("fmovqcs", FM_QF, CONDCS, 0),
35.61 --/* v9 */ fmovicc ("fmovscs", FM_SF, CONDCS, 0),
35.62 --/* v9 */ fmovcc ("fmovde", FM_DF, CONDE, FCONDE, 0),
35.63 --/* v9 */ fmovcc ("fmovqe", FM_QF, CONDE, FCONDE, 0),
35.64 --/* v9 */ fmovcc ("fmovse", FM_SF, CONDE, FCONDE, 0),
35.65 --/* v9 */ fmovcc ("fmovdg", FM_DF, CONDG, FCONDG, 0),
35.66 --/* v9 */ fmovcc ("fmovqg", FM_QF, CONDG, FCONDG, 0),
35.67 --/* v9 */ fmovcc ("fmovsg", FM_SF, CONDG, FCONDG, 0),
35.68 --/* v9 */ fmovcc ("fmovdge", FM_DF, CONDGE, FCONDGE, 0),
35.69 --/* v9 */ fmovcc ("fmovqge", FM_QF, CONDGE, FCONDGE, 0),
35.70 --/* v9 */ fmovcc ("fmovsge", FM_SF, CONDGE, FCONDGE, 0),
35.71 --/* v9 */ fmovicc ("fmovdgeu", FM_DF, CONDGEU, F_ALIAS),
35.72 --/* v9 */ fmovicc ("fmovqgeu", FM_QF, CONDGEU, F_ALIAS),
35.73 --/* v9 */ fmovicc ("fmovsgeu", FM_SF, CONDGEU, F_ALIAS),
35.74 --/* v9 */ fmovicc ("fmovdgu", FM_DF, CONDGU, 0),
35.75 --/* v9 */ fmovicc ("fmovqgu", FM_QF, CONDGU, 0),
35.76 --/* v9 */ fmovicc ("fmovsgu", FM_SF, CONDGU, 0),
35.77 --/* v9 */ fmovcc ("fmovdl", FM_DF, CONDL, FCONDL, 0),
35.78 --/* v9 */ fmovcc ("fmovql", FM_QF, CONDL, FCONDL, 0),
35.79 --/* v9 */ fmovcc ("fmovsl", FM_SF, CONDL, FCONDL, 0),
35.80 --/* v9 */ fmovcc ("fmovdle", FM_DF, CONDLE, FCONDLE, 0),
35.81 --/* v9 */ fmovcc ("fmovqle", FM_QF, CONDLE, FCONDLE, 0),
35.82 --/* v9 */ fmovcc ("fmovsle", FM_SF, CONDLE, FCONDLE, 0),
35.83 --/* v9 */ fmovicc ("fmovdleu", FM_DF, CONDLEU, 0),
35.84 --/* v9 */ fmovicc ("fmovqleu", FM_QF, CONDLEU, 0),
35.85 --/* v9 */ fmovicc ("fmovsleu", FM_SF, CONDLEU, 0),
35.86 --/* v9 */ fmovfcc ("fmovdlg", FM_DF, FCONDLG, 0),
35.87 --/* v9 */ fmovfcc ("fmovqlg", FM_QF, FCONDLG, 0),
35.88 --/* v9 */ fmovfcc ("fmovslg", FM_SF, FCONDLG, 0),
35.89 --/* v9 */ fmovicc ("fmovdlu", FM_DF, CONDLU, F_ALIAS),
35.90 --/* v9 */ fmovicc ("fmovqlu", FM_QF, CONDLU, F_ALIAS),
35.91 --/* v9 */ fmovicc ("fmovslu", FM_SF, CONDLU, F_ALIAS),
35.92 --/* v9 */ fmovcc ("fmovdn", FM_DF, CONDN, FCONDN, 0),
35.93 --/* v9 */ fmovcc ("fmovqn", FM_QF, CONDN, FCONDN, 0),
35.94 --/* v9 */ fmovcc ("fmovsn", FM_SF, CONDN, FCONDN, 0),
35.95 --/* v9 */ fmovcc ("fmovdne", FM_DF, CONDNE, FCONDNE, 0),
35.96 --/* v9 */ fmovcc ("fmovqne", FM_QF, CONDNE, FCONDNE, 0),
35.97 --/* v9 */ fmovcc ("fmovsne", FM_SF, CONDNE, FCONDNE, 0),
35.98 --/* v9 */ fmovicc ("fmovdneg", FM_DF, CONDNEG, 0),
35.99 --/* v9 */ fmovicc ("fmovqneg", FM_QF, CONDNEG, 0),
35.100 --/* v9 */ fmovicc ("fmovsneg", FM_SF, CONDNEG, 0),
35.101 --/* v9 */ fmovcc ("fmovdnz", FM_DF, CONDNZ, FCONDNZ, F_ALIAS),
35.102 --/* v9 */ fmovcc ("fmovqnz", FM_QF, CONDNZ, FCONDNZ, F_ALIAS),
35.103 --/* v9 */ fmovcc ("fmovsnz", FM_SF, CONDNZ, FCONDNZ, F_ALIAS),
35.104 --/* v9 */ fmovfcc ("fmovdo", FM_DF, FCONDO, 0),
35.105 --/* v9 */ fmovfcc ("fmovqo", FM_QF, FCONDO, 0),
35.106 --/* v9 */ fmovfcc ("fmovso", FM_SF, FCONDO, 0),
35.107 --/* v9 */ fmovicc ("fmovdpos", FM_DF, CONDPOS, 0),
35.108 --/* v9 */ fmovicc ("fmovqpos", FM_QF, CONDPOS, 0),
35.109 --/* v9 */ fmovicc ("fmovspos", FM_SF, CONDPOS, 0),
35.110 --/* v9 */ fmovfcc ("fmovdu", FM_DF, FCONDU, 0),
35.111 --/* v9 */ fmovfcc ("fmovqu", FM_QF, FCONDU, 0),
35.112 --/* v9 */ fmovfcc ("fmovsu", FM_SF, FCONDU, 0),
35.113 --/* v9 */ fmovfcc ("fmovdue", FM_DF, FCONDUE, 0),
35.114 --/* v9 */ fmovfcc ("fmovque", FM_QF, FCONDUE, 0),
35.115 --/* v9 */ fmovfcc ("fmovsue", FM_SF, FCONDUE, 0),
35.116 --/* v9 */ fmovfcc ("fmovdug", FM_DF, FCONDUG, 0),
35.117 --/* v9 */ fmovfcc ("fmovqug", FM_QF, FCONDUG, 0),
35.118 --/* v9 */ fmovfcc ("fmovsug", FM_SF, FCONDUG, 0),
35.119 --/* v9 */ fmovfcc ("fmovduge", FM_DF, FCONDUGE, 0),
35.120 --/* v9 */ fmovfcc ("fmovquge", FM_QF, FCONDUGE, 0),
35.121 --/* v9 */ fmovfcc ("fmovsuge", FM_SF, FCONDUGE, 0),
35.122 --/* v9 */ fmovfcc ("fmovdul", FM_DF, FCONDUL, 0),
35.123 --/* v9 */ fmovfcc ("fmovqul", FM_QF, FCONDUL, 0),
35.124 --/* v9 */ fmovfcc ("fmovsul", FM_SF, FCONDUL, 0),
35.125 --/* v9 */ fmovfcc ("fmovdule", FM_DF, FCONDULE, 0),
35.126 --/* v9 */ fmovfcc ("fmovqule", FM_QF, FCONDULE, 0),
35.127 --/* v9 */ fmovfcc ("fmovsule", FM_SF, FCONDULE, 0),
35.128 --/* v9 */ fmovicc ("fmovdvc", FM_DF, CONDVC, 0),
35.129 --/* v9 */ fmovicc ("fmovqvc", FM_QF, CONDVC, 0),
35.130 --/* v9 */ fmovicc ("fmovsvc", FM_SF, CONDVC, 0),
35.131 --/* v9 */ fmovicc ("fmovdvs", FM_DF, CONDVS, 0),
35.132 --/* v9 */ fmovicc ("fmovqvs", FM_QF, CONDVS, 0),
35.133 --/* v9 */ fmovicc ("fmovsvs", FM_SF, CONDVS, 0),
35.134 --/* v9 */ fmovcc ("fmovdz", FM_DF, CONDZ, FCONDZ, F_ALIAS),
35.135 --/* v9 */ fmovcc ("fmovqz", FM_QF, CONDZ, FCONDZ, F_ALIAS),
35.136 --/* v9 */ fmovcc ("fmovsz", FM_SF, CONDZ, FCONDZ, F_ALIAS),
35.137 --
35.138 -+#define fmovccx(opcode, fpsize, args, cond, fcond, flags) /* v9 */ \
35.139 -+{ opcode, F3F(2, 0x35, 0x100+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+fpsize))|MCOND(~cond,~0), "z," args, flags | F_FLOAT, v9 }, \
35.140 -+{ opcode, F3F(2, 0x35, 0x000+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+fpsize))|MCOND(~fcond,~0), "6," args, flags | F_FLOAT, v9 }, \
35.141 -+{ opcode, F3F(2, 0x35, 0x180+fpsize)|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+fpsize))|MCOND(~cond,~0), "Z," args, flags | F_FLOAT, v9 }, \
35.142 -+{ opcode, F3F(2, 0x35, 0x040+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+fpsize))|MCOND(~fcond,~0), "7," args, flags | F_FLOAT, v9 }, \
35.143 -+{ opcode, F3F(2, 0x35, 0x080+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+fpsize))|MCOND(~fcond,~0), "8," args, flags | F_FLOAT, v9 }, \
35.144 -+{ opcode, F3F(2, 0x35, 0x0c0+fpsize)|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+fpsize))|MCOND(~fcond,~0), "9," args, flags | F_FLOAT, v9 }
35.145 -+
35.146 -+#define fmovicc(suffix, cond, flags) /* v9 */ \
35.147 -+fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
35.148 -+fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
35.149 -+fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
35.150 -+
35.151 -+#define fmovfcc(suffix, fcond, flags) /* v9 */ \
35.152 -+fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
35.153 -+fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
35.154 -+fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
35.155 -+
35.156 -+#define fmovcc(suffix, cond, fcond, flags) /* v9 */ \
35.157 -+fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
35.158 -+fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
35.159 -+fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
35.160 -+
35.161 -+/* v9 */ fmovcc ("a", CONDA, FCONDA, 0),
35.162 -+/* v9 */ fmovicc ("cc", CONDCC, 0),
35.163 -+/* v9 */ fmovicc ("cs", CONDCS, 0),
35.164 -+/* v9 */ fmovcc ("e", CONDE, FCONDE, 0),
35.165 -+/* v9 */ fmovcc ("g", CONDG, FCONDG, 0),
35.166 -+/* v9 */ fmovcc ("ge", CONDGE, FCONDGE, 0),
35.167 -+/* v9 */ fmovicc ("geu", CONDGEU, F_ALIAS),
35.168 -+/* v9 */ fmovicc ("gu", CONDGU, 0),
35.169 -+/* v9 */ fmovcc ("l", CONDL, FCONDL, 0),
35.170 -+/* v9 */ fmovcc ("le", CONDLE, FCONDLE, 0),
35.171 -+/* v9 */ fmovicc ("leu", CONDLEU, 0),
35.172 -+/* v9 */ fmovfcc ("lg", FCONDLG, 0),
35.173 -+/* v9 */ fmovicc ("lu", CONDLU, F_ALIAS),
35.174 -+/* v9 */ fmovcc ("n", CONDN, FCONDN, 0),
35.175 -+/* v9 */ fmovcc ("ne", CONDNE, FCONDNE, 0),
35.176 -+/* v9 */ fmovicc ("neg", CONDNEG, 0),
35.177 -+/* v9 */ fmovcc ("nz", CONDNZ, FCONDNZ, F_ALIAS),
35.178 -+/* v9 */ fmovfcc ("o", FCONDO, 0),
35.179 -+/* v9 */ fmovicc ("pos", CONDPOS, 0),
35.180 -+/* v9 */ fmovfcc ("u", FCONDU, 0),
35.181 -+/* v9 */ fmovfcc ("ue", FCONDUE, 0),
35.182 -+/* v9 */ fmovfcc ("ug", FCONDUG, 0),
35.183 -+/* v9 */ fmovfcc ("uge", FCONDUGE, 0),
35.184 -+/* v9 */ fmovfcc ("ul", FCONDUL, 0),
35.185 -+/* v9 */ fmovfcc ("ule", FCONDULE, 0),
35.186 -+/* v9 */ fmovicc ("vc", CONDVC, 0),
35.187 -+/* v9 */ fmovicc ("vs", CONDVS, 0),
35.188 -+/* v9 */ fmovcc ("z", CONDZ, FCONDZ, F_ALIAS),
35.189 -+
35.190 -+#undef fmoviccx /* v9 */
35.191 -+#undef fmovfccx /* v9 */
35.192 -+#undef fmovccx /* v9 */
35.193 - #undef fmovicc /* v9 */
35.194 - #undef fmovfcc /* v9 */
35.195 - #undef fmovcc /* v9 */
36.1 --- a/patches/binutils/2.15/240-ld-callahan.patch Wed Oct 28 12:03:38 2009 +0100
36.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
36.3 @@ -1,677 +0,0 @@
36.4 -Signed-off-by: dank@kegel.com
36.5 -Fixes ld speed issue.
36.6 -See http://weblogs.mozillazine.org/roc/archives/2005/02/optimizing_gnu.html
36.7 -See thread "Re: optimizations for 3x speedup in ld",
36.8 -http://sources.redhat.com/ml/binutils/2005-03/msg00847.html
36.9 -
36.10 -Wildcard section matching enhancement, backported from the binutils CVS tree.
36.11 -Here's the CVS log comment from the original change to ldlang.c:
36.12 -
36.13 -revision 1.177
36.14 -date: 2005/04/06 15:33:02; author: jakub; state: Exp; lines: +438 -51
36.15 -2005-04-06 Jakub Jelinek <jakub@redhat.com>
36.16 -
36.17 - * ldlang.c: Formatting.
36.18 - (walk_wild_consider_section): Remember return value from wildcardp.
36.19 - (is_simple_wild): Use strcspn instead of 2 strpbrk calls and strlen.
36.20 - (wild_spec_can_overlap): Use strcspn instead of strpbrk and strlen.
36.21 -
36.22 -2005-04-06 Robert O'Callahan <rocallahan@novell.com>
36.23 -
36.24 - * ld.h (lean_section_userdata_type): Remove.
36.25 - (fat_section_userdata_type): Remove file field.
36.26 - (SECTION_USERDATA_SIZE): Remove.
36.27 - * ldlang.c (init_os): Eliminate initialization of unused
36.28 - lean_section_userdata_type.
36.29 -
36.30 - * ldlang.h (callback_t, walk_wild_section_handler_t): New
36.31 - typedefs.
36.32 - (struct lang_wild_statement_struct): Add walk_wild_section_handler
36.33 - and handler_data fields.
36.34 - * ldlang.c (callback_t): Removed.
36.35 - (walk_wild_consider_section, walk_wild_section_general,
36.36 - section_iterator_callback, find_section, is_simple_wild,
36.37 - match_simple_wild, walk_wild_section_specs1_wild0,
36.38 - walk_wild_section_specs1_wild1, walk_wild_section_specs2_wild1,
36.39 - walk_wild_section_specs3_wild2, walk_wild_section_specs4_wild2,
36.40 - wild_spec_can_overlap, analyze_walk_wild_section_handler): New
36.41 - functions.
36.42 - (lang_add_wild): Call analyze_walk_wild_section_handler.
36.43 - (walk_wild_section): Renamed to walk_wild_section_general and
36.44 - created a wrapper function.
36.45 - (section_iterator_callback_data): New typedef.
36.46 -
36.47 -Note that bfd_get_section_by_name_if didn't exist in 2.15, so it was backported
36.48 -as well.
36.49 -
36.50 ---- binutils-2.15/bfd/bfd-in2.h.old 2004-05-17 15:35:56.000000000 -0400
36.51 -+++ binutils-2.15/bfd/bfd-in2.h 2006-02-09 11:54:45.989940000 -0500
36.52 -@@ -1425,6 +1425,10 @@
36.53 -
36.54 - asection *bfd_get_section_by_name (bfd *abfd, const char *name);
36.55 -
36.56 -+asection *bfd_get_section_by_name_if (bfd *abfd, const char *name,
36.57 -+ bfd_boolean (*operation) (bfd *, asection *, void *),
36.58 -+ void *user_storage);
36.59 -+
36.60 - char *bfd_get_unique_section_name
36.61 - (bfd *abfd, const char *templat, int *count);
36.62 -
36.63 ---- binutils-2.15/bfd/section.c.old 2003-12-01 01:33:01.000000000 -0500
36.64 -+++ binutils-2.15/bfd/section.c 2006-01-23 14:16:54.768993000 -0500
36.65 -@@ -801,6 +801,57 @@
36.66 -
36.67 - /*
36.68 - FUNCTION
36.69 -+ bfd_get_section_by_name_if
36.70 -+
36.71 -+SYNOPSIS
36.72 -+ asection *bfd_get_section_by_name_if
36.73 -+ (bfd *abfd,
36.74 -+ const char *name,
36.75 -+ bfd_boolean (*func) (bfd *abfd, asection *sect, void *obj),
36.76 -+ void *obj);
36.77 -+
36.78 -+DESCRIPTION
36.79 -+ Call the provided function @var{func} for each section
36.80 -+ attached to the BFD @var{abfd} whose name matches @var{name},
36.81 -+ passing @var{obj} as an argument. The function will be called
36.82 -+ as if by
36.83 -+
36.84 -+| func (abfd, the_section, obj);
36.85 -+
36.86 -+ It returns the first section for which @var{func} returns true,
36.87 -+ otherwise <<NULL>>.
36.88 -+
36.89 -+*/
36.90 -+
36.91 -+asection *
36.92 -+bfd_get_section_by_name_if (bfd *abfd, const char *name,
36.93 -+ bfd_boolean (*operation) (bfd *,
36.94 -+ asection *,
36.95 -+ void *),
36.96 -+ void *user_storage)
36.97 -+{
36.98 -+ struct section_hash_entry *sh;
36.99 -+ unsigned long hash;
36.100 -+
36.101 -+ sh = section_hash_lookup (&abfd->section_htab, name, FALSE, FALSE);
36.102 -+ if (sh == NULL)
36.103 -+ return NULL;
36.104 -+
36.105 -+ hash = sh->root.hash;
36.106 -+ do
36.107 -+ {
36.108 -+ if ((*operation) (abfd, &sh->section, user_storage))
36.109 -+ return &sh->section;
36.110 -+ sh = (struct section_hash_entry *) sh->root.next;
36.111 -+ }
36.112 -+ while (sh != NULL && sh->root.hash == hash
36.113 -+ && strcmp (sh->root.string, name) == 0);
36.114 -+
36.115 -+ return NULL;
36.116 -+}
36.117 -+
36.118 -+/*
36.119 -+FUNCTION
36.120 - bfd_get_unique_section_name
36.121 -
36.122 - SYNOPSIS
36.123 ---- binutils-2.15/ld/ldlang.c.old 2004-05-17 15:36:16.000000000 -0400
36.124 -+++ binutils-2.15/ld/ldlang.c 2006-01-23 13:40:12.745499000 -0500
36.125 -@@ -81,9 +81,6 @@
36.126 - static void lang_record_phdrs (void);
36.127 - static void lang_do_version_exports_section (void);
36.128 -
36.129 --typedef void (*callback_t) (lang_wild_statement_type *, struct wildcard_list *,
36.130 -- asection *, lang_input_statement_type *, void *);
36.131 --
36.132 - /* Exported variables. */
36.133 - lang_output_section_statement_type *abs_output_section;
36.134 - lang_statement_list_type lang_output_section_statement;
36.135 -@@ -138,21 +135,71 @@
36.136 -
36.137 - /* Generic traversal routines for finding matching sections. */
36.138 -
36.139 -+/* Try processing a section against a wildcard. This just calls
36.140 -+ the callback unless the filename exclusion list is present
36.141 -+ and excludes the file. It's hardly ever present so this
36.142 -+ function is very fast. */
36.143 -+
36.144 -+static void
36.145 -+walk_wild_consider_section (lang_wild_statement_type *ptr,
36.146 -+ lang_input_statement_type *file,
36.147 -+ asection *s,
36.148 -+ struct wildcard_list *sec,
36.149 -+ callback_t callback,
36.150 -+ void *data)
36.151 -+{
36.152 -+ bfd_boolean skip = FALSE;
36.153 -+ struct name_list *list_tmp;
36.154 -+
36.155 -+ /* Don't process sections from files which were
36.156 -+ excluded. */
36.157 -+ for (list_tmp = sec->spec.exclude_name_list;
36.158 -+ list_tmp;
36.159 -+ list_tmp = list_tmp->next)
36.160 -+ {
36.161 -+ bfd_boolean is_wildcard = wildcardp (list_tmp->name);
36.162 -+ if (is_wildcard)
36.163 -+ skip = fnmatch (list_tmp->name, file->filename, 0) == 0;
36.164 -+ else
36.165 -+ skip = strcmp (list_tmp->name, file->filename) == 0;
36.166 -+
36.167 -+ /* If this file is part of an archive, and the archive is
36.168 -+ excluded, exclude this file. */
36.169 -+ if (! skip && file->the_bfd != NULL
36.170 -+ && file->the_bfd->my_archive != NULL
36.171 -+ && file->the_bfd->my_archive->filename != NULL)
36.172 -+ {
36.173 -+ if (is_wildcard)
36.174 -+ skip = fnmatch (list_tmp->name,
36.175 -+ file->the_bfd->my_archive->filename,
36.176 -+ 0) == 0;
36.177 -+ else
36.178 -+ skip = strcmp (list_tmp->name,
36.179 -+ file->the_bfd->my_archive->filename) == 0;
36.180 -+ }
36.181 -+
36.182 -+ if (skip)
36.183 -+ break;
36.184 -+ }
36.185 -+
36.186 -+ if (!skip)
36.187 -+ (*callback) (ptr, sec, s, file, data);
36.188 -+}
36.189 -+
36.190 -+/* Lowest common denominator routine that can handle everything correctly,
36.191 -+ but slowly. */
36.192 -+
36.193 - static void
36.194 --walk_wild_section (lang_wild_statement_type *ptr,
36.195 -- lang_input_statement_type *file,
36.196 -- callback_t callback,
36.197 -- void *data)
36.198 -+walk_wild_section_general (lang_wild_statement_type *ptr,
36.199 -+ lang_input_statement_type *file,
36.200 -+ callback_t callback,
36.201 -+ void *data)
36.202 - {
36.203 - asection *s;
36.204 --
36.205 -- if (file->just_syms_flag)
36.206 -- return;
36.207 -+ struct wildcard_list *sec;
36.208 -
36.209 - for (s = file->the_bfd->sections; s != NULL; s = s->next)
36.210 - {
36.211 -- struct wildcard_list *sec;
36.212 --
36.213 - sec = ptr->section_list;
36.214 - if (sec == NULL)
36.215 - (*callback) (ptr, sec, s, file, data);
36.216 -@@ -160,39 +207,8 @@
36.217 - while (sec != NULL)
36.218 - {
36.219 - bfd_boolean skip = FALSE;
36.220 -- struct name_list *list_tmp;
36.221 --
36.222 -- /* Don't process sections from files which were
36.223 -- excluded. */
36.224 -- for (list_tmp = sec->spec.exclude_name_list;
36.225 -- list_tmp;
36.226 -- list_tmp = list_tmp->next)
36.227 -- {
36.228 -- if (wildcardp (list_tmp->name))
36.229 -- skip = fnmatch (list_tmp->name, file->filename, 0) == 0;
36.230 -- else
36.231 -- skip = strcmp (list_tmp->name, file->filename) == 0;
36.232 --
36.233 -- /* If this file is part of an archive, and the archive is
36.234 -- excluded, exclude this file. */
36.235 -- if (! skip && file->the_bfd != NULL
36.236 -- && file->the_bfd->my_archive != NULL
36.237 -- && file->the_bfd->my_archive->filename != NULL)
36.238 -- {
36.239 -- if (wildcardp (list_tmp->name))
36.240 -- skip = fnmatch (list_tmp->name,
36.241 -- file->the_bfd->my_archive->filename,
36.242 -- 0) == 0;
36.243 -- else
36.244 -- skip = strcmp (list_tmp->name,
36.245 -- file->the_bfd->my_archive->filename) == 0;
36.246 -- }
36.247 --
36.248 -- if (skip)
36.249 -- break;
36.250 -- }
36.251 -
36.252 -- if (!skip && sec->spec.name != NULL)
36.253 -+ if (sec->spec.name != NULL)
36.254 - {
36.255 - const char *sname = bfd_get_section_name (file->the_bfd, s);
36.256 -
36.257 -@@ -203,13 +219,381 @@
36.258 - }
36.259 -
36.260 - if (!skip)
36.261 -- (*callback) (ptr, sec, s, file, data);
36.262 -+ walk_wild_consider_section (ptr, file, s, sec, callback, data);
36.263 -
36.264 - sec = sec->next;
36.265 - }
36.266 - }
36.267 - }
36.268 -
36.269 -+/* Routines to find a single section given its name. If there's more
36.270 -+ than one section with that name, we report that. */
36.271 -+
36.272 -+typedef struct
36.273 -+{
36.274 -+ asection *found_section;
36.275 -+ bfd_boolean multiple_sections_found;
36.276 -+} section_iterator_callback_data;
36.277 -+
36.278 -+static bfd_boolean
36.279 -+section_iterator_callback (bfd *bfd ATTRIBUTE_UNUSED, asection *s, void *data)
36.280 -+{
36.281 -+ section_iterator_callback_data *d = data;
36.282 -+
36.283 -+ if (d->found_section != NULL)
36.284 -+ {
36.285 -+ d->multiple_sections_found = TRUE;
36.286 -+ return TRUE;
36.287 -+ }
36.288 -+
36.289 -+ d->found_section = s;
36.290 -+ return FALSE;
36.291 -+}
36.292 -+
36.293 -+static asection *
36.294 -+find_section (lang_input_statement_type *file,
36.295 -+ struct wildcard_list *sec,
36.296 -+ bfd_boolean *multiple_sections_found)
36.297 -+{
36.298 -+ section_iterator_callback_data cb_data = { NULL, FALSE };
36.299 -+
36.300 -+ bfd_get_section_by_name_if (file->the_bfd, sec->spec.name,
36.301 -+ section_iterator_callback, &cb_data);
36.302 -+ *multiple_sections_found = cb_data.multiple_sections_found;
36.303 -+ return cb_data.found_section;
36.304 -+}
36.305 -+
36.306 -+/* Code for handling simple wildcards without going through fnmatch,
36.307 -+ which can be expensive because of charset translations etc. */
36.308 -+
36.309 -+/* A simple wild is a literal string followed by a single '*',
36.310 -+ where the literal part is at least 4 characters long. */
36.311 -+
36.312 -+static bfd_boolean
36.313 -+is_simple_wild (const char *name)
36.314 -+{
36.315 -+ size_t len = strcspn (name, "*?[");
36.316 -+ return len >= 4 && name[len] == '*' && name[len + 1] == '\0';
36.317 -+}
36.318 -+
36.319 -+static bfd_boolean
36.320 -+match_simple_wild (const char *pattern, const char *name)
36.321 -+{
36.322 -+ /* The first four characters of the pattern are guaranteed valid
36.323 -+ non-wildcard characters. So we can go faster. */
36.324 -+ if (pattern[0] != name[0] || pattern[1] != name[1]
36.325 -+ || pattern[2] != name[2] || pattern[3] != name[3])
36.326 -+ return FALSE;
36.327 -+
36.328 -+ pattern += 4;
36.329 -+ name += 4;
36.330 -+ while (*pattern != '*')
36.331 -+ if (*name++ != *pattern++)
36.332 -+ return FALSE;
36.333 -+
36.334 -+ return TRUE;
36.335 -+}
36.336 -+
36.337 -+/* Specialized, optimized routines for handling different kinds of
36.338 -+ wildcards */
36.339 -+
36.340 -+static void
36.341 -+walk_wild_section_specs1_wild0 (lang_wild_statement_type *ptr,
36.342 -+ lang_input_statement_type *file,
36.343 -+ callback_t callback,
36.344 -+ void *data)
36.345 -+{
36.346 -+ /* We can just do a hash lookup for the section with the right name.
36.347 -+ But if that lookup discovers more than one section with the name
36.348 -+ (should be rare), we fall back to the general algorithm because
36.349 -+ we would otherwise have to sort the sections to make sure they
36.350 -+ get processed in the bfd's order. */
36.351 -+ bfd_boolean multiple_sections_found;
36.352 -+ struct wildcard_list *sec0 = ptr->handler_data[0];
36.353 -+ asection *s0 = find_section (file, sec0, &multiple_sections_found);
36.354 -+
36.355 -+ if (multiple_sections_found)
36.356 -+ walk_wild_section_general (ptr, file, callback, data);
36.357 -+ else if (s0)
36.358 -+ walk_wild_consider_section (ptr, file, s0, sec0, callback, data);
36.359 -+}
36.360 -+
36.361 -+static void
36.362 -+walk_wild_section_specs1_wild1 (lang_wild_statement_type *ptr,
36.363 -+ lang_input_statement_type *file,
36.364 -+ callback_t callback,
36.365 -+ void *data)
36.366 -+{
36.367 -+ asection *s;
36.368 -+ struct wildcard_list *wildsec0 = ptr->handler_data[0];
36.369 -+
36.370 -+ for (s = file->the_bfd->sections; s != NULL; s = s->next)
36.371 -+ {
36.372 -+ const char *sname = bfd_get_section_name (file->the_bfd, s);
36.373 -+ bfd_boolean skip = !match_simple_wild (wildsec0->spec.name, sname);
36.374 -+
36.375 -+ if (!skip)
36.376 -+ walk_wild_consider_section (ptr, file, s, wildsec0, callback, data);
36.377 -+ }
36.378 -+}
36.379 -+
36.380 -+static void
36.381 -+walk_wild_section_specs2_wild1 (lang_wild_statement_type *ptr,
36.382 -+ lang_input_statement_type *file,
36.383 -+ callback_t callback,
36.384 -+ void *data)
36.385 -+{
36.386 -+ asection *s;
36.387 -+ struct wildcard_list *sec0 = ptr->handler_data[0];
36.388 -+ struct wildcard_list *wildsec1 = ptr->handler_data[1];
36.389 -+ bfd_boolean multiple_sections_found;
36.390 -+ asection *s0 = find_section (file, sec0, &multiple_sections_found);
36.391 -+
36.392 -+ if (multiple_sections_found)
36.393 -+ {
36.394 -+ walk_wild_section_general (ptr, file, callback, data);
36.395 -+ return;
36.396 -+ }
36.397 -+
36.398 -+ /* Note that if the section was not found, s0 is NULL and
36.399 -+ we'll simply never succeed the s == s0 test below. */
36.400 -+ for (s = file->the_bfd->sections; s != NULL; s = s->next)
36.401 -+ {
36.402 -+ /* Recall that in this code path, a section cannot satisfy more
36.403 -+ than one spec, so if s == s0 then it cannot match
36.404 -+ wildspec1. */
36.405 -+ if (s == s0)
36.406 -+ walk_wild_consider_section (ptr, file, s, sec0, callback, data);
36.407 -+ else
36.408 -+ {
36.409 -+ const char *sname = bfd_get_section_name (file->the_bfd, s);
36.410 -+ bfd_boolean skip = !match_simple_wild (wildsec1->spec.name, sname);
36.411 -+
36.412 -+ if (!skip)
36.413 -+ walk_wild_consider_section (ptr, file, s, wildsec1, callback,
36.414 -+ data);
36.415 -+ }
36.416 -+ }
36.417 -+}
36.418 -+
36.419 -+static void
36.420 -+walk_wild_section_specs3_wild2 (lang_wild_statement_type *ptr,
36.421 -+ lang_input_statement_type *file,
36.422 -+ callback_t callback,
36.423 -+ void *data)
36.424 -+{
36.425 -+ asection *s;
36.426 -+ struct wildcard_list *sec0 = ptr->handler_data[0];
36.427 -+ struct wildcard_list *wildsec1 = ptr->handler_data[1];
36.428 -+ struct wildcard_list *wildsec2 = ptr->handler_data[2];
36.429 -+ bfd_boolean multiple_sections_found;
36.430 -+ asection *s0 = find_section (file, sec0, &multiple_sections_found);
36.431 -+
36.432 -+ if (multiple_sections_found)
36.433 -+ {
36.434 -+ walk_wild_section_general (ptr, file, callback, data);
36.435 -+ return;
36.436 -+ }
36.437 -+
36.438 -+ for (s = file->the_bfd->sections; s != NULL; s = s->next)
36.439 -+ {
36.440 -+ if (s == s0)
36.441 -+ walk_wild_consider_section (ptr, file, s, sec0, callback, data);
36.442 -+ else
36.443 -+ {
36.444 -+ const char *sname = bfd_get_section_name (file->the_bfd, s);
36.445 -+ bfd_boolean skip = !match_simple_wild (wildsec1->spec.name, sname);
36.446 -+
36.447 -+ if (!skip)
36.448 -+ walk_wild_consider_section (ptr, file, s, wildsec1, callback, data);
36.449 -+ else
36.450 -+ {
36.451 -+ skip = !match_simple_wild (wildsec2->spec.name, sname);
36.452 -+ if (!skip)
36.453 -+ walk_wild_consider_section (ptr, file, s, wildsec2, callback,
36.454 -+ data);
36.455 -+ }
36.456 -+ }
36.457 -+ }
36.458 -+}
36.459 -+
36.460 -+static void
36.461 -+walk_wild_section_specs4_wild2 (lang_wild_statement_type *ptr,
36.462 -+ lang_input_statement_type *file,
36.463 -+ callback_t callback,
36.464 -+ void *data)
36.465 -+{
36.466 -+ asection *s;
36.467 -+ struct wildcard_list *sec0 = ptr->handler_data[0];
36.468 -+ struct wildcard_list *sec1 = ptr->handler_data[1];
36.469 -+ struct wildcard_list *wildsec2 = ptr->handler_data[2];
36.470 -+ struct wildcard_list *wildsec3 = ptr->handler_data[3];
36.471 -+ bfd_boolean multiple_sections_found;
36.472 -+ asection *s0 = find_section (file, sec0, &multiple_sections_found), *s1;
36.473 -+
36.474 -+ if (multiple_sections_found)
36.475 -+ {
36.476 -+ walk_wild_section_general (ptr, file, callback, data);
36.477 -+ return;
36.478 -+ }
36.479 -+
36.480 -+ s1 = find_section (file, sec1, &multiple_sections_found);
36.481 -+ if (multiple_sections_found)
36.482 -+ {
36.483 -+ walk_wild_section_general (ptr, file, callback, data);
36.484 -+ return;
36.485 -+ }
36.486 -+
36.487 -+ for (s = file->the_bfd->sections; s != NULL; s = s->next)
36.488 -+ {
36.489 -+ if (s == s0)
36.490 -+ walk_wild_consider_section (ptr, file, s, sec0, callback, data);
36.491 -+ else
36.492 -+ if (s == s1)
36.493 -+ walk_wild_consider_section (ptr, file, s, sec1, callback, data);
36.494 -+ else
36.495 -+ {
36.496 -+ const char *sname = bfd_get_section_name (file->the_bfd, s);
36.497 -+ bfd_boolean skip = !match_simple_wild (wildsec2->spec.name,
36.498 -+ sname);
36.499 -+
36.500 -+ if (!skip)
36.501 -+ walk_wild_consider_section (ptr, file, s, wildsec2, callback,
36.502 -+ data);
36.503 -+ else
36.504 -+ {
36.505 -+ skip = !match_simple_wild (wildsec3->spec.name, sname);
36.506 -+ if (!skip)
36.507 -+ walk_wild_consider_section (ptr, file, s, wildsec3,
36.508 -+ callback, data);
36.509 -+ }
36.510 -+ }
36.511 -+ }
36.512 -+}
36.513 -+
36.514 -+static void
36.515 -+walk_wild_section (lang_wild_statement_type *ptr,
36.516 -+ lang_input_statement_type *file,
36.517 -+ callback_t callback,
36.518 -+ void *data)
36.519 -+{
36.520 -+ if (file->just_syms_flag)
36.521 -+ return;
36.522 -+
36.523 -+ (*ptr->walk_wild_section_handler) (ptr, file, callback, data);
36.524 -+}
36.525 -+
36.526 -+/* Returns TRUE when name1 is a wildcard spec that might match
36.527 -+ something name2 can match. We're conservative: we return FALSE
36.528 -+ only if the prefixes of name1 and name2 are different up to the
36.529 -+ first wildcard character. */
36.530 -+
36.531 -+static bfd_boolean
36.532 -+wild_spec_can_overlap (const char *name1, const char *name2)
36.533 -+{
36.534 -+ size_t prefix1_len = strcspn (name1, "?*[");
36.535 -+ size_t prefix2_len = strcspn (name2, "?*[");
36.536 -+ size_t min_prefix_len;
36.537 -+
36.538 -+ /* Note that if there is no wildcard character, then we treat the
36.539 -+ terminating 0 as part of the prefix. Thus ".text" won't match
36.540 -+ ".text." or ".text.*", for example. */
36.541 -+ if (name1[prefix1_len] == '\0')
36.542 -+ prefix1_len++;
36.543 -+ if (name2[prefix2_len] == '\0')
36.544 -+ prefix2_len++;
36.545 -+
36.546 -+ min_prefix_len = prefix1_len < prefix2_len ? prefix1_len : prefix2_len;
36.547 -+
36.548 -+ return memcmp (name1, name2, min_prefix_len) == 0;
36.549 -+}
36.550 -+
36.551 -+/* Select specialized code to handle various kinds of wildcard
36.552 -+ statements. */
36.553 -+
36.554 -+static void
36.555 -+analyze_walk_wild_section_handler (lang_wild_statement_type *ptr)
36.556 -+{
36.557 -+ int sec_count = 0;
36.558 -+ int wild_name_count = 0;
36.559 -+ struct wildcard_list *sec;
36.560 -+ int signature;
36.561 -+ int data_counter;
36.562 -+
36.563 -+ ptr->walk_wild_section_handler = walk_wild_section_general;
36.564 -+
36.565 -+ /* Count how many wildcard_specs there are, and how many of those
36.566 -+ actually use wildcards in the name. Also, bail out if any of the
36.567 -+ wildcard names are NULL. (Can this actually happen?
36.568 -+ walk_wild_section used to test for it.) And bail out if any
36.569 -+ of the wildcards are more complex than a simple string
36.570 -+ ending in a single '*'. */
36.571 -+ for (sec = ptr->section_list; sec != NULL; sec = sec->next)
36.572 -+ {
36.573 -+ ++sec_count;
36.574 -+ if (sec->spec.name == NULL)
36.575 -+ return;
36.576 -+ if (wildcardp (sec->spec.name))
36.577 -+ {
36.578 -+ ++wild_name_count;
36.579 -+ if (!is_simple_wild (sec->spec.name))
36.580 -+ return;
36.581 -+ }
36.582 -+ }
36.583 -+
36.584 -+ /* The zero-spec case would be easy to optimize but it doesn't
36.585 -+ happen in practice. Likewise, more than 4 specs doesn't
36.586 -+ happen in practice. */
36.587 -+ if (sec_count == 0 || sec_count > 4)
36.588 -+ return;
36.589 -+
36.590 -+ /* Check that no two specs can match the same section. */
36.591 -+ for (sec = ptr->section_list; sec != NULL; sec = sec->next)
36.592 -+ {
36.593 -+ struct wildcard_list *sec2;
36.594 -+ for (sec2 = sec->next; sec2 != NULL; sec2 = sec2->next)
36.595 -+ {
36.596 -+ if (wild_spec_can_overlap (sec->spec.name, sec2->spec.name))
36.597 -+ return;
36.598 -+ }
36.599 -+ }
36.600 -+
36.601 -+ signature = (sec_count << 8) + wild_name_count;
36.602 -+ switch (signature)
36.603 -+ {
36.604 -+ case 0x0100:
36.605 -+ ptr->walk_wild_section_handler = walk_wild_section_specs1_wild0;
36.606 -+ break;
36.607 -+ case 0x0101:
36.608 -+ ptr->walk_wild_section_handler = walk_wild_section_specs1_wild1;
36.609 -+ break;
36.610 -+ case 0x0201:
36.611 -+ ptr->walk_wild_section_handler = walk_wild_section_specs2_wild1;
36.612 -+ break;
36.613 -+ case 0x0302:
36.614 -+ ptr->walk_wild_section_handler = walk_wild_section_specs3_wild2;
36.615 -+ break;
36.616 -+ case 0x0402:
36.617 -+ ptr->walk_wild_section_handler = walk_wild_section_specs4_wild2;
36.618 -+ break;
36.619 -+ default:
36.620 -+ return;
36.621 -+ }
36.622 -+
36.623 -+ /* Now fill the data array with pointers to the specs, first the
36.624 -+ specs with non-wildcard names, then the specs with wildcard
36.625 -+ names. It's OK to process the specs in different order from the
36.626 -+ given order, because we've already determined that no section
36.627 -+ will match more than one spec. */
36.628 -+ data_counter = 0;
36.629 -+ for (sec = ptr->section_list; sec != NULL; sec = sec->next)
36.630 -+ if (!wildcardp (sec->spec.name))
36.631 -+ ptr->handler_data[data_counter++] = sec;
36.632 -+ for (sec = ptr->section_list; sec != NULL; sec = sec->next)
36.633 -+ if (wildcardp (sec->spec.name))
36.634 -+ ptr->handler_data[data_counter++] = sec;
36.635 -+}
36.636 -+
36.637 - /* Handle a wild statement for a single file F. */
36.638 -
36.639 - static void
36.640 -@@ -4353,6 +4737,7 @@
36.641 - new->section_list = section_list;
36.642 - new->keep_sections = keep_sections;
36.643 - lang_list_init (&new->children);
36.644 -+ analyze_walk_wild_section_handler (new);
36.645 - }
36.646 -
36.647 - void
36.648 ---- binutils-2.15/ld/ldlang.h.old 2004-05-17 15:36:16.000000000 -0400
36.649 -+++ binutils-2.15/ld/ldlang.h 2006-01-23 13:32:33.653292000 -0500
36.650 -@@ -295,7 +295,17 @@
36.651 - union lang_statement_union *file;
36.652 - } lang_afile_asection_pair_statement_type;
36.653 -
36.654 --typedef struct lang_wild_statement_struct
36.655 -+typedef struct lang_wild_statement_struct lang_wild_statement_type;
36.656 -+
36.657 -+typedef void (*callback_t) (lang_wild_statement_type *, struct wildcard_list *,
36.658 -+ asection *, lang_input_statement_type *, void *);
36.659 -+
36.660 -+typedef void (*walk_wild_section_handler_t) (lang_wild_statement_type *,
36.661 -+ lang_input_statement_type *,
36.662 -+ callback_t callback,
36.663 -+ void *data);
36.664 -+
36.665 -+struct lang_wild_statement_struct
36.666 - {
36.667 - lang_statement_header_type header;
36.668 - const char *filename;
36.669 -@@ -303,7 +313,10 @@
36.670 - struct wildcard_list *section_list;
36.671 - bfd_boolean keep_sections;
36.672 - lang_statement_list_type children;
36.673 --} lang_wild_statement_type;
36.674 -+
36.675 -+ walk_wild_section_handler_t walk_wild_section_handler;
36.676 -+ struct wildcard_list *handler_data[4];
36.677 -+};
36.678 -
36.679 - typedef struct lang_address_statement_struct
36.680 - {
37.1 --- a/patches/binutils/2.15/250-ld-stabs-tweak.patch Wed Oct 28 12:03:38 2009 +0100
37.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
37.3 @@ -1,33 +0,0 @@
37.4 -Signed-off-by: dank@kegel.com
37.5 -
37.6 -See http://sourceware.org/ml/binutils/2005-12/msg00270.html
37.7 -http://sourceware.org/ml/binutils-cvs/2005-12/msg00139.html
37.8 -
37.9 -STABS hash table size change, backported from the binutils CVS tree. Here's
37.10 -the CVS log comment for the original change:
37.11 -
37.12 -revision 1.25
37.13 -date: 2005/12/29 10:29:23; author: nickc; state: Exp; lines: +2 -3
37.14 -(_bfd_link_section_stabs): Use bfd_hash_table_init rather than
37.15 -bfd_hash_table_init_n(...,251) so that the size of the hash table can be
37.16 -controlled by the user.
37.17 -
37.18 -Note that tunable hash table size changes were added after 2.15. The effect
37.19 -of this change is to make bfd use its default hash table size for the stabs
37.20 -hash as well.
37.21 -
37.22 -
37.23 ---- binutils-2.15/bfd/stabs.c.old 2004-05-17 15:36:04.000000000 -0400
37.24 -+++ binutils-2.15/bfd/stabs.c 2006-02-09 15:21:56.567014000 -0500
37.25 -@@ -241,9 +241,8 @@
37.26 - goto error_return;
37.27 - /* Make sure the first byte is zero. */
37.28 - (void) _bfd_stringtab_add (sinfo->strings, "", TRUE, TRUE);
37.29 -- if (! bfd_hash_table_init_n (&sinfo->includes.root,
37.30 -- stab_link_includes_newfunc,
37.31 -- 251))
37.32 -+ if (! bfd_hash_table_init (&sinfo->includes.root,
37.33 -+ stab_link_includes_newfunc))
37.34 - goto error_return;
37.35 - sinfo->stabstr = bfd_make_section_anyway (abfd, ".stabstr");
37.36 - sinfo->stabstr->flags |= SEC_HAS_CONTENTS | SEC_READONLY | SEC_DEBUGGING;
38.1 --- a/patches/binutils/2.15/260-s390-invalid-insn-format.patch Wed Oct 28 12:03:38 2009 +0100
38.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
38.3 @@ -1,42 +0,0 @@
38.4 -Message-ID: <000801c48f60$cec16630$9103a8c0@ULOC5012>
38.5 -From: "Michael Geiger" <mcgege@gmx.de>
38.6 -To: <dank@kegel.com>
38.7 -Subject: Patch for cross compiling s/390 kernel on linux host
38.8 -Date: Tue, 31 Aug 2004 15:45:41 +0200
38.9 -
38.10 -Dear Dan,
38.11 -
38.12 -I had big problems compiling a kernel for s/390 on my linux host - I tried
38.13 -different chains from crosstool-0.28-rc34 and finally succeded with
38.14 -gcc-3.3.4-glibc-2.3.2 after applying another patch to binutils-2.15
38.15 -(attached).
38.16 -All compilations of the different kernel versions I tried stopped with
38.17 -"Invalid .insn format" somewhere. I checked the recent cvs version of
38.18 -binutils and applied the latest diff to gas/config/tc-s390.c and that solved
38.19 -it.
38.20 -
38.21 -Greetings
38.22 -
38.23 -Michael Geiger
38.24 -
38.25 -
38.26 -diff -u -r1.39 -r1.40
38.27 ---- src/gas/config/tc-s390.c 2004/05/06 11:01:48 1.39
38.28 -+++ src/gas/config/tc-s390.c 2004/06/15 12:38:08 1.40
38.29 -@@ -1596,13 +1596,13 @@
38.30 - if (exp.X_op == O_constant)
38.31 - {
38.32 - if ( ( opformat->oplen == 6
38.33 -- && exp.X_add_number >= 0
38.34 -+ && (addressT) exp.X_add_number >= 0
38.35 - && (addressT) exp.X_add_number < (1ULL << 48))
38.36 - || ( opformat->oplen == 4
38.37 -- && exp.X_add_number >= 0
38.38 -+ && (addressT) exp.X_add_number >= 0
38.39 - && (addressT) exp.X_add_number < (1ULL << 32))
38.40 - || ( opformat->oplen == 2
38.41 -- && exp.X_add_number >= 0
38.42 -+ && (addressT) exp.X_add_number >= 0
38.43 - && (addressT) exp.X_add_number < (1ULL << 16)))
38.44 - md_number_to_chars (insn, exp.X_add_number, opformat->oplen);
38.45 - else
39.1 --- a/patches/binutils/2.18.50.0.4/100-arm-uclibcgnueabi.patch Wed Oct 28 12:03:38 2009 +0100
39.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
39.3 @@ -1,35 +0,0 @@
39.4 -Original patch from: ../crosstool-NG/ct-ng.trunk/patches/binutils/2.18.50.0.4/100-arm-uclibcgnueabi.patch
39.5 -
39.6 --= BEGIN original header =-
39.7 -Patch from buildroot, updated to binutils-2.18.50.0.6.
39.8 -
39.9 - binutils-2.18.50.0.6/configure | 2 1 1 0 +-
39.10 - binutils-2.18.50.0.6/configure.ac | 2 1 1 0 +-
39.11 - 2 files changed, 2 insertions(+), 2 deletions(-)
39.12 -
39.13 --= END original header =-
39.14 -
39.15 -diff -durN binutils-2.18.50.0.4.orig/configure binutils-2.18.50.0.4/configure
39.16 ---- binutils-2.18.50.0.4.orig/configure 2008-02-08 17:44:09.000000000 +0100
39.17 -+++ binutils-2.18.50.0.4/configure 2009-03-07 12:17:29.000000000 +0100
39.18 -@@ -2249,7 +2249,7 @@
39.19 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
39.20 - libgloss_dir=arm
39.21 - ;;
39.22 -- arm*-*-linux-gnueabi)
39.23 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
39.24 - noconfigdirs="$noconfigdirs target-qthreads"
39.25 - noconfigdirs="$noconfigdirs target-libobjc"
39.26 - case ${with_newlib} in
39.27 -diff -durN binutils-2.18.50.0.4.orig/configure.ac binutils-2.18.50.0.4/configure.ac
39.28 ---- binutils-2.18.50.0.4.orig/configure.ac 2008-02-08 17:44:09.000000000 +0100
39.29 -+++ binutils-2.18.50.0.4/configure.ac 2009-03-07 12:17:30.000000000 +0100
39.30 -@@ -526,7 +526,7 @@
39.31 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
39.32 - libgloss_dir=arm
39.33 - ;;
39.34 -- arm*-*-linux-gnueabi)
39.35 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
39.36 - noconfigdirs="$noconfigdirs target-qthreads"
39.37 - noconfigdirs="$noconfigdirs target-libobjc"
39.38 - case ${with_newlib} in
40.1 --- a/patches/binutils/2.18.50.0.4/110-ld-makefile-path.patch Wed Oct 28 12:03:38 2009 +0100
40.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
40.3 @@ -1,35 +0,0 @@
40.4 -Original patch from: ../crosstool-NG/ct-ng.trunk/patches/binutils/2.18.50.0.4/110-ld-makefile-path.patch
40.5 -
40.6 --= BEGIN original header =-
40.7 -Fix ld scripts path, copied from buildroot.
40.8 -
40.9 - binutils-2.18.50.0.6/ld/Makefile.am | 2 1 1 0 +-
40.10 - binutils-2.18.50.0.6/ld/Makefile.in | 2 1 1 0 +-
40.11 - 2 files changed, 2 insertions(+), 2 deletions(-)
40.12 -
40.13 --= END original header =-
40.14 -
40.15 -diff -durN binutils-2.18.50.0.4.orig/ld/Makefile.am binutils-2.18.50.0.4/ld/Makefile.am
40.16 ---- binutils-2.18.50.0.4.orig/ld/Makefile.am 2007-11-03 21:40:37.000000000 +0100
40.17 -+++ binutils-2.18.50.0.4/ld/Makefile.am 2009-03-07 12:17:30.000000000 +0100
40.18 -@@ -18,7 +18,7 @@
40.19 - # We put the scripts in the directory $(scriptdir)/ldscripts.
40.20 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
40.21 - # directives need to be different for native and cross linkers.
40.22 --scriptdir = $(tooldir)/lib
40.23 -+scriptdir = $(libdir)
40.24 -
40.25 - EMUL = @EMUL@
40.26 - EMULATION_OFILES = @EMULATION_OFILES@
40.27 -diff -durN binutils-2.18.50.0.4.orig/ld/Makefile.in binutils-2.18.50.0.4/ld/Makefile.in
40.28 ---- binutils-2.18.50.0.4.orig/ld/Makefile.in 2007-11-03 21:40:37.000000000 +0100
40.29 -+++ binutils-2.18.50.0.4/ld/Makefile.in 2009-03-07 12:17:30.000000000 +0100
40.30 -@@ -287,7 +287,7 @@
40.31 - # We put the scripts in the directory $(scriptdir)/ldscripts.
40.32 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
40.33 - # directives need to be different for native and cross linkers.
40.34 --scriptdir = $(tooldir)/lib
40.35 -+scriptdir = $(libdir)
40.36 - BASEDIR = $(srcdir)/..
40.37 - BFDDIR = $(BASEDIR)/bfd
40.38 - INCDIR = $(BASEDIR)/include
41.1 --- a/patches/binutils/2.18.50.0.4/120-check-ldrunpath-length.patch Wed Oct 28 12:03:38 2009 +0100
41.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
41.3 @@ -1,31 +0,0 @@
41.4 -Original patch from: ../crosstool-NG/ct-ng.trunk/patches/binutils/2.18.50.0.4/120-check-ldrunpath-length.patch
41.5 -
41.6 --= BEGIN original header =-
41.7 -Check LD_RUN_PATH length, copied from buildroot.
41.8 -
41.9 - binutils-2.18.50.0.6/ld/emultempl/elf32.em | 4 4 0 0 ++++
41.10 - 1 file changed, 4 insertions(+)
41.11 -
41.12 --= END original header =-
41.13 -
41.14 -diff -durN binutils-2.18.50.0.4.orig/ld/emultempl/elf32.em binutils-2.18.50.0.4/ld/emultempl/elf32.em
41.15 ---- binutils-2.18.50.0.4.orig/ld/emultempl/elf32.em 2008-02-08 17:44:55.000000000 +0100
41.16 -+++ binutils-2.18.50.0.4/ld/emultempl/elf32.em 2009-03-07 12:17:31.000000000 +0100
41.17 -@@ -1220,6 +1220,8 @@
41.18 - && command_line.rpath == NULL)
41.19 - {
41.20 - lib_path = (const char *) getenv ("LD_RUN_PATH");
41.21 -+ if ((lib_path) && (strlen (lib_path) == 0))
41.22 -+ lib_path = NULL;
41.23 - if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
41.24 - force))
41.25 - break;
41.26 -@@ -1404,6 +1406,8 @@
41.27 - rpath = command_line.rpath;
41.28 - if (rpath == NULL)
41.29 - rpath = (const char *) getenv ("LD_RUN_PATH");
41.30 -+ if ((rpath) && (strlen (rpath) == 0))
41.31 -+ rpath = NULL;
41.32 - if (! (bfd_elf_size_dynamic_sections
41.33 - (output_bfd, command_line.soname, rpath,
41.34 - command_line.filter_shlib,
42.1 --- a/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
42.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
42.3 @@ -1,69 +0,0 @@
42.4 -Original patch from: ../crosstool-NG/ct-ng.trunk/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch
42.5 -
42.6 --= BEGIN original header =-
42.7 --= END original header =-
42.8 -
42.9 -diff -durN binutils-2.18.50.0.4.orig/gas/config/tc-i386.c binutils-2.18.50.0.4/gas/config/tc-i386.c
42.10 ---- binutils-2.18.50.0.4.orig/gas/config/tc-i386.c 2008-02-08 17:44:10.000000000 +0100
42.11 -+++ binutils-2.18.50.0.4/gas/config/tc-i386.c 2009-03-07 12:17:31.000000000 +0100
42.12 -@@ -300,24 +300,10 @@
42.13 - #endif
42.14 - ;
42.15 -
42.16 --#if (defined (TE_I386AIX) \
42.17 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
42.18 -- && !defined (TE_GNU) \
42.19 -- && !defined (TE_LINUX) \
42.20 -- && !defined (TE_NETWARE) \
42.21 -- && !defined (TE_FreeBSD) \
42.22 -- && !defined (TE_NetBSD)))
42.23 - /* This array holds the chars that always start a comment. If the
42.24 -- pre-processor is disabled, these aren't very useful. The option
42.25 -- --divide will remove '/' from this list. */
42.26 --const char *i386_comment_chars = "#/";
42.27 --#define SVR4_COMMENT_CHARS 1
42.28 --#define PREFIX_SEPARATOR '\\'
42.29 --
42.30 --#else
42.31 -+ pre-processor is disabled, these aren't very useful. */
42.32 - const char *i386_comment_chars = "#";
42.33 - #define PREFIX_SEPARATOR '/'
42.34 --#endif
42.35 -
42.36 - /* This array holds the chars that only start a comment at the beginning of
42.37 - a line. If the line seems to have the form '# 123 filename'
42.38 -@@ -7243,20 +7229,6 @@
42.39 - break;
42.40 -
42.41 - case OPTION_DIVIDE:
42.42 --#ifdef SVR4_COMMENT_CHARS
42.43 -- {
42.44 -- char *n, *t;
42.45 -- const char *s;
42.46 --
42.47 -- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
42.48 -- t = n;
42.49 -- for (s = i386_comment_chars; *s != '\0'; s++)
42.50 -- if (*s != '/')
42.51 -- *t++ = *s;
42.52 -- *t = '\0';
42.53 -- i386_comment_chars = n;
42.54 -- }
42.55 --#endif
42.56 - break;
42.57 -
42.58 - case OPTION_MARCH:
42.59 -@@ -7392,13 +7364,8 @@
42.60 - fprintf (stream, _("\
42.61 - --32/--64 generate 32bit/64bit code\n"));
42.62 - #endif
42.63 --#ifdef SVR4_COMMENT_CHARS
42.64 -- fprintf (stream, _("\
42.65 -- --divide do not treat `/' as a comment character\n"));
42.66 --#else
42.67 - fprintf (stream, _("\
42.68 - --divide ignored\n"));
42.69 --#endif
42.70 - fprintf (stream, _("\
42.71 - -march=CPU[,+EXTENSION...]\n\
42.72 - generate code for CPU and EXTENSION, CPU is one of:\n\
43.1 --- a/patches/binutils/2.18.50.0.6/100-arm-uclibcgnueabi.patch Wed Oct 28 12:03:38 2009 +0100
43.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
43.3 @@ -1,30 +0,0 @@
43.4 -Patch from buildroot, updated to binutils-2.18.50.0.6.
43.5 -
43.6 - binutils-2.18.50.0.6/configure | 2 1 1 0 +-
43.7 - binutils-2.18.50.0.6/configure.ac | 2 1 1 0 +-
43.8 - 2 files changed, 2 insertions(+), 2 deletions(-)
43.9 -
43.10 -diff -durN binutils-2.18.50.0.6.orig/configure binutils-2.18.50.0.6/configure
43.11 ---- binutils-2.18.50.0.6.orig/configure 2008-04-03 18:54:04.000000000 +0200
43.12 -+++ binutils-2.18.50.0.6/configure 2008-05-02 23:18:42.000000000 +0200
43.13 -@@ -2298,7 +2298,7 @@
43.14 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
43.15 - libgloss_dir=arm
43.16 - ;;
43.17 -- arm*-*-linux-gnueabi)
43.18 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
43.19 - noconfigdirs="$noconfigdirs target-qthreads"
43.20 - noconfigdirs="$noconfigdirs target-libobjc"
43.21 - case ${with_newlib} in
43.22 -diff -durN binutils-2.18.50.0.6.orig/configure.ac binutils-2.18.50.0.6/configure.ac
43.23 ---- binutils-2.18.50.0.6.orig/configure.ac 2008-04-03 18:54:04.000000000 +0200
43.24 -+++ binutils-2.18.50.0.6/configure.ac 2008-05-02 23:18:01.000000000 +0200
43.25 -@@ -560,7 +560,7 @@
43.26 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
43.27 - libgloss_dir=arm
43.28 - ;;
43.29 -- arm*-*-linux-gnueabi)
43.30 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
43.31 - noconfigdirs="$noconfigdirs target-qthreads"
43.32 - noconfigdirs="$noconfigdirs target-libobjc"
43.33 - case ${with_newlib} in
44.1 --- a/patches/binutils/2.18.50.0.6/110-ld-makefile-path.patch Wed Oct 28 12:03:38 2009 +0100
44.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
44.3 @@ -1,30 +0,0 @@
44.4 -Fix ld scripts path, copied from buildroot.
44.5 -
44.6 - binutils-2.18.50.0.6/ld/Makefile.am | 2 1 1 0 +-
44.7 - binutils-2.18.50.0.6/ld/Makefile.in | 2 1 1 0 +-
44.8 - 2 files changed, 2 insertions(+), 2 deletions(-)
44.9 -
44.10 -diff -durN binutils-2.18.50.0.6.orig/ld/Makefile.am binutils-2.18.50.0.6/ld/Makefile.am
44.11 ---- binutils-2.18.50.0.6.orig/ld/Makefile.am 2008-04-03 18:54:05.000000000 +0200
44.12 -+++ binutils-2.18.50.0.6/ld/Makefile.am 2008-05-02 23:25:14.000000000 +0200
44.13 -@@ -18,7 +18,7 @@
44.14 - # We put the scripts in the directory $(scriptdir)/ldscripts.
44.15 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
44.16 - # directives need to be different for native and cross linkers.
44.17 --scriptdir = $(tooldir)/lib
44.18 -+scriptdir = $(libdir)
44.19 -
44.20 - EMUL = @EMUL@
44.21 - EMULATION_OFILES = @EMULATION_OFILES@
44.22 -diff -durN binutils-2.18.50.0.6.orig/ld/Makefile.in binutils-2.18.50.0.6/ld/Makefile.in
44.23 ---- binutils-2.18.50.0.6.orig/ld/Makefile.in 2008-04-03 18:54:05.000000000 +0200
44.24 -+++ binutils-2.18.50.0.6/ld/Makefile.in 2008-05-02 23:25:14.000000000 +0200
44.25 -@@ -288,7 +288,7 @@
44.26 - # We put the scripts in the directory $(scriptdir)/ldscripts.
44.27 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
44.28 - # directives need to be different for native and cross linkers.
44.29 --scriptdir = $(tooldir)/lib
44.30 -+scriptdir = $(libdir)
44.31 - BASEDIR = $(srcdir)/..
44.32 - BFDDIR = $(BASEDIR)/bfd
44.33 - INCDIR = $(BASEDIR)/include
45.1 --- a/patches/binutils/2.18.50.0.6/120-check-ldrunpath-length.patch Wed Oct 28 12:03:38 2009 +0100
45.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
45.3 @@ -1,26 +0,0 @@
45.4 -Check LD_RUN_PATH length, copied from buildroot.
45.5 -
45.6 - binutils-2.18.50.0.6/ld/emultempl/elf32.em | 4 4 0 0 ++++
45.7 - 1 file changed, 4 insertions(+)
45.8 -
45.9 -diff -durN binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em binutils-2.18.50.0.6/ld/emultempl/elf32.em
45.10 ---- binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em 2008-04-03 18:54:25.000000000 +0200
45.11 -+++ binutils-2.18.50.0.6/ld/emultempl/elf32.em 2008-05-02 23:30:08.000000000 +0200
45.12 -@@ -1220,6 +1220,8 @@
45.13 - && command_line.rpath == NULL)
45.14 - {
45.15 - lib_path = (const char *) getenv ("LD_RUN_PATH");
45.16 -+ if ((lib_path) && (strlen (lib_path) == 0))
45.17 -+ lib_path = NULL;
45.18 - if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
45.19 - force))
45.20 - break;
45.21 -@@ -1405,6 +1407,8 @@
45.22 - rpath = command_line.rpath;
45.23 - if (rpath == NULL)
45.24 - rpath = (const char *) getenv ("LD_RUN_PATH");
45.25 -+ if ((rpath) && (strlen (rpath) == 0))
45.26 -+ rpath = NULL;
45.27 - if (! (bfd_elf_size_dynamic_sections
45.28 - (link_info.output_bfd, command_line.soname, rpath,
45.29 - command_line.filter_shlib,
46.1 --- a/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
46.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
46.3 @@ -1,64 +0,0 @@
46.4 -diff -durN binutils-2.18.50.0.6.orig/gas/config/tc-i386.c binutils-2.18.50.0.6/gas/config/tc-i386.c
46.5 ---- binutils-2.18.50.0.6.orig/gas/config/tc-i386.c 2008-04-03 18:54:04.000000000 +0200
46.6 -+++ binutils-2.18.50.0.6/gas/config/tc-i386.c 2008-09-22 09:09:23.000000000 +0200
46.7 -@@ -312,24 +312,10 @@
46.8 - #endif
46.9 - ;
46.10 -
46.11 --#if (defined (TE_I386AIX) \
46.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
46.13 -- && !defined (TE_GNU) \
46.14 -- && !defined (TE_LINUX) \
46.15 -- && !defined (TE_NETWARE) \
46.16 -- && !defined (TE_FreeBSD) \
46.17 -- && !defined (TE_NetBSD)))
46.18 - /* This array holds the chars that always start a comment. If the
46.19 -- pre-processor is disabled, these aren't very useful. The option
46.20 -- --divide will remove '/' from this list. */
46.21 --const char *i386_comment_chars = "#/";
46.22 --#define SVR4_COMMENT_CHARS 1
46.23 --#define PREFIX_SEPARATOR '\\'
46.24 --
46.25 --#else
46.26 -+ pre-processor is disabled, these aren't very useful. */
46.27 - const char *i386_comment_chars = "#";
46.28 - #define PREFIX_SEPARATOR '/'
46.29 --#endif
46.30 -
46.31 - /* This array holds the chars that only start a comment at the beginning of
46.32 - a line. If the line seems to have the form '# 123 filename'
46.33 -@@ -7876,20 +7862,6 @@
46.34 - break;
46.35 -
46.36 - case OPTION_DIVIDE:
46.37 --#ifdef SVR4_COMMENT_CHARS
46.38 -- {
46.39 -- char *n, *t;
46.40 -- const char *s;
46.41 --
46.42 -- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
46.43 -- t = n;
46.44 -- for (s = i386_comment_chars; *s != '\0'; s++)
46.45 -- if (*s != '/')
46.46 -- *t++ = *s;
46.47 -- *t = '\0';
46.48 -- i386_comment_chars = n;
46.49 -- }
46.50 --#endif
46.51 - break;
46.52 -
46.53 - case OPTION_MARCH:
46.54 -@@ -8029,13 +8001,8 @@
46.55 - fprintf (stream, _("\
46.56 - --32/--64 generate 32bit/64bit code\n"));
46.57 - #endif
46.58 --#ifdef SVR4_COMMENT_CHARS
46.59 -- fprintf (stream, _("\
46.60 -- --divide do not treat `/' as a comment character\n"));
46.61 --#else
46.62 - fprintf (stream, _("\
46.63 - --divide ignored\n"));
46.64 --#endif
46.65 - fprintf (stream, _("\
46.66 - -march=CPU[,+EXTENSION...]\n\
46.67 - generate code for CPU and EXTENSION, CPU is one of:\n\
47.1 --- a/patches/binutils/2.18.50.0.7/100-arm-uclibcgnueabi.patch Wed Oct 28 12:03:38 2009 +0100
47.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
47.3 @@ -1,30 +0,0 @@
47.4 -Patch from buildroot, updated to binutils-2.18.50.0.6.
47.5 -
47.6 - binutils-2.18.50.0.6/configure | 2 1 1 0 +-
47.7 - binutils-2.18.50.0.6/configure.ac | 2 1 1 0 +-
47.8 - 2 files changed, 2 insertions(+), 2 deletions(-)
47.9 -
47.10 -diff -durN binutils-2.18.50.0.6.orig/configure binutils-2.18.50.0.6/configure
47.11 ---- binutils-2.18.50.0.6.orig/configure 2008-04-03 18:54:04.000000000 +0200
47.12 -+++ binutils-2.18.50.0.6/configure 2008-05-02 23:18:42.000000000 +0200
47.13 -@@ -2298,7 +2298,7 @@
47.14 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
47.15 - libgloss_dir=arm
47.16 - ;;
47.17 -- arm*-*-linux-gnueabi)
47.18 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
47.19 - noconfigdirs="$noconfigdirs target-qthreads"
47.20 - noconfigdirs="$noconfigdirs target-libobjc"
47.21 - case ${with_newlib} in
47.22 -diff -durN binutils-2.18.50.0.6.orig/configure.ac binutils-2.18.50.0.6/configure.ac
47.23 ---- binutils-2.18.50.0.6.orig/configure.ac 2008-04-03 18:54:04.000000000 +0200
47.24 -+++ binutils-2.18.50.0.6/configure.ac 2008-05-02 23:18:01.000000000 +0200
47.25 -@@ -560,7 +560,7 @@
47.26 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
47.27 - libgloss_dir=arm
47.28 - ;;
47.29 -- arm*-*-linux-gnueabi)
47.30 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
47.31 - noconfigdirs="$noconfigdirs target-qthreads"
47.32 - noconfigdirs="$noconfigdirs target-libobjc"
47.33 - case ${with_newlib} in
48.1 --- a/patches/binutils/2.18.50.0.7/110-ld-makefile-path.patch Wed Oct 28 12:03:38 2009 +0100
48.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
48.3 @@ -1,30 +0,0 @@
48.4 -Fix ld scripts path, copied from buildroot.
48.5 -
48.6 - binutils-2.18.50.0.6/ld/Makefile.am | 2 1 1 0 +-
48.7 - binutils-2.18.50.0.6/ld/Makefile.in | 2 1 1 0 +-
48.8 - 2 files changed, 2 insertions(+), 2 deletions(-)
48.9 -
48.10 -diff -durN binutils-2.18.50.0.6.orig/ld/Makefile.am binutils-2.18.50.0.6/ld/Makefile.am
48.11 ---- binutils-2.18.50.0.6.orig/ld/Makefile.am 2008-04-03 18:54:05.000000000 +0200
48.12 -+++ binutils-2.18.50.0.6/ld/Makefile.am 2008-05-02 23:25:14.000000000 +0200
48.13 -@@ -18,7 +18,7 @@
48.14 - # We put the scripts in the directory $(scriptdir)/ldscripts.
48.15 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
48.16 - # directives need to be different for native and cross linkers.
48.17 --scriptdir = $(tooldir)/lib
48.18 -+scriptdir = $(libdir)
48.19 -
48.20 - EMUL = @EMUL@
48.21 - EMULATION_OFILES = @EMULATION_OFILES@
48.22 -diff -durN binutils-2.18.50.0.6.orig/ld/Makefile.in binutils-2.18.50.0.6/ld/Makefile.in
48.23 ---- binutils-2.18.50.0.6.orig/ld/Makefile.in 2008-04-03 18:54:05.000000000 +0200
48.24 -+++ binutils-2.18.50.0.6/ld/Makefile.in 2008-05-02 23:25:14.000000000 +0200
48.25 -@@ -288,7 +288,7 @@
48.26 - # We put the scripts in the directory $(scriptdir)/ldscripts.
48.27 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
48.28 - # directives need to be different for native and cross linkers.
48.29 --scriptdir = $(tooldir)/lib
48.30 -+scriptdir = $(libdir)
48.31 - BASEDIR = $(srcdir)/..
48.32 - BFDDIR = $(BASEDIR)/bfd
48.33 - INCDIR = $(BASEDIR)/include
49.1 --- a/patches/binutils/2.18.50.0.7/120-check-ldrunpath-length.patch Wed Oct 28 12:03:38 2009 +0100
49.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
49.3 @@ -1,26 +0,0 @@
49.4 -Check LD_RUN_PATH length, copied from buildroot.
49.5 -
49.6 - binutils-2.18.50.0.6/ld/emultempl/elf32.em | 4 4 0 0 ++++
49.7 - 1 file changed, 4 insertions(+)
49.8 -
49.9 -diff -durN binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em binutils-2.18.50.0.6/ld/emultempl/elf32.em
49.10 ---- binutils-2.18.50.0.6.orig/ld/emultempl/elf32.em 2008-04-03 18:54:25.000000000 +0200
49.11 -+++ binutils-2.18.50.0.6/ld/emultempl/elf32.em 2008-05-02 23:30:08.000000000 +0200
49.12 -@@ -1220,6 +1220,8 @@
49.13 - && command_line.rpath == NULL)
49.14 - {
49.15 - lib_path = (const char *) getenv ("LD_RUN_PATH");
49.16 -+ if ((lib_path) && (strlen (lib_path) == 0))
49.17 -+ lib_path = NULL;
49.18 - if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
49.19 - force))
49.20 - break;
49.21 -@@ -1405,6 +1407,8 @@
49.22 - rpath = command_line.rpath;
49.23 - if (rpath == NULL)
49.24 - rpath = (const char *) getenv ("LD_RUN_PATH");
49.25 -+ if ((rpath) && (strlen (rpath) == 0))
49.26 -+ rpath = NULL;
49.27 - if (! (bfd_elf_size_dynamic_sections
49.28 - (link_info.output_bfd, command_line.soname, rpath,
49.29 - command_line.filter_shlib,
50.1 --- a/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
50.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
50.3 @@ -1,64 +0,0 @@
50.4 -diff -durN binutils-2.18.50.0.7.orig/gas/config/tc-i386.c binutils-2.18.50.0.7/gas/config/tc-i386.c
50.5 ---- binutils-2.18.50.0.7.orig/gas/config/tc-i386.c 2008-05-04 16:28:10.000000000 +0200
50.6 -+++ binutils-2.18.50.0.7/gas/config/tc-i386.c 2008-09-22 09:11:19.000000000 +0200
50.7 -@@ -312,24 +312,10 @@
50.8 - #endif
50.9 - ;
50.10 -
50.11 --#if (defined (TE_I386AIX) \
50.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
50.13 -- && !defined (TE_GNU) \
50.14 -- && !defined (TE_LINUX) \
50.15 -- && !defined (TE_NETWARE) \
50.16 -- && !defined (TE_FreeBSD) \
50.17 -- && !defined (TE_NetBSD)))
50.18 - /* This array holds the chars that always start a comment. If the
50.19 -- pre-processor is disabled, these aren't very useful. The option
50.20 -- --divide will remove '/' from this list. */
50.21 --const char *i386_comment_chars = "#/";
50.22 --#define SVR4_COMMENT_CHARS 1
50.23 --#define PREFIX_SEPARATOR '\\'
50.24 --
50.25 --#else
50.26 -+ pre-processor is disabled, these aren't very useful. */
50.27 - const char *i386_comment_chars = "#";
50.28 - #define PREFIX_SEPARATOR '/'
50.29 --#endif
50.30 -
50.31 - /* This array holds the chars that only start a comment at the beginning of
50.32 - a line. If the line seems to have the form '# 123 filename'
50.33 -@@ -7920,20 +7906,6 @@
50.34 - break;
50.35 -
50.36 - case OPTION_DIVIDE:
50.37 --#ifdef SVR4_COMMENT_CHARS
50.38 -- {
50.39 -- char *n, *t;
50.40 -- const char *s;
50.41 --
50.42 -- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
50.43 -- t = n;
50.44 -- for (s = i386_comment_chars; *s != '\0'; s++)
50.45 -- if (*s != '/')
50.46 -- *t++ = *s;
50.47 -- *t = '\0';
50.48 -- i386_comment_chars = n;
50.49 -- }
50.50 --#endif
50.51 - break;
50.52 -
50.53 - case OPTION_MARCH:
50.54 -@@ -8084,13 +8056,8 @@
50.55 - fprintf (stream, _("\
50.56 - --32/--64 generate 32bit/64bit code\n"));
50.57 - #endif
50.58 --#ifdef SVR4_COMMENT_CHARS
50.59 -- fprintf (stream, _("\
50.60 -- --divide do not treat `/' as a comment character\n"));
50.61 --#else
50.62 - fprintf (stream, _("\
50.63 - --divide ignored\n"));
50.64 --#endif
50.65 - fprintf (stream, _("\
50.66 - -march=CPU[,+EXTENSION...]\n\
50.67 - generate code for CPU and EXTENSION, CPU is one of:\n\
51.1 --- a/patches/binutils/2.18.50.0.8/100-arm-uclibcgnueabi.patch Wed Oct 28 12:03:38 2009 +0100
51.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
51.3 @@ -1,24 +0,0 @@
51.4 -diff -durN binutils-2.18.50.0.8.orig/configure binutils-2.18.50.0.8/configure
51.5 ---- binutils-2.18.50.0.8.orig/configure 2008-07-10 17:32:56.000000000 +0200
51.6 -+++ binutils-2.18.50.0.8/configure 2008-07-13 23:08:13.000000000 +0200
51.7 -@@ -2313,7 +2313,7 @@
51.8 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
51.9 - libgloss_dir=arm
51.10 - ;;
51.11 -- arm*-*-linux-gnueabi)
51.12 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
51.13 - noconfigdirs="$noconfigdirs target-qthreads"
51.14 - case ${with_newlib} in
51.15 - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
51.16 -diff -durN binutils-2.18.50.0.8.orig/configure.ac binutils-2.18.50.0.8/configure.ac
51.17 ---- binutils-2.18.50.0.8.orig/configure.ac 2008-07-10 17:32:56.000000000 +0200
51.18 -+++ binutils-2.18.50.0.8/configure.ac 2008-07-13 23:08:13.000000000 +0200
51.19 -@@ -562,7 +562,7 @@
51.20 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
51.21 - libgloss_dir=arm
51.22 - ;;
51.23 -- arm*-*-linux-gnueabi)
51.24 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
51.25 - noconfigdirs="$noconfigdirs target-qthreads"
51.26 - case ${with_newlib} in
51.27 - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
52.1 --- a/patches/binutils/2.18.50.0.8/110-ld-makefile-path.patch Wed Oct 28 12:03:38 2009 +0100
52.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
52.3 @@ -1,24 +0,0 @@
52.4 -diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.am binutils-2.18.50.0.8/ld/Makefile.am
52.5 ---- binutils-2.18.50.0.8.orig/ld/Makefile.am 2008-04-03 18:54:05.000000000 +0200
52.6 -+++ binutils-2.18.50.0.8/ld/Makefile.am 2008-07-13 23:15:40.000000000 +0200
52.7 -@@ -18,7 +18,7 @@
52.8 - # We put the scripts in the directory $(scriptdir)/ldscripts.
52.9 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
52.10 - # directives need to be different for native and cross linkers.
52.11 --scriptdir = $(tooldir)/lib
52.12 -+scriptdir = $(libdir)
52.13 -
52.14 - EMUL = @EMUL@
52.15 - EMULATION_OFILES = @EMULATION_OFILES@
52.16 -diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.in binutils-2.18.50.0.8/ld/Makefile.in
52.17 ---- binutils-2.18.50.0.8.orig/ld/Makefile.in 2008-07-10 17:32:58.000000000 +0200
52.18 -+++ binutils-2.18.50.0.8/ld/Makefile.in 2008-07-13 23:15:40.000000000 +0200
52.19 -@@ -290,7 +290,7 @@
52.20 - # We put the scripts in the directory $(scriptdir)/ldscripts.
52.21 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
52.22 - # directives need to be different for native and cross linkers.
52.23 --scriptdir = $(tooldir)/lib
52.24 -+scriptdir = $(libdir)
52.25 - BASEDIR = $(srcdir)/..
52.26 - BFDDIR = $(BASEDIR)/bfd
52.27 - INCDIR = $(BASEDIR)/include
53.1 --- a/patches/binutils/2.18.50.0.8/120-check-ldrunpath-length.patch Wed Oct 28 12:03:38 2009 +0100
53.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
53.3 @@ -1,21 +0,0 @@
53.4 -diff -durN binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em binutils-2.18.50.0.8/ld/emultempl/elf32.em
53.5 ---- binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em 2008-07-10 17:33:23.000000000 +0200
53.6 -+++ binutils-2.18.50.0.8/ld/emultempl/elf32.em 2008-07-13 23:19:29.000000000 +0200
53.7 -@@ -1220,6 +1220,8 @@
53.8 - && command_line.rpath == NULL)
53.9 - {
53.10 - lib_path = (const char *) getenv ("LD_RUN_PATH");
53.11 -+ if ((lib_path) && (strlen (lib_path) == 0))
53.12 -+ lib_path = NULL;
53.13 - if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
53.14 - force))
53.15 - break;
53.16 -@@ -1405,6 +1407,8 @@
53.17 - rpath = command_line.rpath;
53.18 - if (rpath == NULL)
53.19 - rpath = (const char *) getenv ("LD_RUN_PATH");
53.20 -+ if ((rpath) && (strlen (rpath) == 0))
53.21 -+ rpath = NULL;
53.22 - if (! (bfd_elf_size_dynamic_sections
53.23 - (link_info.output_bfd, command_line.soname, rpath,
53.24 - command_line.filter_shlib,
54.1 --- a/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
54.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
54.3 @@ -1,64 +0,0 @@
54.4 -diff -durN binutils-2.18.50.0.8.orig/gas/config/tc-i386.c binutils-2.18.50.0.8/gas/config/tc-i386.c
54.5 ---- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c 2008-07-10 17:32:58.000000000 +0200
54.6 -+++ binutils-2.18.50.0.8/gas/config/tc-i386.c 2008-09-22 09:12:39.000000000 +0200
54.7 -@@ -313,24 +313,10 @@
54.8 - #endif
54.9 - ;
54.10 -
54.11 --#if (defined (TE_I386AIX) \
54.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
54.13 -- && !defined (TE_GNU) \
54.14 -- && !defined (TE_LINUX) \
54.15 -- && !defined (TE_NETWARE) \
54.16 -- && !defined (TE_FreeBSD) \
54.17 -- && !defined (TE_NetBSD)))
54.18 - /* This array holds the chars that always start a comment. If the
54.19 -- pre-processor is disabled, these aren't very useful. The option
54.20 -- --divide will remove '/' from this list. */
54.21 --const char *i386_comment_chars = "#/";
54.22 --#define SVR4_COMMENT_CHARS 1
54.23 --#define PREFIX_SEPARATOR '\\'
54.24 --
54.25 --#else
54.26 -+ pre-processor is disabled, these aren't very useful. */
54.27 - const char *i386_comment_chars = "#";
54.28 - #define PREFIX_SEPARATOR '/'
54.29 --#endif
54.30 -
54.31 - /* This array holds the chars that only start a comment at the beginning of
54.32 - a line. If the line seems to have the form '# 123 filename'
54.33 -@@ -7952,20 +7938,6 @@
54.34 - break;
54.35 -
54.36 - case OPTION_DIVIDE:
54.37 --#ifdef SVR4_COMMENT_CHARS
54.38 -- {
54.39 -- char *n, *t;
54.40 -- const char *s;
54.41 --
54.42 -- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
54.43 -- t = n;
54.44 -- for (s = i386_comment_chars; *s != '\0'; s++)
54.45 -- if (*s != '/')
54.46 -- *t++ = *s;
54.47 -- *t = '\0';
54.48 -- i386_comment_chars = n;
54.49 -- }
54.50 --#endif
54.51 - break;
54.52 -
54.53 - case OPTION_MARCH:
54.54 -@@ -8116,13 +8088,8 @@
54.55 - fprintf (stream, _("\
54.56 - --32/--64 generate 32bit/64bit code\n"));
54.57 - #endif
54.58 --#ifdef SVR4_COMMENT_CHARS
54.59 -- fprintf (stream, _("\
54.60 -- --divide do not treat `/' as a comment character\n"));
54.61 --#else
54.62 - fprintf (stream, _("\
54.63 - --divide ignored\n"));
54.64 --#endif
54.65 - fprintf (stream, _("\
54.66 - -march=CPU[,+EXTENSION...]\n\
54.67 - generate code for CPU and EXTENSION, CPU is one of:\n\
55.1 --- a/patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch Wed Oct 28 12:03:38 2009 +0100
55.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
55.3 @@ -1,24 +0,0 @@
55.4 -diff -durN binutils-2.18.50.0.8.orig/configure binutils-2.18.50.0.8/configure
55.5 ---- binutils-2.18.50.0.8.orig/configure 2008-07-10 17:32:56.000000000 +0200
55.6 -+++ binutils-2.18.50.0.8/configure 2008-07-13 23:08:13.000000000 +0200
55.7 -@@ -2313,7 +2313,7 @@
55.8 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
55.9 - libgloss_dir=arm
55.10 - ;;
55.11 -- arm*-*-linux-gnueabi)
55.12 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
55.13 - noconfigdirs="$noconfigdirs target-qthreads"
55.14 - case ${with_newlib} in
55.15 - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
55.16 -diff -durN binutils-2.18.50.0.8.orig/configure.ac binutils-2.18.50.0.8/configure.ac
55.17 ---- binutils-2.18.50.0.8.orig/configure.ac 2008-07-10 17:32:56.000000000 +0200
55.18 -+++ binutils-2.18.50.0.8/configure.ac 2008-07-13 23:08:13.000000000 +0200
55.19 -@@ -562,7 +562,7 @@
55.20 - noconfigdirs="$noconfigdirs target-libffi target-qthreads"
55.21 - libgloss_dir=arm
55.22 - ;;
55.23 -- arm*-*-linux-gnueabi)
55.24 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
55.25 - noconfigdirs="$noconfigdirs target-qthreads"
55.26 - case ${with_newlib} in
55.27 - no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
56.1 --- a/patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch Wed Oct 28 12:03:38 2009 +0100
56.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
56.3 @@ -1,24 +0,0 @@
56.4 -diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.am binutils-2.18.50.0.8/ld/Makefile.am
56.5 ---- binutils-2.18.50.0.8.orig/ld/Makefile.am 2008-04-03 18:54:05.000000000 +0200
56.6 -+++ binutils-2.18.50.0.8/ld/Makefile.am 2008-07-13 23:15:40.000000000 +0200
56.7 -@@ -18,7 +18,7 @@
56.8 - # We put the scripts in the directory $(scriptdir)/ldscripts.
56.9 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
56.10 - # directives need to be different for native and cross linkers.
56.11 --scriptdir = $(tooldir)/lib
56.12 -+scriptdir = $(libdir)
56.13 -
56.14 - EMUL = @EMUL@
56.15 - EMULATION_OFILES = @EMULATION_OFILES@
56.16 -diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.in binutils-2.18.50.0.8/ld/Makefile.in
56.17 ---- binutils-2.18.50.0.8.orig/ld/Makefile.in 2008-07-10 17:32:58.000000000 +0200
56.18 -+++ binutils-2.18.50.0.8/ld/Makefile.in 2008-07-13 23:15:40.000000000 +0200
56.19 -@@ -290,7 +290,7 @@
56.20 - # We put the scripts in the directory $(scriptdir)/ldscripts.
56.21 - # We can't put the scripts in $(datadir) because the SEARCH_DIR
56.22 - # directives need to be different for native and cross linkers.
56.23 --scriptdir = $(tooldir)/lib
56.24 -+scriptdir = $(libdir)
56.25 - BASEDIR = $(srcdir)/..
56.26 - BFDDIR = $(BASEDIR)/bfd
56.27 - INCDIR = $(BASEDIR)/include
57.1 --- a/patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch Wed Oct 28 12:03:38 2009 +0100
57.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
57.3 @@ -1,21 +0,0 @@
57.4 -diff -durN binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em binutils-2.18.50.0.8/ld/emultempl/elf32.em
57.5 ---- binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em 2008-07-10 17:33:23.000000000 +0200
57.6 -+++ binutils-2.18.50.0.8/ld/emultempl/elf32.em 2008-07-13 23:19:29.000000000 +0200
57.7 -@@ -1220,6 +1220,8 @@
57.8 - && command_line.rpath == NULL)
57.9 - {
57.10 - lib_path = (const char *) getenv ("LD_RUN_PATH");
57.11 -+ if ((lib_path) && (strlen (lib_path) == 0))
57.12 -+ lib_path = NULL;
57.13 - if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
57.14 - force))
57.15 - break;
57.16 -@@ -1405,6 +1407,8 @@
57.17 - rpath = command_line.rpath;
57.18 - if (rpath == NULL)
57.19 - rpath = (const char *) getenv ("LD_RUN_PATH");
57.20 -+ if ((rpath) && (strlen (rpath) == 0))
57.21 -+ rpath = NULL;
57.22 - if (! (bfd_elf_size_dynamic_sections
57.23 - (link_info.output_bfd, command_line.soname, rpath,
57.24 - command_line.filter_shlib,
58.1 --- a/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch Wed Oct 28 12:03:38 2009 +0100
58.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
58.3 @@ -1,64 +0,0 @@
58.4 -diff -durN binutils-2.18.50.0.8.orig/gas/config/tc-i386.c binutils-2.18.50.0.8/gas/config/tc-i386.c
58.5 ---- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c 2008-07-10 17:32:58.000000000 +0200
58.6 -+++ binutils-2.18.50.0.8/gas/config/tc-i386.c 2008-09-22 09:12:39.000000000 +0200
58.7 -@@ -313,24 +313,10 @@
58.8 - #endif
58.9 - ;
58.10 -
58.11 --#if (defined (TE_I386AIX) \
58.12 -- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \
58.13 -- && !defined (TE_GNU) \
58.14 -- && !defined (TE_LINUX) \
58.15 -- && !defined (TE_NETWARE) \
58.16 -- && !defined (TE_FreeBSD) \
58.17 -- && !defined (TE_NetBSD)))
58.18 - /* This array holds the chars that always start a comment. If the
58.19 -- pre-processor is disabled, these aren't very useful. The option
58.20 -- --divide will remove '/' from this list. */
58.21 --const char *i386_comment_chars = "#/";
58.22 --#define SVR4_COMMENT_CHARS 1
58.23 --#define PREFIX_SEPARATOR '\\'
58.24 --
58.25 --#else
58.26 -+ pre-processor is disabled, these aren't very useful. */
58.27 - const char *i386_comment_chars = "#";
58.28 - #define PREFIX_SEPARATOR '/'
58.29 --#endif
58.30 -
58.31 - /* This array holds the chars that only start a comment at the beginning of
58.32 - a line. If the line seems to have the form '# 123 filename'
58.33 -@@ -7952,20 +7938,6 @@
58.34 - break;
58.35 -
58.36 - case OPTION_DIVIDE:
58.37 --#ifdef SVR4_COMMENT_CHARS
58.38 -- {
58.39 -- char *n, *t;
58.40 -- const char *s;
58.41 --
58.42 -- n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
58.43 -- t = n;
58.44 -- for (s = i386_comment_chars; *s != '\0'; s++)
58.45 -- if (*s != '/')
58.46 -- *t++ = *s;
58.47 -- *t = '\0';
58.48 -- i386_comment_chars = n;
58.49 -- }
58.50 --#endif
58.51 - break;
58.52 -
58.53 - case OPTION_MARCH:
58.54 -@@ -8116,13 +8088,8 @@
58.55 - fprintf (stream, _("\
58.56 - --32/--64 generate 32bit/64bit code\n"));
58.57 - #endif
58.58 --#ifdef SVR4_COMMENT_CHARS
58.59 -- fprintf (stream, _("\
58.60 -- --divide do not treat `/' as a comment character\n"));
58.61 --#else
58.62 - fprintf (stream, _("\
58.63 - --divide ignored\n"));
58.64 --#endif
58.65 - fprintf (stream, _("\
58.66 - -march=CPU[,+EXTENSION...]\n\
58.67 - generate code for CPU and EXTENSION, CPU is one of:\n\
59.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
59.2 +++ b/patches/binutils/2.20/100-ppc64-pie.patch Thu Oct 29 00:10:06 2009 +0100
59.3 @@ -0,0 +1,16 @@
59.4 +--- bfd/elf64-ppc.c.jj 2004-09-27 16:46:06.000000000 -0400
59.5 ++++ bfd/elf64-ppc.c 2004-10-04 09:09:50.000000000 -0400
59.6 +@@ -9681,7 +9681,12 @@ ppc64_elf_relocate_section (bfd *output_
59.7 + else if (!SYMBOL_REFERENCES_LOCAL (info, &h->elf)
59.8 + && !is_opd
59.9 + && r_type != R_PPC64_TOC)
59.10 +- outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
59.11 ++ {
59.12 ++ outrel.r_info = ELF64_R_INFO (h->elf.dynindx, r_type);
59.13 ++ if (h->elf.dynindx == -1
59.14 ++ && h->elf.root.type == bfd_link_hash_undefweak)
59.15 ++ memset (&outrel, 0, sizeof outrel);
59.16 ++ }
59.17 + else
59.18 + {
59.19 + /* This symbol is local, or marked to become local,
60.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
60.2 +++ b/patches/binutils/2.20/110-RPATH_ENVVAR-smack.patch Thu Oct 29 00:10:06 2009 +0100
60.3 @@ -0,0 +1,13 @@
60.4 +http://sourceware.org/ml/binutils/2007-07/msg00401.html
60.5 +http://sourceware.org/bugzilla/show_bug.cgi?id=4970
60.6 +
60.7 +--- configure
60.8 ++++ configure
60.9 +@@ -5601,6 +5601,7 @@ case "${host}" in
60.10 + *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
60.11 + *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
60.12 + esac
60.13 ++RPATH_ENVVAR="cant_touch_this_nah_nah_nah"
60.14 +
60.15 + # On systems where the dynamic library environment variable is PATH,
60.16 + if test "$RPATH_ENVVAR" = PATH; then
61.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
61.2 +++ b/patches/binutils/2.20/120-sh-targets.patch Thu Oct 29 00:10:06 2009 +0100
61.3 @@ -0,0 +1,47 @@
61.4 +r10231 | lethal | 2005-05-02 09:58:00 -0400 (Mon, 02 May 2005) | 13 lines
61.5 +
61.6 +Likewise, binutils has no idea about any of these new targets either, so we
61.7 +fix that up too.. now we're able to actually build a real toolchain for
61.8 +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more
61.9 +inept targets than that one, really. Go look, I promise).
61.10 +
61.11 +--- binutils-2.16.90.0.2-dist/configure
61.12 ++++ binutils-2.16.90.0.2/configure
61.13 +@@ -1207,7 +1207,7 @@
61.14 + am33_2.0-*-linux*)
61.15 + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
61.16 + ;;
61.17 +- sh-*-linux*)
61.18 ++ sh*-*-linux*)
61.19 + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
61.20 + ;;
61.21 + sh*-*-pe|mips*-*-pe|*arm-wince-pe)
61.22 +@@ -1495,7 +1495,7 @@
61.23 + romp-*-*)
61.24 + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
61.25 + ;;
61.26 +- sh-*-* | sh64-*-*)
61.27 ++ sh*-*-* | sh64-*-*)
61.28 + case "${host}" in
61.29 + i[3456789]86-*-vsta) ;; # don't add gprof back in
61.30 + i[3456789]86-*-go32*) ;; # don't add gprof back in
61.31 +--- binutils-2.16.90.0.2-dist/configure.ac
61.32 ++++ binutils-2.16.90.0.2/configure.ac
61.33 +@@ -424,7 +424,7 @@
61.34 + am33_2.0-*-linux*)
61.35 + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
61.36 + ;;
61.37 +- sh-*-linux*)
61.38 ++ sh*-*-linux*)
61.39 + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
61.40 + ;;
61.41 + sh*-*-pe|mips*-*-pe|*arm-wince-pe)
61.42 +@@ -712,7 +712,7 @@
61.43 + romp-*-*)
61.44 + noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
61.45 + ;;
61.46 +- sh-*-* | sh64-*-*)
61.47 ++ sh*-*-* | sh64-*-*)
61.48 + case "${host}" in
61.49 + i[[3456789]]86-*-vsta) ;; # don't add gprof back in
61.50 + i[[3456789]]86-*-go32*) ;; # don't add gprof back in
62.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
62.2 +++ b/patches/binutils/2.20/130-ld-sysroot.patch Thu Oct 29 00:10:06 2009 +0100
62.3 @@ -0,0 +1,36 @@
62.4 +Signed-off-by: Sven Rebhan <odinshorse@googlemail.com>
62.5 +
62.6 +Always try to prepend the sysroot prefix to absolute filenames first.
62.7 +
62.8 +http://bugs.gentoo.org/275666
62.9 +http://sourceware.org/bugzilla/show_bug.cgi?id=10340
62.10 +
62.11 +--- ld/ldfile.c
62.12 ++++ ld/ldfile.c
62.13 +@@ -308,18 +308,24 @@
62.14 + directory first. */
62.15 + if (! entry->is_archive)
62.16 + {
62.17 +- if (entry->sysrooted && IS_ABSOLUTE_PATH (entry->filename))
62.18 ++ /* For absolute pathnames, try to always open the file in the
62.19 ++ sysroot first. If this fails, try to open the file at the
62.20 ++ given location. */
62.21 ++ entry->sysrooted = is_sysrooted_pathname(entry->filename, FALSE);
62.22 ++ if (IS_ABSOLUTE_PATH (entry->filename) && ld_sysroot && ! entry->sysrooted)
62.23 + {
62.24 + char *name = concat (ld_sysroot, entry->filename,
62.25 + (const char *) NULL);
62.26 + if (ldfile_try_open_bfd (name, entry))
62.27 + {
62.28 + entry->filename = name;
62.29 ++ entry->sysrooted = TRUE;
62.30 + return TRUE;
62.31 + }
62.32 + free (name);
62.33 + }
62.34 +- else if (ldfile_try_open_bfd (entry->filename, entry))
62.35 ++
62.36 ++ if (ldfile_try_open_bfd (entry->filename, entry))
62.37 + {
62.38 + entry->sysrooted = IS_ABSOLUTE_PATH (entry->filename)
62.39 + && is_sysrooted_pathname (entry->filename, TRUE);
63.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
63.2 +++ b/patches/binutils/2.20/140-check_ldrunpath_length.patch Thu Oct 29 00:10:06 2009 +0100
63.3 @@ -0,0 +1,47 @@
63.4 +#!/bin/sh -e
63.5 +## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
63.6 +##
63.7 +## All lines beginning with `## DP:' are a description of the patch.
63.8 +## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
63.9 +## DP: cases where -rpath isn't specified. (#151024)
63.10 +
63.11 +if [ $# -ne 1 ]; then
63.12 + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
63.13 + exit 1
63.14 +fi
63.15 +
63.16 +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
63.17 +patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
63.18 +
63.19 +case "$1" in
63.20 + -patch) patch $patch_opts -p1 < $0;;
63.21 + -unpatch) patch $patch_opts -p1 -R < $0;;
63.22 + *)
63.23 + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
63.24 + exit 1;;
63.25 +esac
63.26 +
63.27 +exit 0
63.28 +
63.29 +@DPATCH@
63.30 +diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
63.31 +--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
63.32 ++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
63.33 +@@ -692,6 +692,8 @@
63.34 + && command_line.rpath == NULL)
63.35 + {
63.36 + lib_path = (const char *) getenv ("LD_RUN_PATH");
63.37 ++ if ((lib_path) && (strlen (lib_path) == 0))
63.38 ++ lib_path = NULL;
63.39 + if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
63.40 + force))
63.41 + break;
63.42 +@@ -871,6 +873,8 @@
63.43 + rpath = command_line.rpath;
63.44 + if (rpath == NULL)
63.45 + rpath = (const char *) getenv ("LD_RUN_PATH");
63.46 ++ if ((rpath) && (strlen (rpath) == 0))
63.47 ++ rpath = NULL;
63.48 + if (! (bfd_elf_size_dynamic_sections
63.49 + (output_bfd, command_line.soname, rpath,
63.50 + command_line.filter_shlib,
64.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
64.2 +++ b/patches/binutils/2.20/150-pt-pax-flags-20090909.patch Thu Oct 29 00:10:06 2009 +0100
64.3 @@ -0,0 +1,238 @@
64.4 +--- binutils-2.20/bfd/elf-bfd.h
64.5 ++++ binutils-2.20/bfd/elf-bfd.h
64.6 +@@ -1527,6 +1527,9 @@ struct elf_obj_tdata
64.7 + /* Segment flags for the PT_GNU_STACK segment. */
64.8 + unsigned int stack_flags;
64.9 +
64.10 ++ /* Segment flags for the PT_PAX_FLAGS segment. */
64.11 ++ unsigned int pax_flags;
64.12 ++
64.13 + /* Symbol version definitions in external objects. */
64.14 + Elf_Internal_Verdef *verdef;
64.15 +
64.16 +--- binutils-2.20/bfd/elf.c
64.17 ++++ binutils-2.20/bfd/elf.c
64.18 +@@ -1081,6 +1081,7 @@ get_segment_type (unsigned int p_type)
64.19 + case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
64.20 + case PT_GNU_STACK: pt = "STACK"; break;
64.21 + case PT_GNU_RELRO: pt = "RELRO"; break;
64.22 ++ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
64.23 + default: pt = NULL; break;
64.24 + }
64.25 + return pt;
64.26 +@@ -2379,6 +2380,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int index)
64.27 + case PT_GNU_RELRO:
64.28 + return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro");
64.29 +
64.30 ++ case PT_PAX_FLAGS:
64.31 ++ return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "pax_flags");
64.32 ++
64.33 + default:
64.34 + /* Check for any processor-specific program segment types. */
64.35 + bed = get_elf_backend_data (abfd);
64.36 +@@ -3393,6 +3397,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
64.37 + ++segs;
64.38 + }
64.39 +
64.40 ++ {
64.41 ++ /* We need a PT_PAX_FLAGS segment. */
64.42 ++ ++segs;
64.43 ++ }
64.44 ++
64.45 + for (s = abfd->sections; s != NULL; s = s->next)
64.46 + {
64.47 + if ((s->flags & SEC_LOAD) != 0
64.48 +@@ -3972,6 +3981,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
64.49 + }
64.50 + }
64.51 +
64.52 ++ {
64.53 ++ amt = sizeof (struct elf_segment_map);
64.54 ++ m = bfd_zalloc (abfd, amt);
64.55 ++ if (m == NULL)
64.56 ++ goto error_return;
64.57 ++ m->next = NULL;
64.58 ++ m->p_type = PT_PAX_FLAGS;
64.59 ++ m->p_flags = elf_tdata (abfd)->pax_flags;
64.60 ++ m->p_flags_valid = 1;
64.61 ++
64.62 ++ *pm = m;
64.63 ++ pm = &m->next;
64.64 ++ }
64.65 ++
64.66 + free (sections);
64.67 + elf_tdata (abfd)->segment_map = mfirst;
64.68 + }
64.69 +@@ -5176,7 +5199,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
64.70 + 6. PT_TLS segment includes only SHF_TLS sections.
64.71 + 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
64.72 + 8. PT_DYNAMIC should not contain empty sections at the beginning
64.73 +- (with the possible exception of .dynamic). */
64.74 ++ (with the possible exception of .dynamic).
64.75 ++ 9. PT_PAX_FLAGS segments do not include any sections. */
64.76 + #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed) \
64.77 + ((((segment->p_paddr \
64.78 + ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \
64.79 +@@ -5184,6 +5208,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
64.80 + && (section->flags & SEC_ALLOC) != 0) \
64.81 + || IS_NOTE (segment, section)) \
64.82 + && segment->p_type != PT_GNU_STACK \
64.83 ++ && segment->p_type != PT_PAX_FLAGS \
64.84 + && (segment->p_type != PT_TLS \
64.85 + || (section->flags & SEC_THREAD_LOCAL)) \
64.86 + && (segment->p_type == PT_LOAD \
64.87 +--- binutils-2.20/bfd/elflink.c
64.88 ++++ binutils-2.20/bfd/elflink.c
64.89 +@@ -5465,16 +5465,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
64.90 + return TRUE;
64.91 +
64.92 + bed = get_elf_backend_data (output_bfd);
64.93 ++
64.94 ++ elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
64.95 ++ if (info->execheap)
64.96 ++ elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
64.97 ++ else if (info->noexecheap)
64.98 ++ elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
64.99 ++
64.100 + if (info->execstack)
64.101 +- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
64.102 ++ {
64.103 ++ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
64.104 ++ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
64.105 ++ }
64.106 + else if (info->noexecstack)
64.107 +- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
64.108 ++ {
64.109 ++ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
64.110 ++ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
64.111 ++ }
64.112 + else
64.113 + {
64.114 + bfd *inputobj;
64.115 + asection *notesec = NULL;
64.116 + int exec = 0;
64.117 +
64.118 ++ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
64.119 + for (inputobj = info->input_bfds;
64.120 + inputobj;
64.121 + inputobj = inputobj->link_next)
64.122 +@@ -5487,7 +5501,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
64.123 + if (s)
64.124 + {
64.125 + if (s->flags & SEC_CODE)
64.126 +- exec = PF_X;
64.127 ++ {
64.128 ++ elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
64.129 ++ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
64.130 ++ exec = PF_X;
64.131 ++ }
64.132 + notesec = s;
64.133 + }
64.134 + else if (bed->default_execstack)
64.135 +--- binutils-2.20/binutils/readelf.c
64.136 ++++ binutils-2.20/binutils/readelf.c
64.137 +@@ -2556,6 +2556,7 @@ get_segment_type (unsigned long p_type)
64.138 + return "GNU_EH_FRAME";
64.139 + case PT_GNU_STACK: return "GNU_STACK";
64.140 + case PT_GNU_RELRO: return "GNU_RELRO";
64.141 ++ case PT_PAX_FLAGS: return "PAX_FLAGS";
64.142 +
64.143 + default:
64.144 + if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
64.145 +--- binutils-2.20/include/bfdlink.h
64.146 ++++ binutils-2.20/include/bfdlink.h
64.147 +@@ -319,6 +319,14 @@ struct bfd_link_info
64.148 + /* TRUE if PT_GNU_RELRO segment should be created. */
64.149 + unsigned int relro: 1;
64.150 +
64.151 ++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
64.152 ++ flags. */
64.153 ++ unsigned int execheap: 1;
64.154 ++
64.155 ++ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
64.156 ++ flags. */
64.157 ++ unsigned int noexecheap: 1;
64.158 ++
64.159 + /* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */
64.160 + unsigned int warn_shared_textrel: 1;
64.161 +
64.162 +--- binutils-2.20/include/elf/common.h
64.163 ++++ binutils-2.20/include/elf/common.h
64.164 +@@ -422,6 +422,7 @@
64.165 + #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */
64.166 + #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */
64.167 + #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */
64.168 ++#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */
64.169 +
64.170 + /* Program segment permissions, in program header p_flags field. */
64.171 +
64.172 +@@ -432,6 +433,21 @@
64.173 + #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */
64.174 + #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */
64.175 +
64.176 ++/* Flags to control PaX behavior. */
64.177 ++
64.178 ++#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */
64.179 ++#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */
64.180 ++#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */
64.181 ++#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */
64.182 ++#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */
64.183 ++#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */
64.184 ++#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */
64.185 ++#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */
64.186 ++#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */
64.187 ++#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */
64.188 ++#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */
64.189 ++#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */
64.190 ++
64.191 + /* Values for section header, sh_type field. */
64.192 +
64.193 + #define SHT_NULL 0 /* Section header table entry unused */
64.194 +--- binutils-2.20/ld/emultempl/elf32.em
64.195 ++++ binutils-2.20/ld/emultempl/elf32.em
64.196 +@@ -2159,6 +2159,16 @@ fragment <<EOF
64.197 + link_info.noexecstack = TRUE;
64.198 + link_info.execstack = FALSE;
64.199 + }
64.200 ++ else if (strcmp (optarg, "execheap") == 0)
64.201 ++ {
64.202 ++ link_info.execheap = TRUE;
64.203 ++ link_info.noexecheap = FALSE;
64.204 ++ }
64.205 ++ else if (strcmp (optarg, "noexecheap") == 0)
64.206 ++ {
64.207 ++ link_info.noexecheap = TRUE;
64.208 ++ link_info.execheap = FALSE;
64.209 ++ }
64.210 + EOF
64.211 +
64.212 + if test -n "$COMMONPAGESIZE"; then
64.213 +@@ -2237,6 +2247,8 @@ fragment <<EOF
64.214 + fprintf (file, _("\
64.215 + -z execstack Mark executable as requiring executable stack\n"));
64.216 + fprintf (file, _("\
64.217 ++ -z execheap Mark executable as requiring executable heap\n"));
64.218 ++ fprintf (file, _("\
64.219 + -z initfirst Mark DSO to be initialized first at runtime\n"));
64.220 + fprintf (file, _("\
64.221 + -z interpose Mark object to interpose all DSOs but executable\n"));
64.222 +@@ -2260,6 +2272,8 @@ fragment <<EOF
64.223 + -z nodump Mark DSO not available to dldump\n"));
64.224 + fprintf (file, _("\
64.225 + -z noexecstack Mark executable as not requiring executable stack\n"));
64.226 ++ fprintf (file, _("\
64.227 ++ -z noexecheap Mark executable as not requiring executable heap\n"));
64.228 + EOF
64.229 +
64.230 + if test -n "$COMMONPAGESIZE"; then
64.231 +--- binutils-2.20/ld/ldgram.y
64.232 ++++ binutils-2.20/ld/ldgram.y
64.233 +@@ -1116,6 +1116,8 @@ phdr_type:
64.234 + $$ = exp_intop (0x6474e550);
64.235 + else if (strcmp (s, "PT_GNU_STACK") == 0)
64.236 + $$ = exp_intop (0x6474e551);
64.237 ++ else if (strcmp (s, "PT_PAX_FLAGS") == 0)
64.238 ++ $$ = exp_intop (0x65041580);
64.239 + else
64.240 + {
64.241 + einfo (_("\
65.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
65.2 +++ b/patches/binutils/2.20/160-amd64-32bit-path.patch Thu Oct 29 00:10:06 2009 +0100
65.3 @@ -0,0 +1,16 @@
65.4 +--- binutils/ld/emulparams/elf_i386.sh
65.5 ++++ binutils/ld/emulparams/elf_i386.sh
65.6 +@@ -13,3 +13,13 @@
65.7 + NO_SMALL_DATA=yes
65.8 + SEPARATE_GOTPLT=12
65.9 + IREL_IN_PLT=
65.10 ++
65.11 ++# In Gentoo, we install 32bit libs into /lib32 in an
65.12 ++# ABI setup with amd64/x86
65.13 ++case "$target" in
65.14 ++ x86_64*-linux*)
65.15 ++ case "$EMULATION_NAME" in
65.16 ++ *i386*) LIBPATH_SUFFIX=32 ;;
65.17 ++ esac
65.18 ++ ;;
65.19 ++esac
66.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
66.2 +++ b/patches/binutils/2.20/170-warn-textrel.patch Thu Oct 29 00:10:06 2009 +0100
66.3 @@ -0,0 +1,59 @@
66.4 +textrels are bad for forcing copy-on-write (this affects everyone),
66.5 +and for security/runtime code generation, this affects security ppl.
66.6 +But in either case, it doesn't matter who needs textrels, it's
66.7 +the very fact that they're needed at all.
66.8 +
66.9 +2006-06-10 Ned Ludd <solar@gentoo.org>, Mike Frysinger <vapier@gentoo.org>
66.10 +
66.11 + * bfd/elflink.c (bfd_elf_final_link): Check all objects for TEXTRELs.
66.12 + * ld/ldmain.c (main): Change textrel warning default to true.
66.13 + * ld/testsuite/lib/ld-lib.exp (default_ld_simple_link): Scrub TEXTREL
66.14 + warnings from ld output.
66.15 +
66.16 +--- bfd/elflink.c
66.17 ++++ bfd/elflink.c
66.18 +@@ -8652,14 +8652,12 @@
66.19 + goto error_return;
66.20 +
66.21 + /* Check for DT_TEXTREL (late, in case the backend removes it). */
66.22 +- if (info->warn_shared_textrel && info->shared)
66.23 ++ o = bfd_get_section_by_name (dynobj, ".dynamic");
66.24 ++ if (info->warn_shared_textrel && o != NULL)
66.25 + {
66.26 + bfd_byte *dyncon, *dynconend;
66.27 +
66.28 + /* Fix up .dynamic entries. */
66.29 +- o = bfd_get_section_by_name (dynobj, ".dynamic");
66.30 +- BFD_ASSERT (o != NULL);
66.31 +-
66.32 + dyncon = o->contents;
66.33 + dynconend = o->contents + o->size;
66.34 + for (; dyncon < dynconend; dyncon += bed->s->sizeof_dyn)
66.35 +@@ -8702,7 +8702,7 @@ bfd_elf_final_link (bfd *abfd, struct bf
66.36 + if (dyn.d_tag == DT_TEXTREL)
66.37 + {
66.38 + info->callbacks->einfo
66.39 +- (_("%P: warning: creating a DT_TEXTREL in a shared object.\n"));
66.40 ++ (_("%P: warning: creating a DT_TEXTREL in object.\n"));
66.41 + break;
66.42 + }
66.43 + }
66.44 +--- ld/ldmain.c
66.45 ++++ ld/ldmain.c
66.46 +@@ -282,2 +282,3 @@ main (int argc, char **argv)
66.47 + link_info.spare_dynamic_tags = 5;
66.48 ++ link_info.warn_shared_textrel = TRUE;
66.49 + link_info.sharable_sections = FALSE;
66.50 +--- ld/testsuite/lib/ld-lib.exp
66.51 ++++ ld/testsuite/lib/ld-lib.exp
66.52 +@@ -181,6 +181,10 @@ proc default_ld_simple_link { ld target
66.53 + # symbol, since the default linker script might use ENTRY.
66.54 + regsub -all "(^|\n)(\[^\n\]*: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output
66.55 +
66.56 ++ # Gentoo tweak:
66.57 ++ # We want to ignore TEXTREL warnings since we force enable them by default
66.58 ++ regsub -all "^lt-ld-new: warning: creating a DT_TEXTREL in object\." $exec_output "\\1" exec_output
66.59 ++
66.60 + if [string match "" $exec_output] then {
66.61 + return 1
66.62 + } else {
67.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
67.2 +++ b/patches/binutils/2.20/180-only-use-new-ld-dtags.patch.disabled Thu Oct 29 00:10:06 2009 +0100
67.3 @@ -0,0 +1,25 @@
67.4 +Don't generate RPATH if we're going to be generating RUNPATH.
67.5 +
67.6 +need to ponder what ramifications this has before enabling it
67.7 +
67.8 +--- binutils/bfd/elflink.c
67.9 ++++ binutils/bfd/elflink.c
67.10 +@@ -5382,11 +5382,15 @@
67.11 +
67.12 + indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath,
67.13 + TRUE);
67.14 +- if (indx == (bfd_size_type) -1
67.15 +- || !_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx))
67.16 ++ if (indx == (bfd_size_type) -1)
67.17 + return FALSE;
67.18 +
67.19 +- if (info->new_dtags)
67.20 ++ if (!info->new_dtags)
67.21 ++ {
67.22 ++ if (!_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx))
67.23 ++ return FALSE;
67.24 ++ }
67.25 ++ else
67.26 + {
67.27 + _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx);
67.28 + if (!_bfd_elf_add_dynamic_entry (info, DT_RUNPATH, indx))
68.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
68.2 +++ b/patches/binutils/2.20/190-use-new-ld-dtags.patch Thu Oct 29 00:10:06 2009 +0100
68.3 @@ -0,0 +1,10 @@
68.4 +--- binutils/ld/ldmain.c
68.5 ++++ binutils/ld/ldmain.c
68.6 +@@ -296,6 +296,7 @@ main (int argc, char **argv)
68.7 +
68.8 + link_info.allow_undefined_version = TRUE;
68.9 + link_info.keep_memory = TRUE;
68.10 ++ link_info.new_dtags = TRUE;
68.11 + link_info.combreloc = TRUE;
68.12 + link_info.strip_discarded = TRUE;
68.13 + link_info.callbacks = &link_callbacks;
69.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
69.2 +++ b/patches/binutils/2.20/200-document-new-dtags-behaviour.patch Thu Oct 29 00:10:06 2009 +0100
69.3 @@ -0,0 +1,16 @@
69.4 +Index: binutils-2.19.51.0.5/ld/ld.texinfo
69.5 +===================================================================
69.6 +--- binutils-2.19.51.0.5.orig/ld/ld.texinfo
69.7 ++++ binutils-2.19.51.0.5/ld/ld.texinfo
69.8 +@@ -2036,8 +2036,9 @@ This linker can create the new dynamic t
69.9 + systems may not understand them. If you specify
69.10 + @option{--enable-new-dtags}, the dynamic tags will be created as needed.
69.11 + If you specify @option{--disable-new-dtags}, no new dynamic tags will be
69.12 +-created. By default, the new dynamic tags are not created. Note that
69.13 +-those options are only available for ELF systems.
69.14 ++created. On Gentoo, by default, the new dynamic tags are created (this
69.15 ++differs from upstream behaviour). Note that those options are only
69.16 ++available for ELF systems.
69.17 +
69.18 + @kindex --hash-size=@var{number}
69.19 + @item --hash-size=@var{number}
70.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
70.2 +++ b/patches/binutils/2.20/210-generate-gnu-hash.patch Thu Oct 29 00:10:06 2009 +0100
70.3 @@ -0,0 +1,8 @@
70.4 +--- binutils/ld/ldmain.c
70.5 ++++ binutils/ld/ldmain.c
70.6 +@@ -273,2 +273,5 @@ main (int argc, char **argv)
70.7 + link_info.emit_hash = TRUE;
70.8 ++#ifndef __mips__
70.9 ++ link_info.emit_gnu_hash = TRUE;
70.10 ++#endif
70.11 + link_info.callbacks = &link_callbacks;
71.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
71.2 +++ b/patches/binutils/2.20/220-use-relro.patch Thu Oct 29 00:10:06 2009 +0100
71.3 @@ -0,0 +1,6 @@
71.4 +--- binutils/ld/ldmain.c
71.5 ++++ binutils/ld/ldmain.c
71.6 +@@ -293,2 +293,3 @@ main (int argc, char **argv)
71.7 + link_info.combreloc = TRUE;
71.8 ++ link_info.relro = TRUE;
71.9 + link_info.strip_discarded = TRUE;
72.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
72.2 +++ b/patches/binutils/2.20/230-libiberty-pic.patch Thu Oct 29 00:10:06 2009 +0100
72.3 @@ -0,0 +1,10 @@
72.4 +--- libiberty/Makefile.in.mps 2004-05-13 15:53:17.000000000 +0200
72.5 ++++ libiberty/Makefile.in 2004-05-13 15:52:53.000000000 +0200
72.6 +@@ -224,6 +224,7 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA
72.7 + $(AR) $(AR_FLAGS) $(TARGETLIB) \
72.8 + $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
72.9 + $(RANLIB) $(TARGETLIB); \
72.10 ++ cp $(TARGETLIB) ../ ; \
72.11 + cd ..; \
72.12 + else true; fi
72.13 +
73.1 --- a/patches/gcc/2.95.3/100-arm-linux.patch Wed Oct 28 12:03:38 2009 +0100
73.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
73.3 @@ -1,647 +0,0 @@
73.4 ---------- snip -------
73.5 -Downloaded from ftp://ftp.linux.org.uk/pub/armlinux/toolchain/src-2.95.3/gcc-2.95.3.diff.bz2
73.6 -Not sure what it fixes, but this appears to be The Patch used with gcc-2.95.3 on arm.
73.7 ---------- snip -------
73.8 -
73.9 -diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.c gcc-2.95.3/gcc/config/arm/arm.c
73.10 ---- gcc-2.95.3-orig/gcc/config/arm/arm.c Thu Jan 25 15:03:24 2001
73.11 -+++ gcc-2.95.3/gcc/config/arm/arm.c Fri Jul 20 19:39:11 2001
73.12 -@@ -1529,27 +1529,34 @@
73.13 - return gen_rtx_PLUS (Pmode, base, offset);
73.14 - }
73.15 - else if (GET_CODE (orig) == LABEL_REF)
73.16 -- current_function_uses_pic_offset_table = 1;
73.17 --
73.18 -- return orig;
73.19 --}
73.20 -+ {
73.21 -+ current_function_uses_pic_offset_table = 1;
73.22 -
73.23 --static rtx pic_rtx;
73.24 -+ if (NEED_PLT_GOT)
73.25 -+ {
73.26 -+ rtx pic_ref, address = gen_reg_rtx (Pmode);
73.27 -+
73.28 -+ emit_insn (gen_pic_load_addr (address, orig));
73.29 -+ pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
73.30 -+ address);
73.31 -+ emit_move_insn (address, pic_ref);
73.32 -+ return address;
73.33 -+ }
73.34 -+ }
73.35 -
73.36 --int
73.37 --is_pic(x)
73.38 -- rtx x;
73.39 --{
73.40 -- if (x == pic_rtx)
73.41 -- return 1;
73.42 -- return 0;
73.43 -+ return orig;
73.44 - }
73.45 -
73.46 -+/* Generate code to load the PIC register. PROLOGUE is true if
73.47 -+ called from arm_expand_prologue (in which case we want the
73.48 -+ generated insns at the start of the function); false if called
73.49 -+ by an exception receiver that needs the PIC register reloaded
73.50 -+ (in which case the insns are just dumped at the current location). */
73.51 - void
73.52 --arm_finalize_pic ()
73.53 -+arm_finalize_pic (int prologue)
73.54 - {
73.55 - #ifndef AOF_ASSEMBLER
73.56 -- rtx l1, pic_tmp, pic_tmp2, seq;
73.57 -+ rtx l1, pic_tmp, pic_tmp2, seq, pic_rtx;
73.58 - rtx global_offset_table;
73.59 -
73.60 - if (current_function_uses_pic_offset_table == 0)
73.61 -@@ -1578,7 +1585,10 @@
73.62 -
73.63 - seq = gen_sequence ();
73.64 - end_sequence ();
73.65 -- emit_insn_after (seq, get_insns ());
73.66 -+ if (prologue)
73.67 -+ emit_insn_after (seq, get_insns ());
73.68 -+ else
73.69 -+ emit_insn (seq);
73.70 -
73.71 - /* Need to emit this whether or not we obey regdecls,
73.72 - since setjmp/longjmp can cause life info to screw up. */
73.73 -@@ -5327,7 +5337,13 @@
73.74 - if (frame_pointer_needed)
73.75 - live_regs += 4;
73.76 -
73.77 -- if (live_regs)
73.78 -+ if (live_regs == 1 && regs_ever_live[LR_REGNUM]
73.79 -+ && ! lr_save_eliminated && ! really_return)
73.80 -+ {
73.81 -+ output_asm_insn (reverse ? "ldr%?%D0\t%|lr, [%|sp}, #4"
73.82 -+ : "ldr%?%d0\t%|lr, [%|sp], #4", &operand);
73.83 -+ }
73.84 -+ else if (live_regs)
73.85 - {
73.86 - if (lr_save_eliminated || ! regs_ever_live[14])
73.87 - live_regs++;
73.88 -@@ -5446,7 +5462,7 @@
73.89 - rtx x;
73.90 -
73.91 - length = strlen (name);
73.92 -- alignlength = (length + 1) + 3 & ~3;
73.93 -+ alignlength = ((length + 1) + 3) & ~3;
73.94 -
73.95 - ASM_OUTPUT_ASCII (stream, name, length + 1);
73.96 - ASM_OUTPUT_ALIGN (stream, 2);
73.97 -@@ -5838,6 +5854,9 @@
73.98 - int store_arg_regs = 0;
73.99 - int volatile_func = (optimize > 0
73.100 - && TREE_THIS_VOLATILE (current_function_decl));
73.101 -+ rtx ip_rtx;
73.102 -+ int fp_offset = 0;
73.103 -+ rtx insn;
73.104 -
73.105 - /* Naked functions don't have prologues. */
73.106 - if (arm_naked_function_p (current_function_decl))
73.107 -@@ -5859,11 +5878,59 @@
73.108 - live_regs_mask |= 0x4000;
73.109 - }
73.110 -
73.111 -+ ip_rtx = gen_rtx_REG (SImode, IP_REGNUM);
73.112 -+
73.113 - if (frame_pointer_needed)
73.114 - {
73.115 -+ if (current_function_needs_context)
73.116 -+ {
73.117 -+ /* The Static chain register is the same as the IP register
73.118 -+ used as a scratch register during stack frame creation.
73.119 -+ To get around this need to find somewhere to store IP
73.120 -+ whilst the frame is being created. We try the following
73.121 -+ places in order:
73.122 -+
73.123 -+ 1. An unused argument register.
73.124 -+ 2. A slot on the stack above the frame. (This only
73.125 -+ works if the function is not a varargs function).
73.126 -+
73.127 -+ If neither of these places is available, we abort (for now). */
73.128 -+ if (regs_ever_live[3] == 0)
73.129 -+ {
73.130 -+ insn = gen_rtx_REG (SImode, 3);
73.131 -+ insn = gen_rtx_SET (SImode, insn, ip_rtx);
73.132 -+ insn = emit_insn (insn);
73.133 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.134 -+ }
73.135 -+ else if (current_function_pretend_args_size == 0)
73.136 -+ {
73.137 -+ insn = gen_rtx_PRE_DEC (SImode, stack_pointer_rtx);
73.138 -+ insn = gen_rtx_MEM (SImode, insn);
73.139 -+ insn = gen_rtx_SET (VOIDmode, insn, ip_rtx);
73.140 -+ insn = emit_insn (insn);
73.141 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.142 -+ fp_offset = 4;
73.143 -+ }
73.144 -+ else
73.145 -+ /* FIXME - the way to handle this situation is to allow
73.146 -+ the pretend args to be dumped onto the stack, then
73.147 -+ reuse r3 to save IP. This would involve moving the
73.148 -+ copying os SP into IP until after the pretend args
73.149 -+ have been dumped, but this is not too hard. */
73.150 -+ error ("Unable to find a temporary location for static chanin register");
73.151 -+ }
73.152 -+
73.153 - live_regs_mask |= 0xD800;
73.154 -- emit_insn (gen_movsi (gen_rtx_REG (SImode, 12),
73.155 -- stack_pointer_rtx));
73.156 -+ if (fp_offset)
73.157 -+ {
73.158 -+ insn = gen_rtx_PLUS (SImode, stack_pointer_rtx, GEN_INT (fp_offset));
73.159 -+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
73.160 -+ }
73.161 -+ else
73.162 -+ insn = gen_movsi (ip_rtx, stack_pointer_rtx);
73.163 -+
73.164 -+ insn = emit_insn (insn);
73.165 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.166 - }
73.167 -
73.168 - if (current_function_pretend_args_size)
73.169 -@@ -5927,9 +5994,31 @@
73.170 - }
73.171 -
73.172 - if (frame_pointer_needed)
73.173 -- emit_insn (gen_addsi3 (hard_frame_pointer_rtx, gen_rtx_REG (SImode, 12),
73.174 -- (GEN_INT
73.175 -- (-(4 + current_function_pretend_args_size)))));
73.176 -+ {
73.177 -+ insn = GEN_INT (-(4 + current_function_pretend_args_size + fp_offset));
73.178 -+ insn = emit_insn (gen_addsi3 (hard_frame_pointer_rtx, ip_rtx, insn));
73.179 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.180 -+
73.181 -+ if (current_function_needs_context)
73.182 -+ {
73.183 -+ /* Recover the static chain register. */
73.184 -+ if (regs_ever_live [3] == 0)
73.185 -+ {
73.186 -+ insn = gen_rtx_REG (SImode, 3);
73.187 -+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
73.188 -+ insn = emit_insn (insn);
73.189 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.190 -+ }
73.191 -+ else /* if (current_function_pretend_args_size == 0) */
73.192 -+ {
73.193 -+ insn = gen_rtx_PLUS (SImode, hard_frame_pointer_rtx, GEN_INT (4));
73.194 -+ insn = gen_rtx_MEM (SImode, insn);
73.195 -+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
73.196 -+ insn = emit_insn (insn);
73.197 -+ RTX_FRAME_RELATED_P (insn) = 1;
73.198 -+ }
73.199 -+ }
73.200 -+ }
73.201 -
73.202 - if (amount != const0_rtx)
73.203 - {
73.204 -diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.h gcc-2.95.3/gcc/config/arm/arm.h
73.205 ---- gcc-2.95.3-orig/gcc/config/arm/arm.h Thu Jan 25 15:03:26 2001
73.206 -+++ gcc-2.95.3/gcc/config/arm/arm.h Fri Jul 20 19:39:11 2001
73.207 -@@ -601,14 +601,20 @@
73.208 - (TREE_CODE (EXP) == STRING_CST \
73.209 - && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
73.210 -
73.211 -+#ifndef STRUCTURE_SIZE_BOUNDARY
73.212 - /* Every structures size must be a multiple of 32 bits. */
73.213 - /* This is for compatibility with ARMCC. ARM SDT Reference Manual
73.214 - (ARM DUI 0020D) page 2-20 says "Structures are aligned on word
73.215 - boundaries". */
73.216 --#ifndef STRUCTURE_SIZE_BOUNDARY
73.217 --#define STRUCTURE_SIZE_BOUNDARY 32
73.218 -+/* Setting this to 32 produces more efficient code, but the value set in previous
73.219 -+ versions of this toolchain was 8, which produces more compact structures. The
73.220 -+ command line option -mstructure_size_boundary=<n> can be used to change this
73.221 -+ value. */
73.222 -+#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
73.223 - #endif
73.224 -
73.225 -+extern int arm_structure_size_boundary;
73.226 -+
73.227 - /* Used when parsing command line option -mstructure_size_boundary. */
73.228 - extern const char * structure_size_string;
73.229 -
73.230 -@@ -768,6 +774,9 @@
73.231 - /* Specify the registers used for certain standard purposes.
73.232 - The values of these macros are register numbers. */
73.233 -
73.234 -+/* Register which holds return address from a subroutine call. */
73.235 -+#define LR_REGNUM 14
73.236 -+
73.237 - /* Define this if the program counter is overloaded on a register. */
73.238 - #define PC_REGNUM 15
73.239 -
73.240 -@@ -777,6 +786,9 @@
73.241 - /* Base register for access to local variables of the function. */
73.242 - #define FRAME_POINTER_REGNUM 25
73.243 -
73.244 -+/* Scratch register - used in all kinds of places, eg trampolines. */
73.245 -+#define IP_REGNUM 12
73.246 -+
73.247 - /* Define this to be where the real frame pointer is if it is not possible to
73.248 - work out the offset between the frame pointer and the automatic variables
73.249 - until after register allocation has taken place. FRAME_POINTER_REGNUM
73.250 -@@ -798,7 +810,7 @@
73.251 - /* The native (Norcroft) Pascal compiler for the ARM passes the static chain
73.252 - as an invisible last argument (possible since varargs don't exist in
73.253 - Pascal), so the following is not true. */
73.254 --#define STATIC_CHAIN_REGNUM 8
73.255 -+#define STATIC_CHAIN_REGNUM 12
73.256 -
73.257 - /* Register in which address to store a structure value
73.258 - is passed to a function. */
73.259 -@@ -1248,7 +1260,12 @@
73.260 - { \
73.261 - int volatile_func = arm_volatile_func (); \
73.262 - if ((FROM) == ARG_POINTER_REGNUM && (TO) == HARD_FRAME_POINTER_REGNUM)\
73.263 -- (OFFSET) = 0; \
73.264 -+ { \
73.265 -+ if (! current_function_needs_context || ! frame_pointer_needed) \
73.266 -+ (OFFSET) = 0; \
73.267 -+ else \
73.268 -+ (OFFSET) = 4; \
73.269 -+ } \
73.270 - else if ((FROM) == FRAME_POINTER_REGNUM \
73.271 - && (TO) == STACK_POINTER_REGNUM) \
73.272 - (OFFSET) = (current_function_outgoing_args_size \
73.273 -@@ -1379,8 +1396,10 @@
73.274 -
73.275 - On the ARM, allow any integer (invalid ones are removed later by insn
73.276 - patterns), nice doubles and symbol_refs which refer to the function's
73.277 -- constant pool XXX. */
73.278 --#define LEGITIMATE_CONSTANT_P(X) (! label_mentioned_p (X))
73.279 -+ constant pool XXX.
73.280 -+
73.281 -+ When generating PIC code, allow anything. */
73.282 -+#define LEGITIMATE_CONSTANT_P(X) (flag_pic || ! label_mentioned_p (X))
73.283 -
73.284 - /* Symbols in the text segment can be accessed without indirecting via the
73.285 - constant pool; it may take an extra binary operation, but this is still
73.286 -@@ -1496,9 +1515,8 @@
73.287 - && INTVAL (op) <= 31) \
73.288 - goto LABEL; \
73.289 - } \
73.290 -- /* NASTY: Since this limits the addressing of unsigned byte loads */ \
73.291 - range = ((MODE) == HImode || (MODE) == QImode) \
73.292 -- ? (arm_arch4 ? 256 : 4095) : 4096; \
73.293 -+ ? (((MODE) == HImode && arm_arch4) ? 256 : 4095) : 4096; \
73.294 - if (code == CONST_INT && INTVAL (INDEX) < range \
73.295 - && INTVAL (INDEX) > -range) \
73.296 - goto LABEL; \
73.297 -@@ -1812,14 +1830,15 @@
73.298 - data addresses in memory. */
73.299 - #define PIC_OFFSET_TABLE_REGNUM arm_pic_register
73.300 -
73.301 --#define FINALIZE_PIC arm_finalize_pic ()
73.302 -+#define FINALIZE_PIC arm_finalize_pic (1)
73.303 -
73.304 --/* We can't directly access anything that contains a symbol,
73.305 -+/* We can't directly access anything that contains a symbol or label,
73.306 - nor can we indirect via the constant pool. */
73.307 - #define LEGITIMATE_PIC_OPERAND_P(X) \
73.308 -- (! symbol_mentioned_p (X) \
73.309 -+ (! symbol_mentioned_p (X) && ! label_mentioned_p (X) \
73.310 - && (! CONSTANT_POOL_ADDRESS_P (X) \
73.311 -- || ! symbol_mentioned_p (get_pool_constant (X))))
73.312 -+ || (! symbol_mentioned_p (get_pool_constant (X))) \
73.313 -+ && (! label_mentioned_p (get_pool_constant (X)))))
73.314 -
73.315 - /* We need to know when we are making a constant pool; this determines
73.316 - whether data needs to be in the GOT or can be referenced via a GOT
73.317 -@@ -2046,17 +2065,9 @@
73.318 - else output_addr_const(STREAM, X); \
73.319 - }
73.320 -
73.321 --/* Handles PIC addr specially */
73.322 - #define OUTPUT_INT_ADDR_CONST(STREAM,X) \
73.323 - { \
73.324 -- if (flag_pic && GET_CODE(X) == CONST && is_pic(X)) \
73.325 -- { \
73.326 -- output_addr_const(STREAM, XEXP (XEXP (XEXP (X, 0), 0), 0)); \
73.327 -- fputs(" - (", STREAM); \
73.328 -- output_addr_const(STREAM, XEXP (XEXP (XEXP (X, 0), 1), 0)); \
73.329 -- fputs(")", STREAM); \
73.330 -- } \
73.331 -- else output_addr_const(STREAM, X); \
73.332 -+ output_addr_const(STREAM, X); \
73.333 - \
73.334 - /* Mark symbols as position independent. We only do this in the \
73.335 - .text segment, not in the .data segment. */ \
73.336 -@@ -2170,8 +2181,7 @@
73.337 - int arm_return_in_memory PROTO ((Tree));
73.338 - int legitimate_pic_operand_p PROTO ((Rtx));
73.339 - Rtx legitimize_pic_address PROTO ((Rtx, Mmode, Rtx));
73.340 --int is_pic PROTO ((Rtx));
73.341 --void arm_finalize_pic PROTO ((void));
73.342 -+void arm_finalize_pic PROTO ((int));
73.343 - int arm_rtx_costs RTX_CODE_PROTO ((Rtx, Rcode));
73.344 - int arm_adjust_cost PROTO ((Rtx, Rtx, Rtx, int));
73.345 - int const_double_rtx_ok_for_fpu PROTO ((Rtx));
73.346 -diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.md gcc-2.95.3/gcc/config/arm/arm.md
73.347 ---- gcc-2.95.3-orig/gcc/config/arm/arm.md Thu Jan 25 15:03:27 2001
73.348 -+++ gcc-2.95.3/gcc/config/arm/arm.md Fri Jul 20 19:39:11 2001
73.349 -@@ -2629,7 +2629,8 @@
73.350 - : preserve_subexpressions_p ()));
73.351 - DONE;
73.352 - }
73.353 -- if (CONSTANT_P (operands[1]) && flag_pic)
73.354 -+ if ((CONSTANT_P (operands[1]) || symbol_mentioned_p (operands[1])
73.355 -+ || label_mentioned_p (operands[1])) && flag_pic)
73.356 - operands[1] = legitimize_pic_address (operands[1], SImode,
73.357 - ((reload_in_progress
73.358 - || reload_completed)
73.359 -@@ -2721,6 +2722,15 @@
73.360 - return \"add%?\\t%0, %|pc, %0\";
73.361 - ")
73.362 -
73.363 -+(define_expand "builtin_setjmp_receiver"
73.364 -+ [(label_ref (match_operand 0 "" ""))]
73.365 -+ "flag_pic"
73.366 -+ "
73.367 -+{
73.368 -+ arm_finalize_pic (0);
73.369 -+ DONE;
73.370 -+}")
73.371 -+
73.372 - ;; If copying one reg to another we can set the condition codes according to
73.373 - ;; its value. Such a move is common after a return from subroutine and the
73.374 - ;; result is being tested against zero.
73.375 -@@ -6184,15 +6194,20 @@
73.376 - abort ();
73.377 - return \"\";
73.378 - }
73.379 -- strcpy (pattern, \"stmfd\\t%m0!, {%1\");
73.380 -- for (i = 1; i < XVECLEN (operands[2], 0); i++)
73.381 -+ if (XVECLEN (operands[2], 0) > 1)
73.382 - {
73.383 -- strcat (pattern, \", %|\");
73.384 -- strcat (pattern, reg_names[REGNO (XEXP (XVECEXP (operands[2], 0, i),
73.385 -+ strcpy (pattern, \"stmfd\\t%m0!, {%1\");
73.386 -+ for (i = 1; i < XVECLEN (operands[2], 0); i++)
73.387 -+ {
73.388 -+ strcat (pattern, \", %|\");
73.389 -+ strcat (pattern, reg_names[REGNO (XEXP (XVECEXP (operands[2], 0, i),
73.390 - 0))]);
73.391 -+ }
73.392 -+ strcat (pattern, \"}\");
73.393 -+ output_asm_insn (pattern, operands);
73.394 - }
73.395 -- strcat (pattern, \"}\");
73.396 -- output_asm_insn (pattern, operands);
73.397 -+ else
73.398 -+ output_asm_insn (\"str\\t%1, [%m0, #-4]!\", operands);
73.399 - return \"\";
73.400 - }"
73.401 - [(set_attr "type" "store4")])
73.402 -diff -urN gcc-2.95.3-orig/gcc/config/arm/elf.h gcc-2.95.3/gcc/config/arm/elf.h
73.403 ---- gcc-2.95.3-orig/gcc/config/arm/elf.h Mon May 31 10:21:53 1999
73.404 -+++ gcc-2.95.3/gcc/config/arm/elf.h Fri Jul 20 19:39:11 2001
73.405 -@@ -167,15 +167,6 @@
73.406 - #define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
73.407 - #endif
73.408 -
73.409 --/* Setting this to 32 produces more efficient code, but the value set in previous
73.410 -- versions of this toolchain was 8, which produces more compact structures. The
73.411 -- command line option -mstructure_size_boundary=<n> can be used to change this
73.412 -- value. */
73.413 --#undef STRUCTURE_SIZE_BOUNDARY
73.414 --#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
73.415 --
73.416 --extern int arm_structure_size_boundary;
73.417 --
73.418 - /* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
73.419 - is a valid machine specific attribute for DECL.
73.420 - The attributes in ATTRIBUTES have previously been assigned to DECL. */
73.421 -diff -urN gcc-2.95.3-orig/gcc/config/arm/linux-gas.h gcc-2.95.3/gcc/config/arm/linux-gas.h
73.422 ---- gcc-2.95.3-orig/gcc/config/arm/linux-gas.h Mon Feb 22 17:47:57 1999
73.423 -+++ gcc-2.95.3/gcc/config/arm/linux-gas.h Fri Jul 20 19:39:11 2001
73.424 -@@ -1,6 +1,6 @@
73.425 - /* Definitions of target machine for GNU compiler.
73.426 - ARM Linux-based GNU systems version.
73.427 -- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
73.428 -+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
73.429 - Contributed by Russell King <rmk92@ecs.soton.ac.uk>.
73.430 -
73.431 - This file is part of GNU CC.
73.432 -@@ -79,5 +79,7 @@
73.433 - register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
73.434 - register unsigned long _end __asm ("a2") = (unsigned long) (END); \
73.435 - register unsigned long _flg __asm ("a3") = 0; \
73.436 -- __asm __volatile ("swi 0x9f0002"); \
73.437 -+ __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \
73.438 -+ : "=r" (_beg) \
73.439 -+ : "0" (_beg), "r" (_end), "r" (_flg)); \
73.440 - }
73.441 -diff -urN gcc-2.95.3-orig/gcc/config/arm/t-linux gcc-2.95.3/gcc/config/arm/t-linux
73.442 ---- gcc-2.95.3-orig/gcc/config/arm/t-linux Fri Mar 26 16:30:20 1999
73.443 -+++ gcc-2.95.3/gcc/config/arm/t-linux Fri Jul 20 20:46:19 2001
73.444 -@@ -1,6 +1,6 @@
73.445 - # Just for these, we omit the frame pointer since it makes such a big
73.446 - # difference. It is then pointless adding debugging.
73.447 --TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
73.448 -+TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
73.449 - LIBGCC2_DEBUG_CFLAGS = -g0
73.450 -
73.451 - # Don't build enquire
73.452 -diff -urN gcc-2.95.3-orig/gcc/final.c gcc-2.95.3/gcc/final.c
73.453 ---- gcc-2.95.3-orig/gcc/final.c Mon Mar 12 13:07:59 2001
73.454 -+++ gcc-2.95.3/gcc/final.c Fri Jul 20 19:39:11 2001
73.455 -@@ -3652,8 +3652,9 @@
73.456 -
73.457 - output_addr_const (file, XEXP (x, 0));
73.458 - fprintf (file, "-");
73.459 -- if (GET_CODE (XEXP (x, 1)) == CONST_INT
73.460 -- && INTVAL (XEXP (x, 1)) < 0)
73.461 -+ if ((GET_CODE (XEXP (x, 1)) == CONST_INT
73.462 -+ && INTVAL (XEXP (x, 1)) < 0)
73.463 -+ || GET_CODE (XEXP (x, 1)) != CONST_INT)
73.464 - {
73.465 - fprintf (file, ASM_OPEN_PAREN);
73.466 - output_addr_const (file, XEXP (x, 1));
73.467 -diff -urN gcc-2.95.3-orig/gcc/function.c gcc-2.95.3/gcc/function.c
73.468 ---- gcc-2.95.3-orig/gcc/function.c Thu Jan 25 15:03:15 2001
73.469 -+++ gcc-2.95.3/gcc/function.c Fri Jul 20 19:39:10 2001
73.470 -@@ -3053,6 +3053,105 @@
73.471 - extracted by usage MEM with narrower mode. */
73.472 - static rtx purge_addressof_replacements;
73.473 -
73.474 -+/* Return 1 if X and Y are identical-looking rtx's.
73.475 -+ This is the Lisp function EQUAL for rtx arguments. */
73.476 -+
73.477 -+int
73.478 -+rtx_equal_for_addressof_p (x, y)
73.479 -+ rtx x, y;
73.480 -+{
73.481 -+ register int i;
73.482 -+ register int j;
73.483 -+ register enum rtx_code code;
73.484 -+ register char *fmt;
73.485 -+
73.486 -+ if (x == y)
73.487 -+ return 1;
73.488 -+ if (x == 0 || y == 0)
73.489 -+ return 0;
73.490 -+
73.491 -+ code = GET_CODE (x);
73.492 -+ /* Rtx's of different codes cannot be equal. */
73.493 -+ if (code != GET_CODE (y))
73.494 -+ return 0;
73.495 -+
73.496 -+ /* (MULT:SI x y) and (MULT:HI x y) are NOT equivalent.
73.497 -+ (REG:SI x) and (REG:HI x) are NOT equivalent.
73.498 -+ But (MEM:SI x) and (MEM:HI x) are equivalent for our purposes. */
73.499 -+
73.500 -+ if (code != MEM && (GET_MODE (x) != GET_MODE (y)))
73.501 -+ return 0;
73.502 -+
73.503 -+ /* REG, LABEL_REF, and SYMBOL_REF can be compared nonrecursively. */
73.504 -+
73.505 -+ if (code == REG)
73.506 -+ return REGNO (x) == REGNO (y);
73.507 -+ else if (code == LABEL_REF)
73.508 -+ return XEXP (x, 0) == XEXP (y, 0);
73.509 -+ else if (code == SYMBOL_REF)
73.510 -+ return XSTR (x, 0) == XSTR (y, 0);
73.511 -+ else if (code == SCRATCH || code == CONST_DOUBLE)
73.512 -+ return 0;
73.513 -+
73.514 -+ /* Compare the elements. If any pair of corresponding elements
73.515 -+ fail to match, return 0 for the whole things. */
73.516 -+
73.517 -+ fmt = GET_RTX_FORMAT (code);
73.518 -+ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
73.519 -+ {
73.520 -+ switch (fmt[i])
73.521 -+ {
73.522 -+ case 'w':
73.523 -+ if (XWINT (x, i) != XWINT (y, i))
73.524 -+ return 0;
73.525 -+ break;
73.526 -+
73.527 -+ case 'n':
73.528 -+ case 'i':
73.529 -+ if (XINT (x, i) != XINT (y, i))
73.530 -+ return 0;
73.531 -+ break;
73.532 -+
73.533 -+ case 'V':
73.534 -+ case 'E':
73.535 -+ /* Two vectors must have the same length. */
73.536 -+ if (XVECLEN (x, i) != XVECLEN (y, i))
73.537 -+ return 0;
73.538 -+
73.539 -+ /* And the corresponding elements must match. */
73.540 -+ for (j = 0; j < XVECLEN (x, i); j++)
73.541 -+ if (rtx_equal_p (XVECEXP (x, i, j), XVECEXP (y, i, j)) == 0)
73.542 -+ return 0;
73.543 -+ break;
73.544 -+
73.545 -+ case 'e':
73.546 -+ if (rtx_equal_p (XEXP (x, i), XEXP (y, i)) == 0)
73.547 -+ return 0;
73.548 -+ break;
73.549 -+
73.550 -+ case 'S':
73.551 -+ case 's':
73.552 -+ if (strcmp (XSTR (x, i), XSTR (y, i)))
73.553 -+ return 0;
73.554 -+ break;
73.555 -+
73.556 -+ case 'u':
73.557 -+ /* These are just backpointers, so they don't matter. */
73.558 -+ break;
73.559 -+
73.560 -+ case '0':
73.561 -+ break;
73.562 -+
73.563 -+ /* It is believed that rtx's at this level will never
73.564 -+ contain anything but integers and other rtx's,
73.565 -+ except for within LABEL_REFs and SYMBOL_REFs. */
73.566 -+ default:
73.567 -+ abort ();
73.568 -+ }
73.569 -+ }
73.570 -+ return 1;
73.571 -+}
73.572 -+
73.573 - /* Helper function for purge_addressof. See if the rtx expression at *LOC
73.574 - in INSN needs to be changed. If FORCE, always put any ADDRESSOFs into
73.575 - the stack. */
73.576 -@@ -3133,7 +3232,7 @@
73.577 - for (tem = purge_bitfield_addressof_replacements;
73.578 - tem != NULL_RTX;
73.579 - tem = XEXP (XEXP (tem, 1), 1))
73.580 -- if (rtx_equal_p (x, XEXP (tem, 0)))
73.581 -+ if (rtx_equal_for_addressof_p (x, XEXP (tem, 0)))
73.582 - {
73.583 - *loc = XEXP (XEXP (tem, 1), 0);
73.584 - return;
73.585 -@@ -3143,7 +3242,7 @@
73.586 - for (tem = purge_addressof_replacements;
73.587 - tem != NULL_RTX;
73.588 - tem = XEXP (XEXP (tem, 1), 1))
73.589 -- if (rtx_equal_p (XEXP (x, 0), XEXP (tem, 0)))
73.590 -+ if (rtx_equal_for_addressof_p (XEXP (x, 0), XEXP (tem, 0)))
73.591 - {
73.592 - rtx z = XEXP (XEXP (tem, 1), 0);
73.593 -
73.594 -diff -urN gcc-2.95.3-orig/gcc/jump.c gcc-2.95.3/gcc/jump.c
73.595 ---- gcc-2.95.3-orig/gcc/jump.c Thu Oct 21 08:24:03 1999
73.596 -+++ gcc-2.95.3/gcc/jump.c Fri Jul 20 19:39:10 2001
73.597 -@@ -115,7 +115,7 @@
73.598 - static rtx delete_unreferenced_labels PROTO((rtx));
73.599 - static void delete_noop_moves PROTO((rtx));
73.600 - static int calculate_can_reach_end PROTO((rtx, int, int));
73.601 --static int duplicate_loop_exit_test PROTO((rtx));
73.602 -+static int duplicate_loop_exit_test PROTO((rtx, int));
73.603 - static void find_cross_jump PROTO((rtx, rtx, int, rtx *, rtx *));
73.604 - static void do_cross_jump PROTO((rtx, rtx, rtx));
73.605 - static int jump_back_p PROTO((rtx, rtx));
73.606 -@@ -338,7 +338,7 @@
73.607 - && simplejump_p (temp1))
73.608 - {
73.609 - temp = PREV_INSN (insn);
73.610 -- if (duplicate_loop_exit_test (insn))
73.611 -+ if (duplicate_loop_exit_test (insn, after_regscan))
73.612 - {
73.613 - changed = 1;
73.614 - next = NEXT_INSN (temp);
73.615 -@@ -2548,8 +2548,9 @@
73.616 - values of regno_first_uid and regno_last_uid. */
73.617 -
73.618 - static int
73.619 --duplicate_loop_exit_test (loop_start)
73.620 -+duplicate_loop_exit_test (loop_start, after_regscan)
73.621 - rtx loop_start;
73.622 -+ int after_regscan;
73.623 - {
73.624 - rtx insn, set, reg, p, link;
73.625 - rtx copy = 0, first_copy = 0;
73.626 -@@ -2662,6 +2663,9 @@
73.627 - reg_map[REGNO (reg)] = gen_reg_rtx (GET_MODE (reg));
73.628 - }
73.629 - }
73.630 -+
73.631 -+ if (after_regscan)
73.632 -+ reg_scan_update (exitcode, lastexit, max_reg);
73.633 -
73.634 - /* Now copy each insn. */
73.635 - for (insn = exitcode; insn != lastexit; insn = NEXT_INSN (insn))
73.636 -diff -urN gcc-2.95.3-orig/gcc/varasm.c gcc-2.95.3/gcc/varasm.c
73.637 ---- gcc-2.95.3-orig/gcc/varasm.c Mon Feb 19 15:02:02 2001
73.638 -+++ gcc-2.95.3/gcc/varasm.c Fri Jul 20 19:39:11 2001
73.639 -@@ -3286,7 +3286,10 @@
73.640 - value->un.addr.offset = - INTVAL (XEXP (x, 1));
73.641 - }
73.642 - else
73.643 -- abort ();
73.644 -+ {
73.645 -+ value->un.addr.base = x;
73.646 -+ value->un.addr.offset = 0;
73.647 -+ }
73.648 - break;
73.649 -
73.650 - default:
74.1 --- a/patches/gcc/2.95.3/110-backport-config.gcc-1.4.patch Wed Oct 28 12:03:38 2009 +0100
74.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
74.3 @@ -1,35 +0,0 @@
74.4 -# Taken from http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?r1=1.3&r2=1.4
74.5 -# Should fix error
74.6 -# Configuration powerpc-host_apple-darwin7.3.0 not supported
74.7 -# when configuring gcc-2.95 on Mac OS X for i686 target
74.8 -# Also create xm-darwin.h, seems to be required, else we get the error
74.9 -# In file included from .../gcc-2.95.3/gcc/gencheck.c:21:
74.10 -# hconfig.h:11:30: rs6000/xm-darwin.h: No such file or directory
74.11 -# make[1]: *** [gencheck.o] Error 1
74.12 -
74.13 -
74.14 ---- gcc-2.95.3/gcc/configure.old 2004-03-24 12:17:44.000000000 -0800
74.15 -+++ gcc-2.95.3/gcc/configure 2004-03-24 17:14:38.000000000 -0800
74.16 -@@ -5079,6 +5079,10 @@
74.17 - tmake_file=rs6000/t-beos
74.18 - xmake_file=rs6000/x-beos
74.19 - ;;
74.20 -+ powerpc-*-darwin*)
74.21 -+ xm_file="rs6000/xm-rs6000.h rs6000/xm-darwin.h"
74.22 -+ xmake_file=rs6000/x-darwin
74.23 -+ ;;
74.24 - powerpc-*-sysv* | powerpc-*-elf*)
74.25 - tm_file=rs6000/sysv4.h
74.26 - xm_file="xm-siglist.h rs6000/xm-sysv4.h"
74.27 ---- /dev/null 2003-01-30 02:24:37.000000000 -0800
74.28 -+++ gcc-3.0.4/gcc/config/rs6000/xm-darwin.h 2000-11-20 19:02:09.000000000 -0800
74.29 -@@ -0,0 +1,9 @@
74.30 -+/* Undo the USG definition in xm-rs6000.h, Darwin is a BSD flavor. */
74.31 -+
74.32 -+#undef USG
74.33 -+
74.34 -+/* Override the usual setting, since Apple's GCC has lame bugs and
74.35 -+ can't handle the initializers. Someday the bugs will be fixed and
74.36 -+ we can get rid of this silliness. */
74.37 -+
74.38 -+#define HAVE_DESIGNATED_INITIALIZERS 0
75.1 --- a/patches/gcc/2.95.3/120-backport-config.gcc-1.92.patch Wed Oct 28 12:03:38 2009 +0100
75.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
75.3 @@ -1,39 +0,0 @@
75.4 -# Taken from http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?r1=1.91&r2=1.92
75.5 -# Should fix error
75.6 -# Configuration x86_64-host_unknown-linux-gnu not supported
75.7 -# when configuring gcc-2.95 on x86_64 build for i686 target
75.8 -# It's a bit silly, since tm_file refers to files that don't exist,
75.9 -# but as long as x86_64 is just the build machine, that doesn't matter.
75.10 -
75.11 ---- gcc-2.95.3/gcc/configure.old 2004-03-24 12:17:44.000000000 -0800
75.12 -+++ gcc-2.95.3/gcc/configure 2004-03-24 12:19:30.000000000 -0800
75.13 -@@ -2929,6 +2929,9 @@
75.14 - i[34567]86-*-*)
75.15 - cpu_type=i386
75.16 - ;;
75.17 -+ x86_64-*-*)
75.18 -+ cpu_type=i386
75.19 -+ ;;
75.20 - hppa*-*-*)
75.21 - cpu_type=pa
75.22 - ;;
75.23 -@@ -3643,6 +3646,19 @@
75.24 - thread_file='posix'
75.25 - fi
75.26 - ;;
75.27 -+ x86_64-*-linux*)
75.28 -+ xmake_file=x-linux
75.29 -+ tm_file="i386/biarch64.h i386/i386.h i386/att.h linux.h i386/x86-64.h \
75.30 -+ i386/linux64.h"
75.31 -+ tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
75.32 -+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
75.33 -+ gnu_ld=yes
75.34 -+ float_format=i386
75.35 -+ if test x$enable_threads = xyes; then
75.36 -+ thread_file='posix'
75.37 -+ fi
75.38 -+ ;;
75.39 -+
75.40 - i[34567]86-*-gnu*)
75.41 - float_format=i386
75.42 - ;;
76.1 --- a/patches/gcc/2.95.3/130-config.sub.patch Wed Oct 28 12:03:38 2009 +0100
76.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
76.3 @@ -1,1257 +0,0 @@
76.4 -# Backport from gcc-3.3.3
76.5 -# Fixes errors like
76.6 -# Invalid configuration `x86_64-host_unknown-linux-gnu': machine `x86_64-host_unknown' not recognized
76.7 -# Unrecognized host system name x86_64-host_unknown-linux-gnu.
76.8 -# when configuring on chip types or operating systems like x86_64 or Darwin
76.9 -# which are newer than gcc-2.95
76.10 -
76.11 ---- gcc-2.95.3/config.sub.old 1999-08-04 01:09:26.000000000 -0700
76.12 -+++ gcc-2.95.3/config.sub 2004-03-24 11:28:24.000000000 -0800
76.13 -@@ -1,6 +1,10 @@
76.14 - #! /bin/sh
76.15 --# Configuration validation subroutine script, version 1.1.
76.16 --# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
76.17 -+# Configuration validation subroutine script.
76.18 -+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
76.19 -+# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
76.20 -+
76.21 -+timestamp='2003-01-28'
76.22 -+
76.23 - # This file is (in principle) common to ALL GNU software.
76.24 - # The presence of a machine in this file suggests that SOME GNU software
76.25 - # can handle that machine. It does not imply ALL GNU software can.
76.26 -@@ -25,6 +29,9 @@
76.27 - # configuration script generated by Autoconf, you may include it under
76.28 - # the same distribution terms that you use for the rest of that program.
76.29 -
76.30 -+# Please send patches to <config-patches@gnu.org>. Submit a context
76.31 -+# diff and a properly formatted ChangeLog entry.
76.32 -+#
76.33 - # Configuration subroutine to validate and canonicalize a configuration type.
76.34 - # Supply the specified configuration type as an argument.
76.35 - # If it is invalid, we print an error message on stderr and exit with code 1.
76.36 -@@ -45,30 +52,73 @@
76.37 - # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
76.38 - # It is wrong to echo any other type of specification.
76.39 -
76.40 --if [ x$1 = x ]
76.41 --then
76.42 -- echo Configuration name missing. 1>&2
76.43 -- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
76.44 -- echo "or $0 ALIAS" 1>&2
76.45 -- echo where ALIAS is a recognized configuration type. 1>&2
76.46 -- exit 1
76.47 --fi
76.48 -+me=`echo "$0" | sed -e 's,.*/,,'`
76.49 -
76.50 --# First pass through any local machine types.
76.51 --case $1 in
76.52 -- *local*)
76.53 -- echo $1
76.54 -- exit 0
76.55 -- ;;
76.56 -- *)
76.57 -- ;;
76.58 -+usage="\
76.59 -+Usage: $0 [OPTION] CPU-MFR-OPSYS
76.60 -+ $0 [OPTION] ALIAS
76.61 -+
76.62 -+Canonicalize a configuration name.
76.63 -+
76.64 -+Operation modes:
76.65 -+ -h, --help print this help, then exit
76.66 -+ -t, --time-stamp print date of last modification, then exit
76.67 -+ -v, --version print version number, then exit
76.68 -+
76.69 -+Report bugs and patches to <config-patches@gnu.org>."
76.70 -+
76.71 -+version="\
76.72 -+GNU config.sub ($timestamp)
76.73 -+
76.74 -+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
76.75 -+Free Software Foundation, Inc.
76.76 -+
76.77 -+This is free software; see the source for copying conditions. There is NO
76.78 -+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
76.79 -+
76.80 -+help="
76.81 -+Try \`$me --help' for more information."
76.82 -+
76.83 -+# Parse command line
76.84 -+while test $# -gt 0 ; do
76.85 -+ case $1 in
76.86 -+ --time-stamp | --time* | -t )
76.87 -+ echo "$timestamp" ; exit 0 ;;
76.88 -+ --version | -v )
76.89 -+ echo "$version" ; exit 0 ;;
76.90 -+ --help | --h* | -h )
76.91 -+ echo "$usage"; exit 0 ;;
76.92 -+ -- ) # Stop option processing
76.93 -+ shift; break ;;
76.94 -+ - ) # Use stdin as input.
76.95 -+ break ;;
76.96 -+ -* )
76.97 -+ echo "$me: invalid option $1$help"
76.98 -+ exit 1 ;;
76.99 -+
76.100 -+ *local*)
76.101 -+ # First pass through any local machine types.
76.102 -+ echo $1
76.103 -+ exit 0;;
76.104 -+
76.105 -+ * )
76.106 -+ break ;;
76.107 -+ esac
76.108 -+done
76.109 -+
76.110 -+case $# in
76.111 -+ 0) echo "$me: missing argument$help" >&2
76.112 -+ exit 1;;
76.113 -+ 1) ;;
76.114 -+ *) echo "$me: too many arguments$help" >&2
76.115 -+ exit 1;;
76.116 - esac
76.117 -
76.118 - # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
76.119 - # Here we must recognize all the valid KERNEL-OS combinations.
76.120 - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
76.121 - case $maybe_os in
76.122 -- linux-gnu*)
76.123 -+ nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
76.124 - os=-$maybe_os
76.125 - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
76.126 - ;;
76.127 -@@ -94,20 +144,28 @@
76.128 - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
76.129 - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
76.130 - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
76.131 -- -apple)
76.132 -+ -apple | -axis)
76.133 - os=
76.134 - basic_machine=$1
76.135 - ;;
76.136 -- -sim | -cisco | -oki | -wec | -winbond ) # EGCS LOCAL
76.137 -+ -sim | -cisco | -oki | -wec | -winbond)
76.138 - os=
76.139 - basic_machine=$1
76.140 - ;;
76.141 -- -scout) # EGCS LOCAL
76.142 -+ -scout)
76.143 - ;;
76.144 -- -wrs) # EGCS LOCAL
76.145 -+ -wrs)
76.146 - os=-vxworks
76.147 - basic_machine=$1
76.148 - ;;
76.149 -+ -chorusos*)
76.150 -+ os=-chorusos
76.151 -+ basic_machine=$1
76.152 -+ ;;
76.153 -+ -chorusrdb)
76.154 -+ os=-chorusrdb
76.155 -+ basic_machine=$1
76.156 -+ ;;
76.157 - -hiux*)
76.158 - os=-hiuxwe2
76.159 - ;;
76.160 -@@ -156,49 +214,72 @@
76.161 - -psos*)
76.162 - os=-psos
76.163 - ;;
76.164 -+ -mint | -mint[0-9]*)
76.165 -+ basic_machine=m68k-atari
76.166 -+ os=-mint
76.167 -+ ;;
76.168 - esac
76.169 -
76.170 - # Decode aliases for certain CPU-COMPANY combinations.
76.171 - case $basic_machine in
76.172 - # Recognize the basic CPU types without company name.
76.173 - # Some are omitted here because they have special meanings below.
76.174 -- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
76.175 -- | arme[lb] | pyramid | mn10200 | mn10300 \
76.176 -- | tron | a29k | 580 | i960 | h8300 \
76.177 -- | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
76.178 -- | alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \
76.179 -- | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
76.180 -- | 1750a | dsp16xx | pdp11 \
76.181 -- | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
76.182 -- | mipstx39 | mipstx39el \
76.183 -- | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x)
76.184 -- basic_machine=$basic_machine-unknown
76.185 -- ;;
76.186 -- m88110 | m680[012346]0 | m683?2 | m68360 | m5200 | z8k | v70 \
76.187 -- | h8500 | w65) # EGCS LOCAL
76.188 -- ;;
76.189 -- thumb)
76.190 -- basic_machine=$basic_machine-unknown
76.191 -- ;;
76.192 -- mips64vr4300 | mips64vr4300el) # EGCS LOCAL jsmith/vr4300
76.193 -+ 1750a | 580 \
76.194 -+ | a29k \
76.195 -+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
76.196 -+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
76.197 -+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
76.198 -+ | clipper \
76.199 -+ | d10v | d30v | dlx | dsp16xx \
76.200 -+ | fr30 | frv \
76.201 -+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
76.202 -+ | i370 | i860 | i960 | ia64 \
76.203 -+ | ip2k \
76.204 -+ | m32r | m68000 | m68k | m88k | mcore \
76.205 -+ | mips | mipsbe | mipseb | mipsel | mipsle \
76.206 -+ | mips16 \
76.207 -+ | mips64 | mips64el \
76.208 -+ | mips64vr | mips64vrel \
76.209 -+ | mips64orion | mips64orionel \
76.210 -+ | mips64vr4100 | mips64vr4100el \
76.211 -+ | mips64vr4300 | mips64vr4300el \
76.212 -+ | mips64vr5000 | mips64vr5000el \
76.213 -+ | mipsisa32 | mipsisa32el \
76.214 -+ | mipsisa32r2 | mipsisa32r2el \
76.215 -+ | mipsisa64 | mipsisa64el \
76.216 -+ | mipsisa64sb1 | mipsisa64sb1el \
76.217 -+ | mipsisa64sr71k | mipsisa64sr71kel \
76.218 -+ | mipstx39 | mipstx39el \
76.219 -+ | mn10200 | mn10300 \
76.220 -+ | msp430 \
76.221 -+ | ns16k | ns32k \
76.222 -+ | openrisc | or32 \
76.223 -+ | pdp10 | pdp11 | pj | pjl \
76.224 -+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
76.225 -+ | pyramid \
76.226 -+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
76.227 -+ | sh64 | sh64le \
76.228 -+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
76.229 -+ | strongarm \
76.230 -+ | tahoe | thumb | tic80 | tron \
76.231 -+ | v850 | v850e \
76.232 -+ | we32k \
76.233 -+ | x86 | xscale | xstormy16 | xtensa \
76.234 -+ | z8k)
76.235 - basic_machine=$basic_machine-unknown
76.236 - ;;
76.237 -- mips64vr4100 | mips64vr4100el) # EGCS LOCAL jsmith/vr4100
76.238 -- basic_machine=$basic_machine-unknown
76.239 -- ;;
76.240 -- mips64vr5000 | mips64vr5000el) # EGCS LOCAL ian/vr5000
76.241 -- basic_machine=$basic_machine-unknown
76.242 -- ;;
76.243 -- mips16)
76.244 -+ m6811 | m68hc11 | m6812 | m68hc12)
76.245 -+ # Motorola 68HC11/12.
76.246 - basic_machine=$basic_machine-unknown
76.247 -+ os=-none
76.248 - ;;
76.249 -- d10v)
76.250 -- basic_machine=$basic_machine-unknown
76.251 -+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
76.252 - ;;
76.253 -+
76.254 - # We use `pc' rather than `unknown'
76.255 - # because (1) that's what they normally are, and
76.256 - # (2) the word "unknown" tends to confuse beginning users.
76.257 -- i[34567]86)
76.258 -+ i*86 | x86_64)
76.259 - basic_machine=$basic_machine-pc
76.260 - ;;
76.261 - # Object if more than one company name word.
76.262 -@@ -207,44 +288,62 @@
76.263 - exit 1
76.264 - ;;
76.265 - # Recognize the basic CPU types with company name.
76.266 -- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
76.267 -- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
76.268 -- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
76.269 -- | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
76.270 -- | xmp-* | ymp-* \
76.271 -- | hppa-* | hppa1.0-* | hppa1.1-* \
76.272 -- | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
76.273 -- | alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \
76.274 -- | alphaev6-* | we32k-* | cydra-* | ns16k-* | pn-* | np1-* \
76.275 -- | xps100-* | clipper-* | orion-* \
76.276 -- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
76.277 -- | sparc64-* | sparcv9-* | sparc86x-* | mips64-* | mipsel-* \
76.278 -- | mips64el-* | mips64orion-* | mips64orionel-* \
76.279 -- | mipstx39-* | mipstx39el-* \
76.280 -- | f301-* | arm*-*)
76.281 -- ;;
76.282 -- m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | h8500-* | d10v-*) # EGCS LOCAL
76.283 -- ;;
76.284 -- thumb-*) # EGCS LOCAL angela/thumb
76.285 -- ;;
76.286 -- v850-*) # EGCS LOCAL
76.287 -- ;;
76.288 -- d30v-*) # EGCS LOCAL
76.289 -- ;;
76.290 -- mips64vr4300-* | mips64vr4300el-*) # EGCS LOCAL jsmith/vr4300
76.291 -- ;;
76.292 -- mips64vr4100-* | mips64vr4100el-*) # EGCS LOCAL jsmith/vr4100
76.293 -- ;;
76.294 -- mips16-*) # EGCS LOCAL krk/mips16
76.295 -- ;;
76.296 -- tic30-*) # EGCS LOCAL ian/tic30
76.297 -- ;;
76.298 -- c30-*) # EGCS LOCAL ian/tic30
76.299 -- basic_machine=tic30-unknown
76.300 -+ 580-* \
76.301 -+ | a29k-* \
76.302 -+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
76.303 -+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
76.304 -+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
76.305 -+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
76.306 -+ | avr-* \
76.307 -+ | bs2000-* \
76.308 -+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
76.309 -+ | clipper-* | cydra-* \
76.310 -+ | d10v-* | d30v-* | dlx-* \
76.311 -+ | elxsi-* \
76.312 -+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
76.313 -+ | h8300-* | h8500-* \
76.314 -+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
76.315 -+ | i*86-* | i860-* | i960-* | ia64-* \
76.316 -+ | ip2k-* \
76.317 -+ | m32r-* \
76.318 -+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
76.319 -+ | m88110-* | m88k-* | mcore-* \
76.320 -+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
76.321 -+ | mips16-* \
76.322 -+ | mips64-* | mips64el-* \
76.323 -+ | mips64vr-* | mips64vrel-* \
76.324 -+ | mips64orion-* | mips64orionel-* \
76.325 -+ | mips64vr4100-* | mips64vr4100el-* \
76.326 -+ | mips64vr4300-* | mips64vr4300el-* \
76.327 -+ | mips64vr5000-* | mips64vr5000el-* \
76.328 -+ | mipsisa32-* | mipsisa32el-* \
76.329 -+ | mipsisa32r2-* | mipsisa32r2el-* \
76.330 -+ | mipsisa64-* | mipsisa64el-* \
76.331 -+ | mipsisa64sb1-* | mipsisa64sb1el-* \
76.332 -+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
76.333 -+ | mipstx39-* | mipstx39el-* \
76.334 -+ | msp430-* \
76.335 -+ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
76.336 -+ | orion-* \
76.337 -+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
76.338 -+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
76.339 -+ | pyramid-* \
76.340 -+ | romp-* | rs6000-* \
76.341 -+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
76.342 -+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
76.343 -+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
76.344 -+ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
76.345 -+ | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
76.346 -+ | v850-* | v850e-* | vax-* \
76.347 -+ | we32k-* \
76.348 -+ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
76.349 -+ | xtensa-* \
76.350 -+ | ymp-* \
76.351 -+ | z8k-*)
76.352 - ;;
76.353 - # Recognize the various machine names and aliases which stand
76.354 - # for a CPU type and a company and sometimes even an OS.
76.355 -- 386bsd) # EGCS LOCAL
76.356 -+ 386bsd)
76.357 - basic_machine=i386-unknown
76.358 - os=-bsd
76.359 - ;;
76.360 -@@ -254,11 +353,11 @@
76.361 - 3b*)
76.362 - basic_machine=we32k-att
76.363 - ;;
76.364 -- a29khif) # EGCS LOCAL
76.365 -+ a29khif)
76.366 - basic_machine=a29k-amd
76.367 - os=-udi
76.368 - ;;
76.369 -- adobe68k) # EGCS LOCAL
76.370 -+ adobe68k)
76.371 - basic_machine=m68010-adobe
76.372 - os=-scout
76.373 - ;;
76.374 -@@ -277,21 +376,21 @@
76.375 - os=-sysv
76.376 - ;;
76.377 - amiga | amiga-*)
76.378 -- basic_machine=m68k-cbm
76.379 -+ basic_machine=m68k-unknown
76.380 - ;;
76.381 - amigaos | amigados)
76.382 -- basic_machine=m68k-cbm
76.383 -+ basic_machine=m68k-unknown
76.384 - os=-amigaos
76.385 - ;;
76.386 - amigaunix | amix)
76.387 -- basic_machine=m68k-cbm
76.388 -+ basic_machine=m68k-unknown
76.389 - os=-sysv4
76.390 - ;;
76.391 - apollo68)
76.392 - basic_machine=m68k-apollo
76.393 - os=-sysv
76.394 - ;;
76.395 -- apollo68bsd) # EGCS LOCAL
76.396 -+ apollo68bsd)
76.397 - basic_machine=m68k-apollo
76.398 - os=-bsd
76.399 - ;;
76.400 -@@ -303,6 +402,10 @@
76.401 - basic_machine=ns32k-sequent
76.402 - os=-dynix
76.403 - ;;
76.404 -+ c90)
76.405 -+ basic_machine=c90-cray
76.406 -+ os=-unicos
76.407 -+ ;;
76.408 - convex-c1)
76.409 - basic_machine=c1-convex
76.410 - os=-bsd
76.411 -@@ -323,27 +426,30 @@
76.412 - basic_machine=c38-convex
76.413 - os=-bsd
76.414 - ;;
76.415 -- cray | ymp)
76.416 -- basic_machine=ymp-cray
76.417 -- os=-unicos
76.418 -- ;;
76.419 -- cray2)
76.420 -- basic_machine=cray2-cray
76.421 -- os=-unicos
76.422 -- ;;
76.423 -- [ctj]90-cray)
76.424 -- basic_machine=c90-cray
76.425 -+ cray | j90)
76.426 -+ basic_machine=j90-cray
76.427 - os=-unicos
76.428 - ;;
76.429 - crds | unos)
76.430 - basic_machine=m68k-crds
76.431 - ;;
76.432 -+ cris | cris-* | etrax*)
76.433 -+ basic_machine=cris-axis
76.434 -+ ;;
76.435 - da30 | da30-*)
76.436 - basic_machine=m68k-da30
76.437 - ;;
76.438 - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
76.439 - basic_machine=mips-dec
76.440 - ;;
76.441 -+ decsystem10* | dec10*)
76.442 -+ basic_machine=pdp10-dec
76.443 -+ os=-tops10
76.444 -+ ;;
76.445 -+ decsystem20* | dec20*)
76.446 -+ basic_machine=pdp10-dec
76.447 -+ os=-tops20
76.448 -+ ;;
76.449 - delta | 3300 | motorola-3300 | motorola-delta \
76.450 - | 3300-motorola | delta-motorola)
76.451 - basic_machine=m68k-motorola
76.452 -@@ -371,7 +477,7 @@
76.453 - encore | umax | mmax)
76.454 - basic_machine=ns32k-encore
76.455 - ;;
76.456 -- es1800 | OSE68k | ose68k | ose | OSE) # EGCS LOCAL
76.457 -+ es1800 | OSE68k | ose68k | ose | OSE)
76.458 - basic_machine=m68k-ericsson
76.459 - os=-ose
76.460 - ;;
76.461 -@@ -385,6 +491,10 @@
76.462 - basic_machine=tron-gmicro
76.463 - os=-sysv
76.464 - ;;
76.465 -+ go32)
76.466 -+ basic_machine=i386-pc
76.467 -+ os=-go32
76.468 -+ ;;
76.469 - h3050r* | hiux*)
76.470 - basic_machine=hppa1.1-hitachi
76.471 - os=-hiuxwe2
76.472 -@@ -393,11 +503,11 @@
76.473 - basic_machine=h8300-hitachi
76.474 - os=-hms
76.475 - ;;
76.476 -- h8300xray) # EGCS LOCAL
76.477 -+ h8300xray)
76.478 - basic_machine=h8300-hitachi
76.479 - os=-xray
76.480 - ;;
76.481 -- h8500hms) # EGCS LOCAL
76.482 -+ h8500hms)
76.483 - basic_machine=h8500-hitachi
76.484 - os=-hms
76.485 - ;;
76.486 -@@ -416,22 +526,6 @@
76.487 - basic_machine=m68k-hp
76.488 - os=-hpux
76.489 - ;;
76.490 -- w89k-*) # EGCS LOCAL
76.491 -- basic_machine=hppa1.1-winbond
76.492 -- os=-proelf
76.493 -- ;;
76.494 -- op50n-*) # EGCS LOCAL
76.495 -- basic_machine=hppa1.1-oki
76.496 -- os=-proelf
76.497 -- ;;
76.498 -- op60c-*) # EGCS LOCAL
76.499 -- basic_machine=hppa1.1-oki
76.500 -- os=-proelf
76.501 -- ;;
76.502 -- hppro) # EGCS LOCAL
76.503 -- basic_machine=hppa1.1-hp
76.504 -- os=-proelf
76.505 -- ;;
76.506 - hp3k9[0-9][0-9] | hp9[0-9][0-9])
76.507 - basic_machine=hppa1.0-hp
76.508 - ;;
76.509 -@@ -441,22 +535,21 @@
76.510 - hp9k3[2-9][0-9])
76.511 - basic_machine=m68k-hp
76.512 - ;;
76.513 -- hp9k6[0-9][0-9] | hp6[0-9][0-9] )
76.514 -+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
76.515 - basic_machine=hppa1.0-hp
76.516 - ;;
76.517 -- hp9k7[0-79][0-9] | hp7[0-79][0-9] )
76.518 -+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
76.519 - basic_machine=hppa1.1-hp
76.520 - ;;
76.521 -- hp9k78[0-9] | hp78[0-9] )
76.522 -+ hp9k78[0-9] | hp78[0-9])
76.523 - # FIXME: really hppa2.0-hp
76.524 - basic_machine=hppa1.1-hp
76.525 - ;;
76.526 -- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | \
76.527 -- hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893 )
76.528 -+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
76.529 - # FIXME: really hppa2.0-hp
76.530 - basic_machine=hppa1.1-hp
76.531 - ;;
76.532 -- hp9k8[0-9][13679] | hp8[0-9][13679] )
76.533 -+ hp9k8[0-9][13679] | hp8[0-9][13679])
76.534 - basic_machine=hppa1.1-hp
76.535 - ;;
76.536 - hp9k8[0-9][0-9] | hp8[0-9][0-9])
76.537 -@@ -465,47 +558,42 @@
76.538 - hppa-next)
76.539 - os=-nextstep3
76.540 - ;;
76.541 -- hppaosf) # EGCS LOCAL
76.542 -+ hppaosf)
76.543 - basic_machine=hppa1.1-hp
76.544 - os=-osf
76.545 - ;;
76.546 -+ hppro)
76.547 -+ basic_machine=hppa1.1-hp
76.548 -+ os=-proelf
76.549 -+ ;;
76.550 - i370-ibm* | ibm*)
76.551 - basic_machine=i370-ibm
76.552 -- os=-mvs
76.553 - ;;
76.554 - # I'm not sure what "Sysv32" means. Should this be sysv3.2?
76.555 -- i[34567]86v32)
76.556 -+ i*86v32)
76.557 - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76.558 - os=-sysv32
76.559 - ;;
76.560 -- i[34567]86v4*)
76.561 -+ i*86v4*)
76.562 - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76.563 - os=-sysv4
76.564 - ;;
76.565 -- i[34567]86v)
76.566 -+ i*86v)
76.567 - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76.568 - os=-sysv
76.569 - ;;
76.570 -- i[34567]86sol2)
76.571 -+ i*86sol2)
76.572 - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
76.573 - os=-solaris2
76.574 - ;;
76.575 -- i386mach) # EGCS LOCAL
76.576 -+ i386mach)
76.577 - basic_machine=i386-mach
76.578 - os=-mach
76.579 - ;;
76.580 -- i386-vsta | vsta) # EGCS LOCAL
76.581 -+ i386-vsta | vsta)
76.582 - basic_machine=i386-unknown
76.583 - os=-vsta
76.584 - ;;
76.585 -- i386-go32 | go32) # EGCS LOCAL
76.586 -- basic_machine=i386-unknown
76.587 -- os=-go32
76.588 -- ;;
76.589 -- i386-mingw32 | mingw32)
76.590 -- basic_machine=i386-unknown
76.591 -- os=-mingw32
76.592 -- ;;
76.593 - iris | iris4d)
76.594 - basic_machine=mips-sgi
76.595 - case $os in
76.596 -@@ -531,16 +619,16 @@
76.597 - basic_machine=ns32k-utek
76.598 - os=-sysv
76.599 - ;;
76.600 -+ mingw32)
76.601 -+ basic_machine=i386-pc
76.602 -+ os=-mingw32
76.603 -+ ;;
76.604 - miniframe)
76.605 - basic_machine=m68000-convergent
76.606 - ;;
76.607 -- mipsel*-linux*)
76.608 -- basic_machine=mipsel-unknown
76.609 -- os=-linux-gnu
76.610 -- ;;
76.611 -- mips*-linux*)
76.612 -- basic_machine=mips-unknown
76.613 -- os=-linux-gnu
76.614 -+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
76.615 -+ basic_machine=m68k-atari
76.616 -+ os=-mint
76.617 - ;;
76.618 - mips3*-*)
76.619 - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
76.620 -@@ -548,24 +636,36 @@
76.621 - mips3*)
76.622 - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
76.623 - ;;
76.624 -- monitor) # EGCS LOCAL
76.625 -+ mmix*)
76.626 -+ basic_machine=mmix-knuth
76.627 -+ os=-mmixware
76.628 -+ ;;
76.629 -+ monitor)
76.630 - basic_machine=m68k-rom68k
76.631 - os=-coff
76.632 - ;;
76.633 -- msdos) # EGCS LOCAL
76.634 -- basic_machine=i386-unknown
76.635 -+ morphos)
76.636 -+ basic_machine=powerpc-unknown
76.637 -+ os=-morphos
76.638 -+ ;;
76.639 -+ msdos)
76.640 -+ basic_machine=i386-pc
76.641 - os=-msdos
76.642 - ;;
76.643 -+ mvs)
76.644 -+ basic_machine=i370-ibm
76.645 -+ os=-mvs
76.646 -+ ;;
76.647 - ncr3000)
76.648 - basic_machine=i486-ncr
76.649 - os=-sysv4
76.650 - ;;
76.651 - netbsd386)
76.652 -- basic_machine=i386-unknown # EGCS LOCAL
76.653 -+ basic_machine=i386-unknown
76.654 - os=-netbsd
76.655 - ;;
76.656 - netwinder)
76.657 -- basic_machine=armv4l-corel
76.658 -+ basic_machine=armv4l-rebel
76.659 - os=-linux
76.660 - ;;
76.661 - news | news700 | news800 | news900)
76.662 -@@ -580,7 +680,7 @@
76.663 - basic_machine=mips-sony
76.664 - os=-newsos
76.665 - ;;
76.666 -- necv70) # EGCS LOCAL
76.667 -+ necv70)
76.668 - basic_machine=v70-nec
76.669 - os=-sysv
76.670 - ;;
76.671 -@@ -609,18 +709,37 @@
76.672 - basic_machine=i960-intel
76.673 - os=-nindy
76.674 - ;;
76.675 -- mon960) # EGCS LOCAL
76.676 -+ mon960)
76.677 - basic_machine=i960-intel
76.678 - os=-mon960
76.679 - ;;
76.680 -+ nonstopux)
76.681 -+ basic_machine=mips-compaq
76.682 -+ os=-nonstopux
76.683 -+ ;;
76.684 - np1)
76.685 - basic_machine=np1-gould
76.686 - ;;
76.687 -- OSE68000 | ose68000) # EGCS LOCAL
76.688 -+ nv1)
76.689 -+ basic_machine=nv1-cray
76.690 -+ os=-unicosmp
76.691 -+ ;;
76.692 -+ nsr-tandem)
76.693 -+ basic_machine=nsr-tandem
76.694 -+ ;;
76.695 -+ op50n-* | op60c-*)
76.696 -+ basic_machine=hppa1.1-oki
76.697 -+ os=-proelf
76.698 -+ ;;
76.699 -+ or32 | or32-*)
76.700 -+ basic_machine=or32-unknown
76.701 -+ os=-coff
76.702 -+ ;;
76.703 -+ OSE68000 | ose68000)
76.704 - basic_machine=m68000-ericsson
76.705 - os=-ose
76.706 - ;;
76.707 -- os68k) # EGCS LOCAL
76.708 -+ os68k)
76.709 - basic_machine=m68k-none
76.710 - os=-os68k
76.711 - ;;
76.712 -@@ -638,46 +757,60 @@
76.713 - pbb)
76.714 - basic_machine=m68k-tti
76.715 - ;;
76.716 -- pc532 | pc532-*)
76.717 -+ pc532 | pc532-*)
76.718 - basic_machine=ns32k-pc532
76.719 - ;;
76.720 -- pentium | p5 | k5 | k6 | nexen)
76.721 -+ pentium | p5 | k5 | k6 | nexgen | viac3)
76.722 - basic_machine=i586-pc
76.723 - ;;
76.724 -- pentiumpro | p6 | 6x86)
76.725 -+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
76.726 - basic_machine=i686-pc
76.727 - ;;
76.728 - pentiumii | pentium2)
76.729 -- basic_machine=i786-pc
76.730 -+ basic_machine=i686-pc
76.731 - ;;
76.732 -- pentium-* | p5-* | k5-* | k6-* | nexen-*)
76.733 -+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
76.734 - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
76.735 - ;;
76.736 -- pentiumpro-* | p6-* | 6x86-*)
76.737 -+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
76.738 - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
76.739 - ;;
76.740 - pentiumii-* | pentium2-*)
76.741 -- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
76.742 -+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
76.743 - ;;
76.744 - pn)
76.745 - basic_machine=pn-gould
76.746 - ;;
76.747 -- power) basic_machine=rs6000-ibm
76.748 -+ power) basic_machine=power-ibm
76.749 - ;;
76.750 - ppc) basic_machine=powerpc-unknown
76.751 -- ;;
76.752 -+ ;;
76.753 - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
76.754 - ;;
76.755 - ppcle | powerpclittle | ppc-le | powerpc-little)
76.756 - basic_machine=powerpcle-unknown
76.757 -- ;;
76.758 -+ ;;
76.759 - ppcle-* | powerpclittle-*)
76.760 - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
76.761 - ;;
76.762 -+ ppc64) basic_machine=powerpc64-unknown
76.763 -+ ;;
76.764 -+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
76.765 -+ ;;
76.766 -+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
76.767 -+ basic_machine=powerpc64le-unknown
76.768 -+ ;;
76.769 -+ ppc64le-* | powerpc64little-*)
76.770 -+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
76.771 -+ ;;
76.772 - ps2)
76.773 - basic_machine=i386-ibm
76.774 - ;;
76.775 -- rom68k) # EGCS LOCAL
76.776 -+ pw32)
76.777 -+ basic_machine=i586-unknown
76.778 -+ os=-pw32
76.779 -+ ;;
76.780 -+ rom68k)
76.781 - basic_machine=m68k-rom68k
76.782 - os=-coff
76.783 - ;;
76.784 -@@ -687,10 +820,22 @@
76.785 - rtpc | rtpc-*)
76.786 - basic_machine=romp-ibm
76.787 - ;;
76.788 -- sa29200) # EGCS LOCAL
76.789 -+ s390 | s390-*)
76.790 -+ basic_machine=s390-ibm
76.791 -+ ;;
76.792 -+ s390x | s390x-*)
76.793 -+ basic_machine=s390x-ibm
76.794 -+ ;;
76.795 -+ sa29200)
76.796 - basic_machine=a29k-amd
76.797 - os=-udi
76.798 - ;;
76.799 -+ sb1)
76.800 -+ basic_machine=mipsisa64sb1-unknown
76.801 -+ ;;
76.802 -+ sb1el)
76.803 -+ basic_machine=mipsisa64sb1el-unknown
76.804 -+ ;;
76.805 - sequent)
76.806 - basic_machine=i386-sequent
76.807 - ;;
76.808 -@@ -698,7 +843,7 @@
76.809 - basic_machine=sh-hitachi
76.810 - os=-hms
76.811 - ;;
76.812 -- sparclite-wrs) # EGCS LOCAL
76.813 -+ sparclite-wrs | simso-wrs)
76.814 - basic_machine=sparclite-wrs
76.815 - os=-vxworks
76.816 - ;;
76.817 -@@ -709,10 +854,10 @@
76.818 - spur)
76.819 - basic_machine=spur-unknown
76.820 - ;;
76.821 -- st2000) # EGCS LOCAL
76.822 -+ st2000)
76.823 - basic_machine=m68k-tandem
76.824 - ;;
76.825 -- stratus) # EGCS LOCAL
76.826 -+ stratus)
76.827 - basic_machine=i860-stratus
76.828 - os=-sysv4
76.829 - ;;
76.830 -@@ -756,16 +901,40 @@
76.831 - sun386 | sun386i | roadrunner)
76.832 - basic_machine=i386-sun
76.833 - ;;
76.834 -+ sv1)
76.835 -+ basic_machine=sv1-cray
76.836 -+ os=-unicos
76.837 -+ ;;
76.838 - symmetry)
76.839 - basic_machine=i386-sequent
76.840 - os=-dynix
76.841 - ;;
76.842 -+ t3e)
76.843 -+ basic_machine=alphaev5-cray
76.844 -+ os=-unicos
76.845 -+ ;;
76.846 -+ t90)
76.847 -+ basic_machine=t90-cray
76.848 -+ os=-unicos
76.849 -+ ;;
76.850 -+ tic4x | c4x*)
76.851 -+ basic_machine=tic4x-unknown
76.852 -+ os=-coff
76.853 -+ ;;
76.854 -+ tic54x | c54x*)
76.855 -+ basic_machine=tic54x-unknown
76.856 -+ os=-coff
76.857 -+ ;;
76.858 - tx39)
76.859 - basic_machine=mipstx39-unknown
76.860 - ;;
76.861 - tx39el)
76.862 - basic_machine=mipstx39el-unknown
76.863 - ;;
76.864 -+ toad1)
76.865 -+ basic_machine=pdp10-xkl
76.866 -+ os=-tops20
76.867 -+ ;;
76.868 - tower | tower-32)
76.869 - basic_machine=m68k-ncr
76.870 - ;;
76.871 -@@ -777,7 +946,7 @@
76.872 - basic_machine=a29k-nyu
76.873 - os=-sym1
76.874 - ;;
76.875 -- v810 | necv810) # EGCS LOCAL
76.876 -+ v810 | necv810)
76.877 - basic_machine=v810-nec
76.878 - os=-none
76.879 - ;;
76.880 -@@ -790,8 +959,8 @@
76.881 - os=-vms
76.882 - ;;
76.883 - vpp*|vx|vx-*)
76.884 -- basic_machine=f301-fujitsu
76.885 -- ;;
76.886 -+ basic_machine=f301-fujitsu
76.887 -+ ;;
76.888 - vxworks960)
76.889 - basic_machine=i960-wrs
76.890 - os=-vxworks
76.891 -@@ -804,18 +973,22 @@
76.892 - basic_machine=a29k-wrs
76.893 - os=-vxworks
76.894 - ;;
76.895 -- w65*) # EGCS LOCAL
76.896 -- basic_machine=w65-wdc
76.897 -- os=-none
76.898 -+ w65*)
76.899 -+ basic_machine=w65-wdc
76.900 -+ os=-none
76.901 - ;;
76.902 -- xmp)
76.903 -- basic_machine=xmp-cray
76.904 -- os=-unicos
76.905 -+ w89k-*)
76.906 -+ basic_machine=hppa1.1-winbond
76.907 -+ os=-proelf
76.908 - ;;
76.909 -- xps | xps100)
76.910 -+ xps | xps100)
76.911 - basic_machine=xps100-honeywell
76.912 - ;;
76.913 -- z8k-*-coff) # EGCS LOCAL
76.914 -+ ymp)
76.915 -+ basic_machine=ymp-cray
76.916 -+ os=-unicos
76.917 -+ ;;
76.918 -+ z8k-*-coff)
76.919 - basic_machine=z8k-unknown
76.920 - os=-sim
76.921 - ;;
76.922 -@@ -826,22 +999,15 @@
76.923 -
76.924 - # Here we handle the default manufacturer of certain CPU types. It is in
76.925 - # some cases the only manufacturer, in others, it is the most popular.
76.926 -- w89k) # EGCS LOCAL
76.927 -+ w89k)
76.928 - basic_machine=hppa1.1-winbond
76.929 - ;;
76.930 -- op50n) # EGCS LOCAL
76.931 -+ op50n)
76.932 - basic_machine=hppa1.1-oki
76.933 - ;;
76.934 -- op60c) # EGCS LOCAL
76.935 -+ op60c)
76.936 - basic_machine=hppa1.1-oki
76.937 - ;;
76.938 -- mips)
76.939 -- if [ x$os = x-linux-gnu ]; then
76.940 -- basic_machine=mips-unknown
76.941 -- else
76.942 -- basic_machine=mips-mips
76.943 -- fi
76.944 -- ;;
76.945 - romp)
76.946 - basic_machine=romp-ibm
76.947 - ;;
76.948 -@@ -851,16 +1017,26 @@
76.949 - vax)
76.950 - basic_machine=vax-dec
76.951 - ;;
76.952 -+ pdp10)
76.953 -+ # there are many clones, so DEC is not a safe bet
76.954 -+ basic_machine=pdp10-unknown
76.955 -+ ;;
76.956 - pdp11)
76.957 - basic_machine=pdp11-dec
76.958 - ;;
76.959 - we32k)
76.960 - basic_machine=we32k-att
76.961 - ;;
76.962 -- sparc | sparcv9)
76.963 -+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
76.964 -+ basic_machine=sh-unknown
76.965 -+ ;;
76.966 -+ sh64)
76.967 -+ basic_machine=sh64-unknown
76.968 -+ ;;
76.969 -+ sparc | sparcv9 | sparcv9b)
76.970 - basic_machine=sparc-sun
76.971 - ;;
76.972 -- cydra)
76.973 -+ cydra)
76.974 - basic_machine=cydra-cydrome
76.975 - ;;
76.976 - orion)
76.977 -@@ -869,16 +1045,15 @@
76.978 - orion105)
76.979 - basic_machine=clipper-highlevel
76.980 - ;;
76.981 -- mac | mpw | mac-mpw) # EGCS LOCAL
76.982 -+ mac | mpw | mac-mpw)
76.983 - basic_machine=m68k-apple
76.984 - ;;
76.985 -- pmac | pmac-mpw) # EGCS LOCAL
76.986 -+ pmac | pmac-mpw)
76.987 - basic_machine=powerpc-apple
76.988 - ;;
76.989 -- c4x*)
76.990 -- basic_machine=c4x-none
76.991 -- os=-coff
76.992 -- ;;
76.993 -+ *-unknown)
76.994 -+ # Make sure to match an already-canonicalized machine name.
76.995 -+ ;;
76.996 - *)
76.997 - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
76.998 - exit 1
76.999 -@@ -935,20 +1110,38 @@
76.1000 - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
76.1001 - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
76.1002 - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
76.1003 -+ | -chorusos* | -chorusrdb* \
76.1004 - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
76.1005 - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
76.1006 -- | -interix* | -uwin* )
76.1007 -+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
76.1008 -+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
76.1009 -+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
76.1010 -+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
76.1011 -+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
76.1012 -+ | -powermax* | -dnix* | -microbsd*)
76.1013 - # Remember, each alternative MUST END IN *, to match a version number.
76.1014 - ;;
76.1015 -- # EGCS LOCAL
76.1016 -+ -qnx*)
76.1017 -+ case $basic_machine in
76.1018 -+ x86-* | i*86-*)
76.1019 -+ ;;
76.1020 -+ *)
76.1021 -+ os=-nto$os
76.1022 -+ ;;
76.1023 -+ esac
76.1024 -+ ;;
76.1025 -+ -nto-qnx*)
76.1026 -+ ;;
76.1027 -+ -nto*)
76.1028 -+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
76.1029 -+ ;;
76.1030 - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
76.1031 -- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
76.1032 -- | -macos* | -mpw* | -magic* | -mon960* | -lnews* )
76.1033 -+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
76.1034 -+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
76.1035 - ;;
76.1036 - -mac*)
76.1037 - os=`echo $os | sed -e 's|mac|macos|'`
76.1038 - ;;
76.1039 -- # END EGCS LOCAL
76.1040 - -linux*)
76.1041 - os=`echo $os | sed -e 's|linux|linux-gnu|'`
76.1042 - ;;
76.1043 -@@ -958,6 +1151,12 @@
76.1044 - -sunos6*)
76.1045 - os=`echo $os | sed -e 's|sunos6|solaris3|'`
76.1046 - ;;
76.1047 -+ -opened*)
76.1048 -+ os=-openedition
76.1049 -+ ;;
76.1050 -+ -wince*)
76.1051 -+ os=-wince
76.1052 -+ ;;
76.1053 - -osfrose*)
76.1054 - os=-osfrose
76.1055 - ;;
76.1056 -@@ -973,14 +1172,23 @@
76.1057 - -acis*)
76.1058 - os=-aos
76.1059 - ;;
76.1060 -- -386bsd) # EGCS LOCAL
76.1061 -+ -atheos*)
76.1062 -+ os=-atheos
76.1063 -+ ;;
76.1064 -+ -386bsd)
76.1065 - os=-bsd
76.1066 - ;;
76.1067 - -ctix* | -uts*)
76.1068 - os=-sysv
76.1069 - ;;
76.1070 -+ -nova*)
76.1071 -+ os=-rtmk-nova
76.1072 -+ ;;
76.1073 - -ns2 )
76.1074 -- os=-nextstep2
76.1075 -+ os=-nextstep2
76.1076 -+ ;;
76.1077 -+ -nsk*)
76.1078 -+ os=-nsk
76.1079 - ;;
76.1080 - # Preserve the version number of sinix5.
76.1081 - -sinix5.*)
76.1082 -@@ -1007,15 +1215,21 @@
76.1083 - # This must come after -sysvr4.
76.1084 - -sysv*)
76.1085 - ;;
76.1086 -- -ose*) # EGCS LOCAL
76.1087 -+ -ose*)
76.1088 - os=-ose
76.1089 - ;;
76.1090 -- -es1800*) # EGCS LOCAL
76.1091 -+ -es1800*)
76.1092 - os=-ose
76.1093 - ;;
76.1094 - -xenix)
76.1095 - os=-xenix
76.1096 - ;;
76.1097 -+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
76.1098 -+ os=-mint
76.1099 -+ ;;
76.1100 -+ -aros*)
76.1101 -+ os=-aros
76.1102 -+ ;;
76.1103 - -none)
76.1104 - ;;
76.1105 - *)
76.1106 -@@ -1041,13 +1255,17 @@
76.1107 - *-acorn)
76.1108 - os=-riscix1.2
76.1109 - ;;
76.1110 -- arm*-corel)
76.1111 -+ arm*-rebel)
76.1112 - os=-linux
76.1113 - ;;
76.1114 - arm*-semi)
76.1115 - os=-aout
76.1116 - ;;
76.1117 -- pdp11-*)
76.1118 -+ # This must come before the *-dec entry.
76.1119 -+ pdp10-*)
76.1120 -+ os=-tops20
76.1121 -+ ;;
76.1122 -+ pdp11-*)
76.1123 - os=-none
76.1124 - ;;
76.1125 - *-dec | vax-*)
76.1126 -@@ -1065,15 +1283,18 @@
76.1127 - # default.
76.1128 - # os=-sunos4
76.1129 - ;;
76.1130 -- m68*-cisco) # EGCS LOCAL
76.1131 -+ m68*-cisco)
76.1132 - os=-aout
76.1133 - ;;
76.1134 -- mips*-cisco) # EGCS LOCAL
76.1135 -+ mips*-cisco)
76.1136 - os=-elf
76.1137 - ;;
76.1138 -- mips*-*) # EGCS LOCAL
76.1139 -- os=-elf
76.1140 -- ;;
76.1141 -+ mips*-*)
76.1142 -+ os=-elf
76.1143 -+ ;;
76.1144 -+ or32-*)
76.1145 -+ os=-coff
76.1146 -+ ;;
76.1147 - *-tti) # must be before sparc entry or we get the wrong os.
76.1148 - os=-sysv3
76.1149 - ;;
76.1150 -@@ -1086,13 +1307,13 @@
76.1151 - *-ibm)
76.1152 - os=-aix
76.1153 - ;;
76.1154 -- *-wec) # EGCS LOCAL
76.1155 -+ *-wec)
76.1156 - os=-proelf
76.1157 - ;;
76.1158 -- *-winbond) # EGCS LOCAL
76.1159 -+ *-winbond)
76.1160 - os=-proelf
76.1161 - ;;
76.1162 -- *-oki) # EGCS LOCAL
76.1163 -+ *-oki)
76.1164 - os=-proelf
76.1165 - ;;
76.1166 - *-hp)
76.1167 -@@ -1137,36 +1358,39 @@
76.1168 - *-next)
76.1169 - os=-nextstep3
76.1170 - ;;
76.1171 -- *-gould)
76.1172 -+ *-gould)
76.1173 - os=-sysv
76.1174 - ;;
76.1175 -- *-highlevel)
76.1176 -+ *-highlevel)
76.1177 - os=-bsd
76.1178 - ;;
76.1179 - *-encore)
76.1180 - os=-bsd
76.1181 - ;;
76.1182 -- *-sgi)
76.1183 -+ *-sgi)
76.1184 - os=-irix
76.1185 - ;;
76.1186 -- *-siemens)
76.1187 -+ *-siemens)
76.1188 - os=-sysv4
76.1189 - ;;
76.1190 - *-masscomp)
76.1191 - os=-rtu
76.1192 - ;;
76.1193 -- f301-fujitsu)
76.1194 -+ f30[01]-fujitsu | f700-fujitsu)
76.1195 - os=-uxpv
76.1196 - ;;
76.1197 -- *-rom68k) # EGCS LOCAL
76.1198 -+ *-rom68k)
76.1199 - os=-coff
76.1200 - ;;
76.1201 -- *-*bug) # EGCS LOCAL
76.1202 -+ *-*bug)
76.1203 - os=-coff
76.1204 - ;;
76.1205 -- *-apple) # EGCS LOCAL
76.1206 -+ *-apple)
76.1207 - os=-macos
76.1208 - ;;
76.1209 -+ *-atari*)
76.1210 -+ os=-mint
76.1211 -+ ;;
76.1212 - *)
76.1213 - os=-none
76.1214 - ;;
76.1215 -@@ -1212,27 +1436,41 @@
76.1216 - -genix*)
76.1217 - vendor=ns
76.1218 - ;;
76.1219 -- -mvs*)
76.1220 -+ -mvs* | -opened*)
76.1221 - vendor=ibm
76.1222 - ;;
76.1223 - -ptx*)
76.1224 - vendor=sequent
76.1225 - ;;
76.1226 -- -vxsim* | -vxworks*)
76.1227 -+ -vxsim* | -vxworks* | -windiss*)
76.1228 - vendor=wrs
76.1229 - ;;
76.1230 - -aux*)
76.1231 - vendor=apple
76.1232 - ;;
76.1233 -- -hms*) # EGCS LOCAL
76.1234 -+ -hms*)
76.1235 - vendor=hitachi
76.1236 - ;;
76.1237 -- -mpw* | -macos*) # EGCS LOCAL
76.1238 -+ -mpw* | -macos*)
76.1239 - vendor=apple
76.1240 - ;;
76.1241 -+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
76.1242 -+ vendor=atari
76.1243 -+ ;;
76.1244 -+ -vos*)
76.1245 -+ vendor=stratus
76.1246 -+ ;;
76.1247 - esac
76.1248 - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
76.1249 - ;;
76.1250 - esac
76.1251 -
76.1252 - echo $basic_machine$os
76.1253 -+exit 0
76.1254 -+
76.1255 -+# Local variables:
76.1256 -+# eval: (add-hook 'write-file-hooks 'time-stamp)
76.1257 -+# time-stamp-start: "timestamp='"
76.1258 -+# time-stamp-format: "%:y-%02m-%02d"
76.1259 -+# time-stamp-end: "'"
76.1260 -+# End:
77.1 --- a/patches/gcc/2.95.3/140-deque-leak-fix.patch Wed Oct 28 12:03:38 2009 +0100
77.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
77.3 @@ -1,31 +0,0 @@
77.4 -[See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ]
77.5 -
77.6 -Date: Fri, 16 Nov 2001 16:06:22 -0500
77.7 -From: Phil Edwards <pedwards at disaster dot jaj dot com>
77.8 -To: gcc-patches at gcc dot gnu dot org
77.9 -Subject: [libstdc++ trunk & 3.0] Fix deque memory leak
77.10 -Message-ID: <20011116160622.A23094@disaster.jaj.com>
77.11 -
77.12 -
77.13 -As discussed on the libstdc++ mailing list. Tested on i686/linux.
77.14 -
77.15 -
77.16 -
77.17 -2001-11-16 Paolo Carlini <pcarlini@unitus.it>
77.18 -
77.19 - * include/bits/stl_deque.h (deque::erase()): Fix memory leak.
77.20 -
77.21 -
77.22 -[rediffed against 2.95.3 -- dank]
77.23 -
77.24 ---- gcc-2.95.3/libstdc++/stl/stl_deque.h.old 2001-01-01 09:48:22.000000000 -0800
77.25 -+++ gcc-2.95.3/libstdc++/stl/stl_deque.h 2006-02-18 15:24:17.000000000 -0800
77.26 -@@ -1052,7 +1052,7 @@
77.27 - copy_backward(_M_start, __first, __last);
77.28 - iterator __new_start = _M_start + __n;
77.29 - destroy(_M_start, __new_start);
77.30 -- _M_destroy_nodes(__new_start._M_node, _M_start._M_node);
77.31 -+ _M_destroy_nodes(_M_start._M_node, __new_start._M_node); /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */
77.32 - _M_start = __new_start;
77.33 - }
77.34 - else {
78.1 --- a/patches/gcc/2.95.3/150-cygwin-020611.patch Wed Oct 28 12:03:38 2009 +0100
78.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
78.3 @@ -1,33 +0,0 @@
78.4 -[ Building gcc-2.95.3 on cygwin yields a compiler that sticks a .exe
78.5 - on the end of every executable, even if they're linux executable.
78.6 - This is highly annoying, and causes glibc build failures that look like this:
78.7 - mv: `.../bin/makedb.new' and `.../bin/makedb' are the same file
78.8 - make[2]: *** [.../bin/makedb] Error 1
78.9 - make[2]: Leaving directory `.../gcc-2.95.3-glibc-2.1.3/glibc-2.1.3/db2'
78.10 -
78.11 - The mainline solves this with http://gcc.gnu.org/ml/gcc-cvs/2001-04/msg00440.html,
78.12 - but that doesn't apply cleanly to gcc-2.95.3.
78.13 -
78.14 - So, I'm using
78.15 - http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/tools-20030314/gcc-2.95.3-cygwin-020611.patch
78.16 - This is the only patch in crosstool that *isn't* suitable for the mainline.
78.17 - I can live with this patch simply because crosstool does not build
78.18 - compilers that target cygwin or VAX/VMS.
78.19 - If that ever changes, I might need to try applying the real patch.
78.20 -]
78.21 -
78.22 -
78.23 -
78.24 -#
78.25 -# This patch can be found at http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
78.26 -#
78.27 ---- gcc-2.95.3/gcc/config/i386/xm-cygwin.h 1999-04-22 16:40:56.000000000 +0200
78.28 -+++ gcc-2.95.3-cygwin/gcc/config/i386/xm-cygwin.h 2002-06-11 08:23:18.000000000 +0200
78.29 -@@ -19,7 +19,6 @@
78.30 - the Free Software Foundation, 59 Temple Place - Suite 330,
78.31 - Boston, MA 02111-1307, USA. */
78.32 -
78.33 --#define EXECUTABLE_SUFFIX ".exe"
78.34 - #define NO_SYS_SIGLIST 1
78.35 -
78.36 - /* We support both "/" and "\" since everybody tests both but we
79.1 --- a/patches/gcc/2.95.3/160-trap-posix.patch Wed Oct 28 12:03:38 2009 +0100
79.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
79.3 @@ -1,44 +0,0 @@
79.4 -#
79.5 -# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
79.6 -#
79.7 -# Error:
79.8 -#
79.9 -# creating libintl.h
79.10 -# Configuring etc...
79.11 -# loading cache ../config.cache
79.12 -# checking for a BSD compatible install... (cached) /usr/bin/install -c
79.13 -# creating ./config.status
79.14 -# creating Makefile
79.15 -# trap: usage: trap [-lp] [[arg] signal_spec ...]
79.16 -#
79.17 -# Description:
79.18 -#
79.19 -# non-posix conform usage of trap causes bash >= 3.0 to fail
79.20 -# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
79.21 -#
79.22 -# Status:
79.23 -#
79.24 -# fixed in gcc >= 3.3.5
79.25 -# backport of gcc-3.3.5 fix
79.26 -#
79.27 -diff -ruN gcc-2.95.3-orig/configure gcc-2.95.3/configure
79.28 ---- gcc-2.95.3-orig/configure 1999-04-02 16:17:40.000000000 +0200
79.29 -+++ gcc-2.95.3/configure 2005-04-20 18:25:45.030488235 +0200
79.30 -@@ -687,7 +687,7 @@
79.31 - if test -f skip-this-dir; then
79.32 - # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
79.33 - # and reset the trap handler.
79.34 -- trap 0
79.35 -+ trap '' 0
79.36 - rm -f Makefile* ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
79.37 - # Execute the final clean-up actions
79.38 - ${config_shell} skip-this-dir
79.39 -@@ -1599,7 +1599,7 @@
79.40 - # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
79.41 - # and reset the trap handler.
79.42 - rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
79.43 --trap 0
79.44 -+trap '' 0
79.45 -
79.46 - exit 0
79.47 -
80.1 --- a/patches/gcc/2.95.3/170-pr3106.patch Wed Oct 28 12:03:38 2009 +0100
80.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
80.3 @@ -1,28 +0,0 @@
80.4 -See http://gcc.gnu.org/PR3106
80.5 -Backported from gcc-3.0.x
80.6 -
80.7 -Fixes error
80.8 - .../binutils-2.11.2/libiberty/strerror.c:468: error: conflicting types for `sys_nerr'
80.9 - /usr/include/stdio.h:258: error: previous declaration of `sys_nerr'
80.10 - make[1]: *** [strerror.o] Error 1
80.11 - make: *** [all-libiberty] Error 2
80.12 -on Mac OS X.
80.13 -
80.14 ---- gcc-2.95.3/libiberty/strerror.c.old 2004-03-24 16:23:19.000000000 -0800
80.15 -+++ gcc-2.95.3/libiberty/strerror.c 2004-03-24 16:23:48.000000000 -0800
80.16 -@@ -13,6 +13,7 @@
80.17 - incompatible with our later declaration, perhaps by using const
80.18 - attributes. So we hide the declaration in errno.h (if any) using a
80.19 - macro. */
80.20 -+#define sys_nerr sys_nerr__
80.21 - #define sys_errlist sys_errlist__
80.22 - #endif
80.23 -
80.24 -@@ -20,6 +21,7 @@
80.25 - #include <errno.h>
80.26 -
80.27 - #ifdef HAVE_SYS_ERRLIST
80.28 -+#undef sys_nerr
80.29 - #undef sys_errlist
80.30 - #endif
80.31 -
81.1 --- a/patches/gcc/2.95.3/180-threads_snafu.patch Wed Oct 28 12:03:38 2009 +0100
81.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
81.3 @@ -1,28 +0,0 @@
81.4 -This fixes the error
81.5 -
81.6 -In file included from gthr-default.h:1,
81.7 - from /build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/gthr.h:98,
81.8 - from /build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/libgcc2.c:3034:
81.9 -/build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory
81.10 -make[3]: *** [libgcc2.a] Error 1
81.11 -make[3]: Leaving directory `/build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/build-gcc-core/gcc'
81.12 -
81.13 -in what I think is a nicer way than the patch used by the arm team,
81.14 -i.e. "perl -pi -e 's/^(TARGET_LIBGCC2_CFLAGS.*)/$1 -Dinhibit_libc -D__gthr_posix_h/' gcc/config/arm/t-linux"
81.15 -which seems a bit of a kludge.
81.16 -
81.17 ---- gcc-2.95.3/gcc/configure.old Fri Mar 16 06:13:48 2001
81.18 -+++ gcc-2.95.3/gcc/configure Sun Jun 8 13:02:20 2003
81.19 -@@ -853,9 +853,9 @@
81.20 - # Check whether --enable-threads or --disable-threads was given.
81.21 - if test "${enable_threads+set}" = set; then
81.22 - enableval="$enable_threads"
81.23 -- if test x$enable_threads = xno; then
81.24 -- enable_threads=''
81.25 --fi
81.26 -+ #if test x$enable_threads = xno; then
81.27 -+ #enable_threads=''
81.28 -+ #fi
81.29 - else
81.30 - enable_threads=''
81.31 - fi
82.1 --- a/patches/gcc/3.2.3/100-config.sub.patch Wed Oct 28 12:03:38 2009 +0100
82.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
82.3 @@ -1,72 +0,0 @@
82.4 -When configuring a s390->s390 or cris->cris crosscompiler
82.5 -(ok, I haven't hit this yet, but one of these days I'll get me an account
82.6 -on an s390, and then I'll need this patch :-), you'll get the
82.7 -following error:
82.8 -
82.9 -+ /build/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/gcc-3.3/configure
82.10 ---target=s390-unknown-linux-gnu --host=s390-host_unknown-linux-gnu
82.11 ---prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2
82.12 ---enable-languages=c
82.13 ---with-local-prefix=/result/s390-unknown-linux-gnu/gcc-3.3-glibc-2.3.2/s390-
82.14 -unknown-linux-gnu --enable-threads=no --without-headers --with-newlib
82.15 ---disable-shared
82.16 -...
82.17 -*** --with-headers is only supported when cross compiling
82.18 -
82.19 -This error pops up only when you're using Daniel Jacobowitz's technique
82.20 -of slightly changing the target and host tuples to make them different
82.21 -enough to force gcc's build system to not try to pull in system libraries
82.22 -or headers. This technique is needed e.g. to build an x86 -> x86
82.23 -cross-compiler.
82.24 -(The LFS developers ran into the same bug that prompted me to use
82.25 -this technique; they point people who run into it to
82.26 -http://linuxfromscratch.org/~greg/pure_lfs.txt, which is a different
82.27 -way of avoiding this problem. I think the tuple tweak is the way to go, though.)
82.28 -
82.29 -config-patches@gnu.org rejected this patch, on the grounds that there
82.30 -is only one vendor of each of those two architectures, so the
82.31 -canonicalization is by definition correct. When I pointed out the
82.32 -difficulty this causes for people building s390 -> s390 or
82.33 -cris -> cris compilers that are incompatible with the system
82.34 -libraries and thus must be built like cross-compilers, he grumped and said
82.35 -"autoconf should let you specify a cross-compiler in some other way than
82.36 -comparing tuple strings".
82.37 -
82.38 -
82.39 -
82.40 ---- gcc-3.3/config.sub.old Sun Jun 8 20:38:47 2003
82.41 -+++ gcc-3.3/config.sub Sun Jun 8 20:40:34 2003
82.42 -@@ -433,9 +433,12 @@
82.43 - crds | unos)
82.44 - basic_machine=m68k-crds
82.45 - ;;
82.46 -- cris | cris-* | etrax*)
82.47 -+ cris | etrax*)
82.48 - basic_machine=cris-axis
82.49 - ;;
82.50 -+ cris-*)
82.51 -+ basic_machine=cris-`echo $basic_machine | sed 's/^[^-]*-//'`
82.52 -+ ;;
82.53 - da30 | da30-*)
82.54 - basic_machine=m68k-da30
82.55 - ;;
82.56 -@@ -820,11 +823,17 @@
82.57 - rtpc | rtpc-*)
82.58 - basic_machine=romp-ibm
82.59 - ;;
82.60 -- s390 | s390-*)
82.61 -+ s390)
82.62 - basic_machine=s390-ibm
82.63 - ;;
82.64 -- s390x | s390x-*)
82.65 -+ s390-*)
82.66 -+ basic_machine=s390-`echo $basic_machine | sed 's/^[^-]*-//'`
82.67 -+ ;;
82.68 -+ s390x)
82.69 - basic_machine=s390x-ibm
82.70 -+ ;;
82.71 -+ s390x-*)
82.72 -+ basic_machine=s390x-`echo $basic_machine | sed 's/^[^-]*-//'`
82.73 - ;;
82.74 - sa29200)
82.75 - basic_machine=a29k-amd
83.1 --- a/patches/gcc/3.2.3/110-ppc405erratum77.patch Wed Oct 28 12:03:38 2009 +0100
83.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
83.3 @@ -1,105 +0,0 @@
83.4 -# See http://gcc.gnu.org/PR7383, http://www.kegel.com/xgcc3/ppc405erratum77.html
83.5 -# Fixed in gcc-3.3
83.6 -
83.7 -diff -aur gcc-20020722.orig/gcc/config/rs6000/rs6000.h gcc-20020722/gcc/config/rs6000/rs6000.h
83.8 ---- gcc-20020722.orig/gcc/config/rs6000/rs6000.h Thu Jul 25 09:32:21 2002
83.9 -+++ gcc-20020722/gcc/config/rs6000/rs6000.h Thu Jul 25 09:34:45 2002
83.10 -@@ -66,7 +66,7 @@
83.11 - %{mcpu=rsc1: -D_ARCH_PWR} \
83.12 - %{mcpu=401: -D_ARCH_PPC} \
83.13 - %{mcpu=403: -D_ARCH_PPC} \
83.14 --%{mcpu=405: -D_ARCH_PPC} \
83.15 -+%{mcpu=405: -D_ARCH_PPC -D__PPC405__} \
83.16 - %{mcpu=505: -D_ARCH_PPC} \
83.17 - %{mcpu=601: -D_ARCH_PPC -D_ARCH_PWR} \
83.18 - %{mcpu=602: -D_ARCH_PPC} \
83.19 -diff -aur gcc-20020722.orig/libjava/sysdep/powerpc/locks.h gcc-20020722/libjava/sysdep/powerpc/locks.h
83.20 ---- gcc-20020722.orig/libjava/sysdep/powerpc/locks.h Thu Jul 25 09:32:30 2002
83.21 -+++ gcc-20020722/libjava/sysdep/powerpc/locks.h Thu Jul 25 11:39:13 2002
83.22 -@@ -11,6 +11,17 @@
83.23 - #ifndef __SYSDEP_LOCKS_H__
83.24 - #define __SYSDEP_LOCKS_H__
83.25 -
83.26 -+#ifdef __PPC405__
83.27 -+// workaround for PPC405 erratum #77 - 07/18/02 JRO, dank, NN. References:
83.28 -+// http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/89DED00DEBFF54BF87256A8000491BA2/$file/405CR_C_errata_1_2.pdf
83.29 -+// http://ppc.bkbits.net:8080/linuxppc_2_4_devel/cset@1.489
83.30 -+// http://www.kegel.com/xgcc3/ppc405erratum77.html
83.31 -+// FIXME: using dbct instead of sync would be faster
83.32 -+#define __LIBGCJ_PPC405_ERR77_SYNC "sync \n\t"
83.33 -+#else
83.34 -+#define __LIBGCJ_PPC405_ERR77_SYNC
83.35 -+#endif
83.36 -+
83.37 - typedef size_t obj_addr_t; /* Integer type big enough for object */
83.38 - /* address. */
83.39 -
83.40 -@@ -25,6 +36,7 @@
83.41 - "0: lwarx %0,0,%1 ;"
83.42 - " xor. %0,%3,%0;"
83.43 - " bne 1f;"
83.44 -+ __LIBGCJ_PPC405_ERR77_SYNC
83.45 - " stwcx. %2,0,%1;"
83.46 - " bne- 0b;"
83.47 - "1: "
83.48 -@@ -58,6 +70,7 @@
83.49 - "0: lwarx %0,0,%1 ;"
83.50 - " xor. %0,%3,%0;"
83.51 - " bne 1f;"
83.52 -+ __LIBGCJ_PPC405_ERR77_SYNC
83.53 - " stwcx. %2,0,%1;"
83.54 - " bne- 0b;"
83.55 - "1: "
83.56 -diff -aur gcc-20020722.orig/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h gcc-20020722/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h
83.57 ---- gcc-20020722.orig/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h Thu Jul 25 09:32:31 2002
83.58 -+++ gcc-20020722/libstdc++-v3/config/cpu/powerpc/bits/atomicity.h Thu Jul 25 09:34:45 2002
83.59 -@@ -32,6 +32,17 @@
83.60 -
83.61 - typedef int _Atomic_word;
83.62 -
83.63 -+#ifdef __PPC405__
83.64 -+// workaround for PPC405 erratum #77 - 07/18/02 JRO & dank. References:
83.65 -+// http://www-3.ibm.com/chips/techlib/techlib.nsf/techdocs/89DED00DEBFF54BF87256A8000491BA2/$file/405CR_C_errata_1_2.pdf
83.66 -+// http://ppc.bkbits.net:8080/linuxppc_2_4_devel/cset@1.489
83.67 -+// http://www.kegel.com/xgcc3/ppc405erratum77.html
83.68 -+// FIXME: using dbct instead of sync would be faster
83.69 -+#define __LIBSTDCPP_PPC405_ERR77_SYNC "sync \n\t"
83.70 -+#else
83.71 -+#define __LIBSTDCPP_PPC405_ERR77_SYNC
83.72 -+#endif
83.73 -+
83.74 - static inline _Atomic_word
83.75 - __attribute__ ((__unused__))
83.76 - __exchange_and_add (volatile _Atomic_word* __mem, int __val)
83.77 -@@ -42,6 +53,7 @@
83.78 - "0:\t"
83.79 - "lwarx %0,0,%2 \n\t"
83.80 - "add%I3 %1,%0,%3 \n\t"
83.81 -+ __LIBSTDCPP_PPC405_ERR77_SYNC
83.82 - "stwcx. %1,0,%2 \n\t"
83.83 - "bne- 0b \n\t"
83.84 - "/* End exchange & add */"
83.85 -@@ -61,6 +73,7 @@
83.86 - "0:\t"
83.87 - "lwarx %0,0,%1 \n\t"
83.88 - "add%I2 %0,%0,%2 \n\t"
83.89 -+ __LIBSTDCPP_PPC405_ERR77_SYNC
83.90 - "stwcx. %0,0,%1 \n\t"
83.91 - "bne- 0b \n\t"
83.92 - "/* End atomic add */"
83.93 -@@ -78,6 +91,7 @@
83.94 - "/* Inline always swap */\n"
83.95 - "0:\t"
83.96 - "lwarx %0,0,%1 \n\t"
83.97 -+ __LIBSTDCPP_PPC405_ERR77_SYNC
83.98 - "stwcx. %2,0,%1 \n\t"
83.99 - "bne- 0b \n\t"
83.100 - "/* End always swap */"
83.101 -@@ -98,6 +112,7 @@
83.102 - "lwarx %0,0,%1 \n\t"
83.103 - "cmpwi %0,0 \n\t"
83.104 - "bne- 1f \n\t"
83.105 -+ __LIBSTDCPP_PPC405_ERR77_SYNC
83.106 - "stwcx. %2,0,%1 \n\t"
83.107 - "bne- 0b \n"
83.108 - "1:\n\t"
84.1 --- a/patches/gcc/3.2.3/120-sh-linux-1.patch Wed Oct 28 12:03:38 2009 +0100
84.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
84.3 @@ -1,1761 +0,0 @@
84.4 -diff -ruN gcc-20030210.orig/boehm-gc/configure gcc-20030210/boehm-gc/configure
84.5 ---- gcc-20030210.orig/boehm-gc/configure Fri Jan 31 19:17:00 2003
84.6 -+++ gcc-20030210/boehm-gc/configure Sat Feb 22 01:40:14 2003
84.7 -@@ -1922,7 +1922,7 @@
84.8 - # This must be Linux ELF.
84.9 - linux-gnu*)
84.10 - case $host_cpu in
84.11 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
84.12 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
84.13 - lt_cv_deplibs_check_method=pass_all ;;
84.14 - *)
84.15 - # glibc up to 2.1.1 does not perform some relocations on ARM
84.16 -diff -ruN gcc-20030210.orig/config-ml.in gcc-20030210/config-ml.in
84.17 ---- gcc-20030210.orig/config-ml.in Fri Jan 31 19:16:59 2003
84.18 -+++ gcc-20030210/config-ml.in Sat Feb 22 01:40:14 2003
84.19 -@@ -545,6 +545,7 @@
84.20 - if [ -d ../$${dir}/$${lib} ]; then \
84.21 - flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
84.22 - if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
84.23 -+ DESTDIR="$(DESTDIR)" \
84.24 - CFLAGS="$(CFLAGS) $${flags}" \
84.25 - prefix="$(prefix)" \
84.26 - exec_prefix="$(exec_prefix)" \
84.27 -diff -ruN gcc-20030210.orig/debian/edit-specs.in gcc-20030210/debian/edit-specs.in
84.28 ---- gcc-20030210.orig/debian/edit-specs.in Thu Jan 1 09:00:00 1970
84.29 -+++ gcc-20030210/debian/edit-specs.in Sat Feb 22 01:40:14 2003
84.30 -@@ -0,0 +1,45 @@
84.31 -+/^*asm:$/ {
84.32 -+n
84.33 -+c\
84.34 -+@AS_ENDIAN_FLAG@ %{mrelax:-relax}
84.35 -+}
84.36 -+/^*cpp:$/ {
84.37 -+n
84.38 -+c\
84.39 -+%(cpp_default_cpu_spec) %(subtarget_cpp_spec) %(subtarget_cpp_ptr_spec) %(subtarget_cpp_endian_spec)
84.40 -+}
84.41 -+/^*cc1:$/ {
84.42 -+n
84.43 -+c\
84.44 -+-musermode @CC1_CPU_ENDIAN_FLAGS@ %{profile:-p}
84.45 -+}
84.46 -+/^*link:$/ {
84.47 -+n
84.48 -+c\
84.49 -+%{!static:--eh-frame-hdr} @LINKER_CPU_ENDIAN_FLAGS@ @LINKER_RPATH_LINK_FLAG@ %{mrelax:-relax} %{shared:-shared} %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} %{static:-static}
84.50 -+}
84.51 -+/^*multilib:$/ {
84.52 -+n
84.53 -+c\
84.54 -+. ;
84.55 -+}
84.56 -+/^*multilib_matches:$/ {
84.57 -+n
84.58 -+c\
84.59 -+
84.60 -+}
84.61 -+/^*multilib_options:$/ {
84.62 -+n
84.63 -+c\
84.64 -+
84.65 -+}
84.66 -+/^*subtarget_cpp_endian_spec:$/ {
84.67 -+n
84.68 -+c\
84.69 -+@CPP_ENDIAN_DEF@
84.70 -+}
84.71 -+/^*cpp_default_cpu_spec:$/ {
84.72 -+n
84.73 -+c\
84.74 -+@CPP_CPU_DEFS@
84.75 -+}
84.76 -diff -ruN gcc-20030210.orig/debian/install-CPU-linux gcc-20030210/debian/install-CPU-linux
84.77 ---- gcc-20030210.orig/debian/install-CPU-linux Thu Jan 1 09:00:00 1970
84.78 -+++ gcc-20030210/debian/install-CPU-linux Sat Feb 22 01:40:14 2003
84.79 -@@ -0,0 +1,111 @@
84.80 -+#! /bin/sh
84.81 -+
84.82 -+VERSION=$1; shift
84.83 -+CPU=$1
84.84 -+
84.85 -+# literally (binary-ly) same
84.86 -+PROGS_C="cpp gcc"
84.87 -+PROGS_ADDITIONAL="c++ g++ g77 gcj"
84.88 -+
84.89 -+DRIVERS_C="cc1 cpp0 tradcpp0"
84.90 -+DRIVERS_ADDITIONAL="cc1obj cc1plus collect2 f771 jc1 jvgenmain"
84.91 -+if [ -z "$STEP1_COMPILER_BUILD" ]; then
84.92 -+ PROGS="$PROGS_C $PROGS_ADDITIONAL"
84.93 -+ DRIVERS="$DRIVERS_C $DRIVERSADDITIONAL"
84.94 -+ INITIAL=""
84.95 -+else
84.96 -+ PROGS=$PROGS_C
84.97 -+ DRIVERS=$DRIVERS_C
84.98 -+ INITIAL="-initial"
84.99 -+fi
84.100 -+
84.101 -+OBJS="crtbegin.o crtbeginS.o crtend.o crtendS.o"
84.102 -+LIBS_C="libgcc.a"
84.103 -+LIBS_1="libgcc_s.so libgcc_s.so.1 libstdc++.so libstdc++.so.3 libstdc++.so.3.0.2"
84.104 -+LIBS_2="libobjc.a libstdc++.a libsupc++.a"
84.105 -+INCLUDE="include"
84.106 -+
84.107 -+cd debian/gcc-sh-linux-others${INITIAL} || exit 1
84.108 -+
84.109 -+# Make directories.
84.110 -+mkdir -p usr/bin usr/share usr/share/man usr/share/man/man1 usr/lib \
84.111 -+ usr/lib/gcc-lib usr/lib/gcc-lib/${CPU}-linux \
84.112 -+ usr/lib/gcc-lib/${CPU}-linux/${VERSION} \
84.113 -+ usr/${CPU}-linux usr/${CPU}-linux/lib
84.114 -+
84.115 -+# Make symbolic links for include dir.
84.116 -+(cd usr/${CPU}-linux; ln -s ../sh-linux/include .)
84.117 -+
84.118 -+# Make symbolic links for executables.
84.119 -+(cd usr/bin;
84.120 -+ for p in ${PROGS}; do
84.121 -+ ln -s shCPU-linux-GCC ${CPU}-linux-$p
84.122 -+ done)
84.123 -+
84.124 -+case "${CPU}" in
84.125 -+ sh3)
84.126 -+ MULTILIBDIR=
84.127 -+ AS_ENDIAN_FLAG="-little"
84.128 -+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
84.129 -+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"
84.130 -+ CC1_CPU_ENDIAN_FLAGS="-ml -m3"
84.131 -+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh3"
84.132 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3-linux/lib"
84.133 -+ ;;
84.134 -+ sh3eb)
84.135 -+ MULTILIBDIR=/mb
84.136 -+ AS_ENDIAN_FLAG="-big"
84.137 -+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
84.138 -+ CPP_CPU_DEFS="-D__SH3__ -D__sh3__"
84.139 -+ CC1_CPU_ENDIAN_FLAGS="-mb -m3"
84.140 -+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh3"
84.141 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh3eb-linux/lib"
84.142 -+ ;;
84.143 -+ sh4)
84.144 -+ MULTILIBDIR=/m4
84.145 -+ AS_ENDIAN_FLAG="-little"
84.146 -+ CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
84.147 -+ CPP_CPU_DEFS="-D__SH4__"
84.148 -+ CC1_CPU_ENDIAN_FLAGS="-ml -m4"
84.149 -+ LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh4"
84.150 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4-linux/lib"
84.151 -+ ;;
84.152 -+ sh4eb)
84.153 -+ MULTILIBDIR=/mb/m4
84.154 -+ AS_ENDIAN_FLAG="-big"
84.155 -+ CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
84.156 -+ CPP_CPU_DEFS="-D__SH4__"
84.157 -+ CC1_CPU_ENDIAN_FLAGS="-mb -m4"
84.158 -+ LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh4"
84.159 -+ LINKER_RPATH_LINK_FLAG="-rpath-link /usr/sh4eb-linux/lib"
84.160 -+ ;;
84.161 -+esac
84.162 -+
84.163 -+# Make symbolic links for GCC drivers, objects, libraries, and include dir.
84.164 -+(cd usr/lib/gcc-lib/${CPU}-linux/${VERSION};
84.165 -+ for f in ${DRIVERS} ${INCLUDE}; do
84.166 -+ ln -s ../../sh-linux/${VERSION}/$f $f;
84.167 -+ done
84.168 -+ for f in ${OBJS} ${LIBS_C}; do
84.169 -+ ln -s ../../sh-linux/${VERSION}${MULTILIBDIR}/$f $f;
84.170 -+ done)
84.171 -+
84.172 -+if [ -z "$STEP1_COMPILER_BUILD" ]; then
84.173 -+ for f in ${LIBS_1} ${LIBS_2}; do
84.174 -+ mv ../gcc-sh-linux/usr/sh-linux/lib${MULTILIBDIR}/$f usr/${CPU}-linux/lib/;
84.175 -+ done
84.176 -+fi
84.177 -+
84.178 -+sed -e "s+@AS_ENDIAN_FLAG@+${AS_ENDIAN_FLAG}+" \
84.179 -+ -e "s+@CPP_ENDIAN_DEF@+${CPP_ENDIAN_DEF}+" \
84.180 -+ -e "s+@CPP_CPU_DEFS@+${CPP_CPU_DEFS}+" \
84.181 -+ -e "s+@CC1_CPU_ENDIAN_FLAGS@+${CC1_CPU_ENDIAN_FLAGS}+" \
84.182 -+ -e "s+@LINKER_CPU_ENDIAN_FLAGS@+${LINKER_CPU_ENDIAN_FLAGS}+" \
84.183 -+ -e "s+@LINKER_RPATH_LINK_FLAG@+${LINKER_RPATH_LINK_FLAG}+" \
84.184 -+ ../edit-specs.in >../edit-specs-${CPU}.sed
84.185 -+
84.186 -+sed -f ../edit-specs-${CPU}.sed \
84.187 -+ ../gcc-sh-linux${INITIAL}/usr/lib/gcc-lib/sh-linux/${VERSION}/specs \
84.188 -+ > usr/lib/gcc-lib/${CPU}-linux/${VERSION}/specs
84.189 -+
84.190 -+exit 0
84.191 -diff -ruN gcc-20030210.orig/debian/multilib-symlink gcc-20030210/debian/multilib-symlink
84.192 ---- gcc-20030210.orig/debian/multilib-symlink Thu Jan 1 09:00:00 1970
84.193 -+++ gcc-20030210/debian/multilib-symlink Sat Feb 22 01:40:14 2003
84.194 -@@ -0,0 +1,10 @@
84.195 -+#! /bin/sh
84.196 -+
84.197 -+cd /usr/sh-linux/lib
84.198 -+ln -s ../../sh3-linux/lib/{*.a,*.so*,*.o} .
84.199 -+cd m4
84.200 -+ln -s ../../../sh4-linux/lib/{*.a,*.so*,*.o} .
84.201 -+cd ../mb
84.202 -+ln -s ../../../sh3eb-linux/lib/{*.a,*.so*,*.o} .
84.203 -+cd m4
84.204 -+ln -s ../../../../sh4eb-linux/lib/{*.a,*.so*,*.o} .
84.205 -diff -ruN gcc-20030210.orig/debian/shCPU-linux-GCC gcc-20030210/debian/shCPU-linux-GCC
84.206 ---- gcc-20030210.orig/debian/shCPU-linux-GCC Thu Jan 1 09:00:00 1970
84.207 -+++ gcc-20030210/debian/shCPU-linux-GCC Sat Feb 22 01:40:14 2003
84.208 -@@ -0,0 +1,59 @@
84.209 -+#! /bin/bash
84.210 -+
84.211 -+BASENAME=${0##*/}
84.212 -+PROG=${BASENAME##*-}
84.213 -+CPU=${BASENAME%%-*}
84.214 -+
84.215 -+if [ "$PROG" = gcc ]; then
84.216 -+ if [ "$1" = "-b" -a "$2" = "i386-linux" ]; then
84.217 -+ shift 2
84.218 -+ exec /usr/bin/gcc "$@"
84.219 -+ elif [ "$1" = "-print-multi-lib" -o "$1" = "--print-multi-lib" ]; then
84.220 -+ echo ".;"
84.221 -+ exit 0
84.222 -+ elif [ "$1" = "-print-multi-os-directory" -o "$1" = "--print-multi-os-directory" ]; then
84.223 -+ echo "."
84.224 -+ exit 0
84.225 -+ elif [ "$1" = "-dumpspecs" ]; then
84.226 -+ cat /usr/lib/gcc-lib/${CPU}-linux/@@VERSION@@/specs
84.227 -+ exit 0
84.228 -+ fi
84.229 -+fi
84.230 -+
84.231 -+case "${CPU}" in
84.232 -+ sh3)
84.233 -+ ARCH=m3
84.234 -+ DEFINES="-D__sh3__ -D__SH3__ -D__LITTLE_ENDIAN__"
84.235 -+ ENDIAN=ml
84.236 -+ ;;
84.237 -+ sh3eb)
84.238 -+ ARCH=m3
84.239 -+ DEFINES="-D__sh3__ -D__SH3__ -D__BIG_ENDIAN__"
84.240 -+ ENDIAN=mb
84.241 -+ ;;
84.242 -+ sh4)
84.243 -+ ARCH=m4
84.244 -+ DEFINES="-D__SH4__ -D__LITTLE_ENDIAN__"
84.245 -+ ENDIAN=ml
84.246 -+ ;;
84.247 -+ sh4eb)
84.248 -+ ARCH=m4
84.249 -+ DEFINES="-D__SH4__ -D__BIG_ENDIAN__"
84.250 -+ ENDIAN=mb
84.251 -+ ;;
84.252 -+esac
84.253 -+
84.254 -+# Prepend the appropriate options
84.255 -+# If user specifies some options, it will be overridden
84.256 -+
84.257 -+case "${PROG}" in
84.258 -+ cpp)
84.259 -+ exec sh-linux-${PROG} $DEFINES "$@"
84.260 -+ ;;
84.261 -+ c++|g++|g77|gcc|gcj)
84.262 -+ exec sh-linux-${PROG} -$ARCH -$ENDIAN "$@"
84.263 -+ ;;
84.264 -+esac
84.265 -+
84.266 -+echo "Something wrong..."
84.267 -+exit 1
84.268 -diff -ruN gcc-20030210.orig/gcc/config/sh/elf.h gcc-20030210/gcc/config/sh/elf.h
84.269 ---- gcc-20030210.orig/gcc/config/sh/elf.h Fri Feb 22 01:42:28 2002
84.270 -+++ gcc-20030210/gcc/config/sh/elf.h Sat Feb 22 01:40:14 2003
84.271 -@@ -170,3 +170,7 @@
84.272 - #undef ENDFILE_SPEC
84.273 - #define ENDFILE_SPEC \
84.274 - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
84.275 -+
84.276 -+/* ASM_OUTPUT_CASE_LABEL is defined in elfos.h. With it,
84.277 -+ redundant .align will be generated. */
84.278 -+#undef ASM_OUTPUT_CASE_LABEL
84.279 -diff -ruN gcc-20030210.orig/gcc/config/sh/lib1funcs.asm gcc-20030210/gcc/config/sh/lib1funcs.asm
84.280 ---- gcc-20030210.orig/gcc/config/sh/lib1funcs.asm Fri Feb 22 01:42:28 2002
84.281 -+++ gcc-20030210/gcc/config/sh/lib1funcs.asm Sat Feb 22 01:40:14 2003
84.282 -@@ -39,8 +39,13 @@
84.283 -
84.284 - #ifdef __ELF__
84.285 - #define LOCAL(X) .L_##X
84.286 -+#define FUNC(X) .type X,@function; .hidden X
84.287 -+#define _ENDFUNC(X) .Lfe_##X: .size X,.Lfe_##X-X
84.288 -+#define ENDFUNC(X) _ENDFUNC(X)
84.289 - #else
84.290 - #define LOCAL(X) L_##X
84.291 -+#define FUNC(X)
84.292 -+#define ENDFUNC(X)
84.293 - #endif
84.294 -
84.295 - #ifdef __linux__
84.296 -@@ -91,6 +96,40 @@
84.297 - .global GLOBAL(ashiftrt_r4_31)
84.298 - .global GLOBAL(ashiftrt_r4_32)
84.299 -
84.300 -+ FUNC(GLOBAL(ashiftrt_r4_0))
84.301 -+ FUNC(GLOBAL(ashiftrt_r4_1))
84.302 -+ FUNC(GLOBAL(ashiftrt_r4_2))
84.303 -+ FUNC(GLOBAL(ashiftrt_r4_3))
84.304 -+ FUNC(GLOBAL(ashiftrt_r4_4))
84.305 -+ FUNC(GLOBAL(ashiftrt_r4_5))
84.306 -+ FUNC(GLOBAL(ashiftrt_r4_6))
84.307 -+ FUNC(GLOBAL(ashiftrt_r4_7))
84.308 -+ FUNC(GLOBAL(ashiftrt_r4_8))
84.309 -+ FUNC(GLOBAL(ashiftrt_r4_9))
84.310 -+ FUNC(GLOBAL(ashiftrt_r4_10))
84.311 -+ FUNC(GLOBAL(ashiftrt_r4_11))
84.312 -+ FUNC(GLOBAL(ashiftrt_r4_12))
84.313 -+ FUNC(GLOBAL(ashiftrt_r4_13))
84.314 -+ FUNC(GLOBAL(ashiftrt_r4_14))
84.315 -+ FUNC(GLOBAL(ashiftrt_r4_15))
84.316 -+ FUNC(GLOBAL(ashiftrt_r4_16))
84.317 -+ FUNC(GLOBAL(ashiftrt_r4_17))
84.318 -+ FUNC(GLOBAL(ashiftrt_r4_18))
84.319 -+ FUNC(GLOBAL(ashiftrt_r4_19))
84.320 -+ FUNC(GLOBAL(ashiftrt_r4_20))
84.321 -+ FUNC(GLOBAL(ashiftrt_r4_21))
84.322 -+ FUNC(GLOBAL(ashiftrt_r4_22))
84.323 -+ FUNC(GLOBAL(ashiftrt_r4_23))
84.324 -+ FUNC(GLOBAL(ashiftrt_r4_24))
84.325 -+ FUNC(GLOBAL(ashiftrt_r4_25))
84.326 -+ FUNC(GLOBAL(ashiftrt_r4_26))
84.327 -+ FUNC(GLOBAL(ashiftrt_r4_27))
84.328 -+ FUNC(GLOBAL(ashiftrt_r4_28))
84.329 -+ FUNC(GLOBAL(ashiftrt_r4_29))
84.330 -+ FUNC(GLOBAL(ashiftrt_r4_30))
84.331 -+ FUNC(GLOBAL(ashiftrt_r4_31))
84.332 -+ FUNC(GLOBAL(ashiftrt_r4_32))
84.333 -+
84.334 - .align 1
84.335 - GLOBAL(ashiftrt_r4_32):
84.336 - GLOBAL(ashiftrt_r4_31):
84.337 -@@ -170,6 +209,41 @@
84.338 - GLOBAL(ashiftrt_r4_0):
84.339 - rts
84.340 - nop
84.341 -+
84.342 -+ ENDFUNC(GLOBAL(ashiftrt_r4_0))
84.343 -+ ENDFUNC(GLOBAL(ashiftrt_r4_1))
84.344 -+ ENDFUNC(GLOBAL(ashiftrt_r4_2))
84.345 -+ ENDFUNC(GLOBAL(ashiftrt_r4_3))
84.346 -+ ENDFUNC(GLOBAL(ashiftrt_r4_4))
84.347 -+ ENDFUNC(GLOBAL(ashiftrt_r4_5))
84.348 -+ ENDFUNC(GLOBAL(ashiftrt_r4_6))
84.349 -+ ENDFUNC(GLOBAL(ashiftrt_r4_7))
84.350 -+ ENDFUNC(GLOBAL(ashiftrt_r4_8))
84.351 -+ ENDFUNC(GLOBAL(ashiftrt_r4_9))
84.352 -+ ENDFUNC(GLOBAL(ashiftrt_r4_10))
84.353 -+ ENDFUNC(GLOBAL(ashiftrt_r4_11))
84.354 -+ ENDFUNC(GLOBAL(ashiftrt_r4_12))
84.355 -+ ENDFUNC(GLOBAL(ashiftrt_r4_13))
84.356 -+ ENDFUNC(GLOBAL(ashiftrt_r4_14))
84.357 -+ ENDFUNC(GLOBAL(ashiftrt_r4_15))
84.358 -+ ENDFUNC(GLOBAL(ashiftrt_r4_16))
84.359 -+ ENDFUNC(GLOBAL(ashiftrt_r4_17))
84.360 -+ ENDFUNC(GLOBAL(ashiftrt_r4_18))
84.361 -+ ENDFUNC(GLOBAL(ashiftrt_r4_19))
84.362 -+ ENDFUNC(GLOBAL(ashiftrt_r4_20))
84.363 -+ ENDFUNC(GLOBAL(ashiftrt_r4_21))
84.364 -+ ENDFUNC(GLOBAL(ashiftrt_r4_22))
84.365 -+ ENDFUNC(GLOBAL(ashiftrt_r4_23))
84.366 -+ ENDFUNC(GLOBAL(ashiftrt_r4_24))
84.367 -+ ENDFUNC(GLOBAL(ashiftrt_r4_25))
84.368 -+ ENDFUNC(GLOBAL(ashiftrt_r4_26))
84.369 -+ ENDFUNC(GLOBAL(ashiftrt_r4_27))
84.370 -+ ENDFUNC(GLOBAL(ashiftrt_r4_28))
84.371 -+ ENDFUNC(GLOBAL(ashiftrt_r4_29))
84.372 -+ ENDFUNC(GLOBAL(ashiftrt_r4_30))
84.373 -+ ENDFUNC(GLOBAL(ashiftrt_r4_31))
84.374 -+ ENDFUNC(GLOBAL(ashiftrt_r4_32))
84.375 -+
84.376 - #endif
84.377 -
84.378 - #ifdef L_ashiftrt_n
84.379 -@@ -192,6 +266,7 @@
84.380 - !
84.381 -
84.382 - .global GLOBAL(ashrsi3)
84.383 -+ FUNC(GLOBAL(ashrsi3))
84.384 - .align 2
84.385 - GLOBAL(ashrsi3):
84.386 - mov #31,r0
84.387 -@@ -319,6 +394,8 @@
84.388 - rts
84.389 - nop
84.390 -
84.391 -+ ENDFUNC(GLOBAL(ashrsi3))
84.392 -+
84.393 - #endif
84.394 -
84.395 - #ifdef L_ashiftlt
84.396 -@@ -340,6 +417,7 @@
84.397 - ! (none)
84.398 - !
84.399 - .global GLOBAL(ashlsi3)
84.400 -+ FUNC(GLOBAL(ashlsi3))
84.401 - .align 2
84.402 - GLOBAL(ashlsi3):
84.403 - mov #31,r0
84.404 -@@ -476,6 +554,8 @@
84.405 - rts
84.406 - nop
84.407 -
84.408 -+ ENDFUNC(GLOBAL(ashlsi3))
84.409 -+
84.410 - #endif
84.411 -
84.412 - #ifdef L_lshiftrt
84.413 -@@ -497,6 +577,7 @@
84.414 - ! (none)
84.415 - !
84.416 - .global GLOBAL(lshrsi3)
84.417 -+ FUNC(GLOBAL(lshrsi3))
84.418 - .align 2
84.419 - GLOBAL(lshrsi3):
84.420 - mov #31,r0
84.421 -@@ -633,6 +714,8 @@
84.422 - rts
84.423 - nop
84.424 -
84.425 -+ ENDFUNC(GLOBAL(lshrsi3))
84.426 -+
84.427 - #endif
84.428 -
84.429 - #ifdef L_movstr
84.430 -@@ -649,76 +732,113 @@
84.431 - add #64,r4
84.432 - .align 4
84.433 - .global GLOBAL(movstrSI64)
84.434 -+ FUNC(GLOBAL(movstrSI64))
84.435 - GLOBAL(movstrSI64):
84.436 - mov.l @(60,r5),r0
84.437 - mov.l r0,@(60,r4)
84.438 - .global GLOBAL(movstrSI60)
84.439 -+ FUNC(GLOBAL(movstrSI60))
84.440 - GLOBAL(movstrSI60):
84.441 - mov.l @(56,r5),r0
84.442 - mov.l r0,@(56,r4)
84.443 - .global GLOBAL(movstrSI56)
84.444 -+ FUNC(GLOBAL(movstrSI56))
84.445 - GLOBAL(movstrSI56):
84.446 - mov.l @(52,r5),r0
84.447 - mov.l r0,@(52,r4)
84.448 - .global GLOBAL(movstrSI52)
84.449 -+ FUNC(GLOBAL(movstrSI52))
84.450 - GLOBAL(movstrSI52):
84.451 - mov.l @(48,r5),r0
84.452 - mov.l r0,@(48,r4)
84.453 - .global GLOBAL(movstrSI48)
84.454 -+ FUNC(GLOBAL(movstrSI48))
84.455 - GLOBAL(movstrSI48):
84.456 - mov.l @(44,r5),r0
84.457 - mov.l r0,@(44,r4)
84.458 - .global GLOBAL(movstrSI44)
84.459 -+ FUNC(GLOBAL(movstrSI44))
84.460 - GLOBAL(movstrSI44):
84.461 - mov.l @(40,r5),r0
84.462 - mov.l r0,@(40,r4)
84.463 - .global GLOBAL(movstrSI40)
84.464 -+ FUNC(GLOBAL(movstrSI40))
84.465 - GLOBAL(movstrSI40):
84.466 - mov.l @(36,r5),r0
84.467 - mov.l r0,@(36,r4)
84.468 - .global GLOBAL(movstrSI36)
84.469 -+ FUNC(GLOBAL(movstrSI36))
84.470 - GLOBAL(movstrSI36):
84.471 - mov.l @(32,r5),r0
84.472 - mov.l r0,@(32,r4)
84.473 - .global GLOBAL(movstrSI32)
84.474 -+ FUNC(GLOBAL(movstrSI32))
84.475 - GLOBAL(movstrSI32):
84.476 - mov.l @(28,r5),r0
84.477 - mov.l r0,@(28,r4)
84.478 - .global GLOBAL(movstrSI28)
84.479 -+ FUNC(GLOBAL(movstrSI28))
84.480 - GLOBAL(movstrSI28):
84.481 - mov.l @(24,r5),r0
84.482 - mov.l r0,@(24,r4)
84.483 - .global GLOBAL(movstrSI24)
84.484 -+ FUNC(GLOBAL(movstrSI24))
84.485 - GLOBAL(movstrSI24):
84.486 - mov.l @(20,r5),r0
84.487 - mov.l r0,@(20,r4)
84.488 - .global GLOBAL(movstrSI20)
84.489 -+ FUNC(GLOBAL(movstrSI20))
84.490 - GLOBAL(movstrSI20):
84.491 - mov.l @(16,r5),r0
84.492 - mov.l r0,@(16,r4)
84.493 - .global GLOBAL(movstrSI16)
84.494 -+ FUNC(GLOBAL(movstrSI16))
84.495 - GLOBAL(movstrSI16):
84.496 - mov.l @(12,r5),r0
84.497 - mov.l r0,@(12,r4)
84.498 - .global GLOBAL(movstrSI12)
84.499 -+ FUNC(GLOBAL(movstrSI12))
84.500 - GLOBAL(movstrSI12):
84.501 - mov.l @(8,r5),r0
84.502 - mov.l r0,@(8,r4)
84.503 - .global GLOBAL(movstrSI8)
84.504 -+ FUNC(GLOBAL(movstrSI8))
84.505 - GLOBAL(movstrSI8):
84.506 - mov.l @(4,r5),r0
84.507 - mov.l r0,@(4,r4)
84.508 - .global GLOBAL(movstrSI4)
84.509 -+ FUNC(GLOBAL(movstrSI4))
84.510 - GLOBAL(movstrSI4):
84.511 - mov.l @(0,r5),r0
84.512 - mov.l r0,@(0,r4)
84.513 -+ .global GLOBAL(movstrSI0)
84.514 -+ FUNC(GLOBAL(movstrSI0))
84.515 - GLOBAL(movstrSI0):
84.516 - rts
84.517 - nop
84.518 -
84.519 -+ ENDFUNC(GLOBAL(movstrSI64))
84.520 -+ ENDFUNC(GLOBAL(movstrSI60))
84.521 -+ ENDFUNC(GLOBAL(movstrSI56))
84.522 -+ ENDFUNC(GLOBAL(movstrSI52))
84.523 -+ ENDFUNC(GLOBAL(movstrSI48))
84.524 -+ ENDFUNC(GLOBAL(movstrSI44))
84.525 -+ ENDFUNC(GLOBAL(movstrSI40))
84.526 -+ ENDFUNC(GLOBAL(movstrSI36))
84.527 -+ ENDFUNC(GLOBAL(movstrSI32))
84.528 -+ ENDFUNC(GLOBAL(movstrSI28))
84.529 -+ ENDFUNC(GLOBAL(movstrSI24))
84.530 -+ ENDFUNC(GLOBAL(movstrSI20))
84.531 -+ ENDFUNC(GLOBAL(movstrSI16))
84.532 -+ ENDFUNC(GLOBAL(movstrSI12))
84.533 -+ ENDFUNC(GLOBAL(movstrSI8))
84.534 -+ ENDFUNC(GLOBAL(movstrSI4))
84.535 -+ ENDFUNC(GLOBAL(movstrSI0))
84.536 -+
84.537 - .align 4
84.538 -
84.539 - .global GLOBAL(movstr)
84.540 -+ FUNC(GLOBAL(movstr))
84.541 - GLOBAL(movstr):
84.542 - mov.l @(60,r5),r0
84.543 - mov.l r0,@(60,r4)
84.544 -@@ -775,6 +895,8 @@
84.545 - add #64,r5
84.546 - bra GLOBAL(movstr)
84.547 - add #64,r4
84.548 -+
84.549 -+ FUNC(GLOBAL(movstr))
84.550 - #endif
84.551 -
84.552 - #ifdef L_movstr_i4
84.553 -@@ -783,6 +905,10 @@
84.554 - .global GLOBAL(movstr_i4_odd)
84.555 - .global GLOBAL(movstrSI12_i4)
84.556 -
84.557 -+ FUNC(GLOBAL(movstr_i4_even))
84.558 -+ FUNC(GLOBAL(movstr_i4_odd))
84.559 -+ FUNC(GLOBAL(movstrSI12_i4))
84.560 -+
84.561 - .p2align 5
84.562 - L_movstr_2mod4_end:
84.563 - mov.l r0,@(16,r4)
84.564 -@@ -791,6 +917,11 @@
84.565 -
84.566 - .p2align 2
84.567 -
84.568 -+GLOBAL(movstr_i4_even):
84.569 -+ mov.l @r5+,r0
84.570 -+ bra L_movstr_start_even
84.571 -+ mov.l @r5+,r1
84.572 -+
84.573 - GLOBAL(movstr_i4_odd):
84.574 - mov.l @r5+,r1
84.575 - add #-4,r4
84.576 -@@ -817,10 +948,8 @@
84.577 - rts
84.578 - mov.l r3,@(12,r4)
84.579 -
84.580 --GLOBAL(movstr_i4_even):
84.581 -- mov.l @r5+,r0
84.582 -- bra L_movstr_start_even
84.583 -- mov.l @r5+,r1
84.584 -+ ENDFUNC(GLOBAL(movstr_i4_even))
84.585 -+ ENDFUNC(GLOBAL(movstr_i4_odd))
84.586 -
84.587 - .p2align 4
84.588 - GLOBAL(movstrSI12_i4):
84.589 -@@ -831,12 +960,16 @@
84.590 - mov.l r1,@(4,r4)
84.591 - rts
84.592 - mov.l r2,@(8,r4)
84.593 -+
84.594 -+ ENDFUNC(GLOBAL(movstrSI12_i4))
84.595 -+
84.596 - #endif
84.597 -
84.598 - #ifdef L_mulsi3
84.599 -
84.600 -
84.601 - .global GLOBAL(mulsi3)
84.602 -+ FUNC(GLOBAL(mulsi3))
84.603 -
84.604 - ! r4 = aabb
84.605 - ! r5 = ccdd
84.606 -@@ -869,7 +1002,7 @@
84.607 - rts
84.608 - add r2,r0
84.609 -
84.610 --
84.611 -+ FUNC(GLOBAL(mulsi3))
84.612 - #endif
84.613 - #endif /* ! __SH5__ */
84.614 - #ifdef L_sdivsi3_i4
84.615 -@@ -879,6 +1012,7 @@
84.616 - !! args in r4 and r5, result in fpul, clobber dr0, dr2
84.617 -
84.618 - .global GLOBAL(sdivsi3_i4)
84.619 -+ FUNC(GLOBAL(sdivsi3_i4))
84.620 - GLOBAL(sdivsi3_i4):
84.621 - lds r4,fpul
84.622 - float fpul,dr0
84.623 -@@ -888,6 +1022,8 @@
84.624 - rts
84.625 - ftrc dr0,fpul
84.626 -
84.627 -+ ENDFUNC(GLOBAL(sdivsi3_i4))
84.628 -+
84.629 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
84.630 - !! args in r4 and r5, result in fpul, clobber r2, dr0, dr2
84.631 -
84.632 -@@ -896,6 +1032,7 @@
84.633 - .mode SHcompact
84.634 - #endif
84.635 - .global GLOBAL(sdivsi3_i4)
84.636 -+ FUNC(GLOBAL(sdivsi3_i4))
84.637 - GLOBAL(sdivsi3_i4):
84.638 - sts.l fpscr,@-r15
84.639 - mov #8,r2
84.640 -@@ -910,6 +1047,8 @@
84.641 - rts
84.642 - lds.l @r15+,fpscr
84.643 -
84.644 -+ ENDFUNC(GLOBAL(sdivsi3_i4))
84.645 -+
84.646 - #endif /* ! __SH5__ || __SH5__ == 32 */
84.647 - #endif /* ! __SH4__ */
84.648 - #endif
84.649 -@@ -924,9 +1063,10 @@
84.650 - !!
84.651 - !!
84.652 -
84.653 --!! args in r4 and r5, result in r0 clobber r1,r2,r3
84.654 -+!! args in r4 and r5, result in r0 clobber r1, r2, r3, and t bit
84.655 -
84.656 - .global GLOBAL(sdivsi3)
84.657 -+ FUNC(GLOBAL(sdivsi3))
84.658 - #if __SHMEDIA__
84.659 - #if __SH5__ == 32
84.660 - .section .text..SHmedia32,"ax"
84.661 -@@ -1076,6 +1216,7 @@
84.662 - div0: rts
84.663 - mov #0,r0
84.664 -
84.665 -+ ENDFUNC(GLOBAL(sdivsi3))
84.666 - #endif /* ! __SHMEDIA__ */
84.667 - #endif /* ! __SH4__ */
84.668 - #endif
84.669 -@@ -1084,9 +1225,11 @@
84.670 - .title "SH DIVIDE"
84.671 - !! 4 byte integer Divide code for the Hitachi SH
84.672 - #ifdef __SH4__
84.673 --!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
84.674 -+!! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4,
84.675 -+!! and t bit
84.676 -
84.677 - .global GLOBAL(udivsi3_i4)
84.678 -+ FUNC(GLOBAL(udivsi3_i4))
84.679 - GLOBAL(udivsi3_i4):
84.680 - mov #1,r1
84.681 - cmp/hi r1,r5
84.682 -@@ -1127,6 +1270,8 @@
84.683 - L1:
84.684 - .double 2147483648
84.685 -
84.686 -+ ENDFUNC(GLOBAL(udivsi3_i4))
84.687 -+
84.688 - #elif defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) || (defined (__SH5__) && ! defined __SH4_NOFPU__)
84.689 - !! args in r4 and r5, result in fpul, clobber r0, r1, r4, r5, dr0, dr2, dr4
84.690 -
84.691 -@@ -1135,6 +1280,7 @@
84.692 - .mode SHcompact
84.693 - #endif
84.694 - .global GLOBAL(udivsi3_i4)
84.695 -+ FUNC(GLOBAL(udivsi3_i4))
84.696 - GLOBAL(udivsi3_i4):
84.697 - mov #1,r1
84.698 - cmp/hi r1,r5
84.699 -@@ -1183,6 +1329,8 @@
84.700 - #endif
84.701 - .double 2147483648
84.702 -
84.703 -+ ENDFUNC(GLOBAL(udivsi3_i4))
84.704 -+
84.705 - #endif /* ! __SH5__ || __SH5__ == 32 */
84.706 - #endif /* ! __SH4__ */
84.707 - #endif
84.708 -@@ -1199,6 +1347,7 @@
84.709 -
84.710 - !! args in r4 and r5, result in r0, clobbers r4, pr, and t bit
84.711 - .global GLOBAL(udivsi3)
84.712 -+ FUNC(GLOBAL(udivsi3))
84.713 -
84.714 - #if __SHMEDIA__
84.715 - #if __SH5__ == 32
84.716 -@@ -1299,6 +1448,8 @@
84.717 - ret: rts
84.718 - mov r4,r0
84.719 -
84.720 -+ ENDFUNC(GLOBAL(udivsi3))
84.721 -+
84.722 - #endif /* ! __SHMEDIA__ */
84.723 - #endif /* __SH4__ */
84.724 - #endif
84.725 -@@ -1308,6 +1459,7 @@
84.726 - .mode SHcompact
84.727 - #endif
84.728 - .global GLOBAL(set_fpscr)
84.729 -+ FUNC(GLOBAL(set_fpscr))
84.730 - GLOBAL(set_fpscr):
84.731 - lds r4,fpscr
84.732 - mov.l LOCAL(set_fpscr_L1),r1
84.733 -@@ -1340,11 +1492,16 @@
84.734 - .align 2
84.735 - LOCAL(set_fpscr_L1):
84.736 - .long GLOBAL(fpscr_values)
84.737 -+
84.738 -+ ENDFUNC(GLOBAL(set_fpscr))
84.739 -+
84.740 -+#ifndef NO_FPSCR_VALUES
84.741 - #ifdef __ELF__
84.742 - .comm GLOBAL(fpscr_values),8,4
84.743 - #else
84.744 - .comm GLOBAL(fpscr_values),8
84.745 - #endif /* ELF */
84.746 -+#endif /* NO_FPSCR_VALUES */
84.747 - #endif /* SH3E / SH4 */
84.748 - #endif /* L_set_fpscr */
84.749 - #ifdef L_ic_invalidate
84.750 -@@ -1360,6 +1517,7 @@
84.751 - blink tr0, r63
84.752 - #elif defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
84.753 - .global GLOBAL(ic_invalidate)
84.754 -+ FUNC(GLOBAL(ic_invalidate))
84.755 - GLOBAL(ic_invalidate):
84.756 - ocbwb @r4
84.757 - mova 0f,r0
84.758 -@@ -1382,6 +1540,9 @@
84.759 - nop
84.760 - .endr
84.761 - .endr
84.762 -+
84.763 -+ ENDFUNC(GLOBAL(ic_invalidate))
84.764 -+
84.765 - #endif /* SH4 */
84.766 - #endif /* L_ic_invalidate */
84.767 -
84.768 -diff -ruN gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver gcc-20030210/gcc/config/sh/libgcc-glibc.ver
84.769 ---- gcc-20030210.orig/gcc/config/sh/libgcc-glibc.ver Thu Jan 1 09:00:00 1970
84.770 -+++ gcc-20030210/gcc/config/sh/libgcc-glibc.ver Sat Feb 22 01:40:14 2003
84.771 -@@ -0,0 +1,21 @@
84.772 -+# In order to work around the very problems that force us to now generally
84.773 -+# create a libgcc.so, glibc reexported a number of routines from libgcc.a.
84.774 -+# By now choosing the same version tags for these specific routines, we
84.775 -+# maintain enough binary compatibility to allow future versions of glibc
84.776 -+# to defer implementation of these routines to libgcc.so via DT_AUXILIARY.
84.777 -+
84.778 -+# Note that we cannot use the default libgcc-glibc.ver file on sh,
84.779 -+# because GLIBC_2.0 does not exist on this architecture, as the first
84.780 -+# ever glibc release on the platform was GLIBC_2.2.
84.781 -+
84.782 -+%inherit GCC_3.0 GLIBC_2.2
84.783 -+GLIBC_2.2 {
84.784 -+ __register_frame
84.785 -+ __register_frame_table
84.786 -+ __deregister_frame
84.787 -+ __register_frame_info
84.788 -+ __deregister_frame_info
84.789 -+ __frame_state_for
84.790 -+ __register_frame_info_table
84.791 -+}
84.792 -+
84.793 -diff -ruN gcc-20030210.orig/gcc/config/sh/linux.h gcc-20030210/gcc/config/sh/linux.h
84.794 ---- gcc-20030210.orig/gcc/config/sh/linux.h Tue Apr 16 05:27:42 2002
84.795 -+++ gcc-20030210/gcc/config/sh/linux.h Sat Feb 22 01:40:14 2003
84.796 -@@ -19,6 +19,10 @@
84.797 - the Free Software Foundation, 59 Temple Place - Suite 330,
84.798 - Boston, MA 02111-1307, USA. */
84.799 -
84.800 -+/* We're not SYSVR4, not having /usr/ccs */
84.801 -+#undef MD_EXEC_PREFIX
84.802 -+#undef MD_STARTFILE_PREFIX
84.803 -+
84.804 - /* Run-time Target Specification. */
84.805 - #undef TARGET_VERSION
84.806 - #define TARGET_VERSION fputs (" (SH GNU/Linux with ELF)", stderr);
84.807 -@@ -39,6 +43,28 @@
84.808 - #undef WCHAR_TYPE_SIZE
84.809 - #define WCHAR_TYPE_SIZE BITS_PER_WORD
84.810 -
84.811 -+/* This was defined in linux.h. Define it here also. */
84.812 -+#undef DEFAULT_VTABLE_THUNKS
84.813 -+#define DEFAULT_VTABLE_THUNKS 1
84.814 -+
84.815 -+/* Likewise. */
84.816 -+#define HANDLE_PRAGMA_PACK_PUSH_POP
84.817 -+
84.818 -+/* Pick up the return address upon entry to a procedure. Used for
84.819 -+ dwarf2 unwind information. This also enables the table driven
84.820 -+ mechanism. */
84.821 -+
84.822 -+#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (Pmode, PR_REG)
84.823 -+#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PR_REG)
84.824 -+
84.825 -+#undef CPP_SPEC
84.826 -+#define CPP_SPEC "\
84.827 -+ %{m4:-D__SH4__} \
84.828 -+ %{!m4:%(cpp_default_cpu_spec)} \
84.829 -+ %(subtarget_cpp_spec) \
84.830 -+ %(subtarget_cpp_ptr_spec) \
84.831 -+ %(subtarget_cpp_endian_spec) "
84.832 -+
84.833 - #undef SUBTARGET_CPP_SPEC
84.834 - #define SUBTARGET_CPP_SPEC "\
84.835 - %{fPIC:-D__PIC__ -D__pic__} \
84.836 -@@ -55,36 +81,45 @@
84.837 - #undef CPP_DEFAULT_CPU_SPEC
84.838 - #define CPP_DEFAULT_CPU_SPEC "-D__SH3__ -D__sh3__"
84.839 -
84.840 --
84.841 - #undef CPP_PREDEFINES
84.842 - #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__sh__ -D__gnu_linux__ -Dlinux -Asystem=posix"
84.843 -
84.844 -+/* The GNU C++ standard library requires that these macros be defined. */
84.845 -+#undef CPLUSPLUS_CPP_SPEC
84.846 -+#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
84.847 -+
84.848 - #undef ASM_SPEC
84.849 --#define ASM_SPEC "%{!mb:-little} %{mrelax:-relax}"
84.850 -+#define ASM_SPEC "%{mb:-big} %{!mb:-little} %{mrelax:-relax}"
84.851 -
84.852 - #undef CC1_SPEC
84.853 - #define CC1_SPEC \
84.854 -- "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"
84.855 --
84.856 --#undef CC1PLUS_SPEC
84.857 --#define CC1PLUS_SPEC \
84.858 -- "-musermode %{!mb:-ml} %{!m3e:%{!m4:-m3}}"
84.859 -+ "-musermode %{!mb:-ml} %{!m4:-m3} %{profile:-p}"
84.860 -
84.861 -+/* XXX: It's wrong if prefix != /usr */
84.862 - #undef LINK_SPEC
84.863 - #define LINK_SPEC \
84.864 -- "%{!mb:-m shlelf_linux} %{mrelax:-relax} \
84.865 -+ "%{!mb:-m shlelf_linux -EL} %{mb:-m shelf_linux -EB} %{mrelax:-relax} \
84.866 - %{shared:-shared} \
84.867 - %{!static: \
84.868 - %{rdynamic:-export-dynamic} \
84.869 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
84.870 -- %{!rpath:-rpath /lib}} \
84.871 -+ %{!mb:%{!m4:-rpath-link /usr/sh-linux/lib }} \
84.872 -+ %{!mb:%{m4:-rpath-link /usr/sh-linux/lib/m4 }} \
84.873 -+ %{mb:%{!m4:-rpath-link /usr/sh-linux/lib/mb }} \
84.874 -+ %{mb:%{m4:-rpath-link /usr/sh-linux/lib/mb/m4 }}} \
84.875 - %{static:-static}"
84.876 -
84.877 - #undef LIB_SPEC
84.878 -+#undef LIB_SPEC
84.879 - #define LIB_SPEC \
84.880 - "%{shared: -lc} \
84.881 -- %{!shared: %{pthread:-lthread} \
84.882 -- %{profile:-lc_p} %{!profile: -lc}}"
84.883 -+ %{!shared: %{mieee:-lieee} %{pthread:-lpthread} \
84.884 -+ %{profile:-lc_p} %{!profile: -lc}}"
84.885 -+
84.886 -+#if defined(HAVE_LD_EH_FRAME_HDR)
84.887 -+#undef LINK_EH_SPEC
84.888 -+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
84.889 -+#endif
84.890 -
84.891 - #undef STARTFILE_SPEC
84.892 - #define STARTFILE_SPEC \
84.893 -@@ -92,4 +127,40 @@
84.894 - %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
84.895 - %{!p:%{profile:gcrt1.o%s} \
84.896 - %{!profile:crt1.o%s}}}} \
84.897 -- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
84.898 -+ crti.o%s %{static:crtbeginT.o%s}\
84.899 -+ %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
84.900 -+
84.901 -+#undef FUNCTION_PROFILER
84.902 -+#define FUNCTION_PROFILER(STREAM,LABELNO) \
84.903 -+do \
84.904 -+{ \
84.905 -+ if (flag_pic) \
84.906 -+ { \
84.907 -+ fprintf (STREAM, " mov.l 3f,r1\n"); \
84.908 -+ fprintf (STREAM, " mova 3f,r0\n"); \
84.909 -+ fprintf (STREAM, " add r1,r0\n"); \
84.910 -+ fprintf (STREAM, " mov.l 1f,r1\n"); \
84.911 -+ fprintf (STREAM, " mov.l @(r0,r1),r1\n"); \
84.912 -+ } \
84.913 -+ else \
84.914 -+ { \
84.915 -+ fprintf (STREAM, " mov.l 1f,r1\n"); \
84.916 -+ } \
84.917 -+ fprintf (STREAM, " sts.l pr,@-r15\n"); \
84.918 -+ fprintf (STREAM, " mova 2f,r0\n"); \
84.919 -+ fprintf (STREAM, " jmp @r1\n"); \
84.920 -+ fprintf (STREAM, " lds r0,pr\n"); \
84.921 -+ fprintf (STREAM, " .align 2\n"); \
84.922 -+ if (flag_pic) \
84.923 -+ { \
84.924 -+ fprintf (STREAM, "1: .long mcount@GOT\n"); \
84.925 -+ fprintf (STREAM, "3: .long _GLOBAL_OFFSET_TABLE_\n"); \
84.926 -+ } \
84.927 -+ else \
84.928 -+ { \
84.929 -+ fprintf (STREAM, "1: .long mcount\n"); \
84.930 -+ } \
84.931 -+ fprintf (STREAM, "2: lds.l @r15+,pr\n"); \
84.932 -+} while (0)
84.933 -+
84.934 -+#define NO_SHARED_LIBGCC_MULTILIB
84.935 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh-protos.h gcc-20030210/gcc/config/sh/sh-protos.h
84.936 ---- gcc-20030210.orig/gcc/config/sh/sh-protos.h Fri Feb 22 01:42:28 2002
84.937 -+++ gcc-20030210/gcc/config/sh/sh-protos.h Sat Feb 22 01:40:14 2003
84.938 -@@ -74,6 +74,7 @@
84.939 - extern int shl_sext_length PARAMS ((rtx));
84.940 - extern int gen_shl_sext PARAMS ((rtx, rtx, rtx, rtx));
84.941 - extern rtx gen_datalabel_ref PARAMS ((rtx));
84.942 -+extern int shl_casesi_worker_length PARAMS ((rtx));
84.943 - extern int regs_used PARAMS ((rtx, int));
84.944 - extern void fixup_addr_diff_vecs PARAMS ((rtx));
84.945 - extern int get_dest_uid PARAMS ((rtx, int));
84.946 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.c gcc-20030210/gcc/config/sh/sh.c
84.947 ---- gcc-20030210.orig/gcc/config/sh/sh.c Fri Feb 22 01:42:28 2002
84.948 -+++ gcc-20030210/gcc/config/sh/sh.c Sat Feb 22 01:40:14 2003
84.949 -@@ -2143,6 +2143,48 @@
84.950 - return sym;
84.951 - }
84.952 -
84.953 -+
84.954 -+/* Function to be used in the length attribute of the casesi_worker
84.955 -+ instruction. Returns number of instructions, which is half of the
84.956 -+ length of bytes. */
84.957 -+
84.958 -+int
84.959 -+shl_casesi_worker_length (insn)
84.960 -+ rtx insn;
84.961 -+{
84.962 -+ rtx set_src, label;
84.963 -+ rtx diff_vec;
84.964 -+
84.965 -+ set_src = SET_SRC (XVECEXP (PATTERN (insn), 0, 0));
84.966 -+ if (!(GET_CODE (set_src) == UNSPEC
84.967 -+ && XINT (set_src, 1) == UNSPEC_CASESI))
84.968 -+ abort ();
84.969 -+
84.970 -+ label = XVECEXP (set_src, 0, 2);
84.971 -+ if (GET_CODE (label) != LABEL_REF)
84.972 -+ abort ();
84.973 -+
84.974 -+ diff_vec = PATTERN (next_real_insn (XEXP (label, 0)));
84.975 -+
84.976 -+ if (GET_CODE (diff_vec) != ADDR_DIFF_VEC)
84.977 -+ abort ();
84.978 -+
84.979 -+ switch (GET_MODE (diff_vec))
84.980 -+ {
84.981 -+ case SImode:
84.982 -+ return 2;
84.983 -+ case HImode:
84.984 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
84.985 -+ return 3;
84.986 -+ return 2;
84.987 -+ case QImode:
84.988 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
84.989 -+ return 2;
84.990 -+ return 1;
84.991 -+ default:
84.992 -+ abort ();
84.993 -+ }
84.994 -+}
84.995 -
84.996 - /* The SH cannot load a large constant into a register, constants have to
84.997 - come from a pc relative load. The reference of a pc relative load
84.998 -@@ -3190,7 +3232,7 @@
84.999 - vec_lab = XEXP (XEXP (pat, 0), 0);
84.1000 -
84.1001 - /* Search the matching casesi_jump_2. */
84.1002 -- for (prev = vec_lab; ; prev = PREV_INSN (prev))
84.1003 -+ for (prev = vec_lab; prev; prev = PREV_INSN (prev))
84.1004 - {
84.1005 - if (GET_CODE (prev) != JUMP_INSN)
84.1006 - continue;
84.1007 -@@ -3205,6 +3247,13 @@
84.1008 - break;
84.1009 - }
84.1010 -
84.1011 -+ if (prev == NULL)
84.1012 -+ { /* Switch statement has been optimized out. */
84.1013 -+ delete_insn (PREV_INSN (insn));
84.1014 -+ delete_insn (insn);
84.1015 -+ continue;
84.1016 -+ }
84.1017 -+
84.1018 - /* Emit the reference label of the braf where it belongs, right after
84.1019 - the casesi_jump_2 (i.e. braf). */
84.1020 - braf_label = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0);
84.1021 -@@ -3223,7 +3272,7 @@
84.1022 - rtx barrier_or_label;
84.1023 - {
84.1024 - rtx next = next_real_insn (barrier_or_label), pat, prev;
84.1025 -- int slot, credit, jump_to_next;
84.1026 -+ int slot, credit, jump_to_next = 0;
84.1027 -
84.1028 - if (! next)
84.1029 - return 0;
84.1030 -@@ -4507,7 +4556,8 @@
84.1031 - if (current_function_varargs || current_function_stdarg)
84.1032 - {
84.1033 - /* This is not used by the SH3E calling convention */
84.1034 -- if (TARGET_SH1 && ! TARGET_SH3E && ! TARGET_SH5 && ! TARGET_HITACHI)
84.1035 -+ if (TARGET_SH1 && ! TARGET_SH3E && ! TARGET_SH5 && ! TARGET_HITACHI
84.1036 -+ || TARGET_NO_IMPLICIT_FP)
84.1037 - {
84.1038 - /* Push arg regs as if they'd been provided by caller in stack. */
84.1039 - for (i = 0; i < NPARM_REGS(SImode); i++)
84.1040 -@@ -5149,7 +5199,8 @@
84.1041 - tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack;
84.1042 - tree record;
84.1043 -
84.1044 -- if (TARGET_SH5 || (! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI)
84.1045 -+ if (TARGET_SH5 || (! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI
84.1046 -+ || TARGET_NO_IMPLICIT_FP)
84.1047 - return ptr_type_node;
84.1048 -
84.1049 - record = make_node (RECORD_TYPE);
84.1050 -@@ -5211,7 +5262,8 @@
84.1051 - return;
84.1052 - }
84.1053 -
84.1054 -- if ((! TARGET_SH3E && ! TARGET_SH4) || TARGET_HITACHI)
84.1055 -+ if ((! TARGET_SH3E && ! TARGET_SH4)
84.1056 -+ || TARGET_HITACHI || TARGET_NO_IMPLICIT_FP)
84.1057 - {
84.1058 - std_expand_builtin_va_start (stdarg_p, valist, nextarg);
84.1059 - return;
84.1060 -@@ -5289,7 +5341,8 @@
84.1061 - rsize = (size + UNITS_PER_WORD - 1) & -UNITS_PER_WORD;
84.1062 - pptr_type_node = build_pointer_type (ptr_type_node);
84.1063 -
84.1064 -- if (! TARGET_SH5 && (TARGET_SH3E || TARGET_SH4) && ! TARGET_HITACHI)
84.1065 -+ if (! TARGET_SH5 && (TARGET_SH3E || TARGET_SH4)
84.1066 -+ && ! TARGET_HITACHI && ! TARGET_NO_IMPLICIT_FP)
84.1067 - {
84.1068 - tree f_next_o, f_next_o_limit, f_next_fp, f_next_fp_limit, f_next_stack;
84.1069 - tree next_o, next_o_limit, next_fp, next_fp_limit, next_stack;
84.1070 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.h gcc-20030210/gcc/config/sh/sh.h
84.1071 ---- gcc-20030210.orig/gcc/config/sh/sh.h Fri Feb 22 01:42:28 2002
84.1072 -+++ gcc-20030210/gcc/config/sh/sh.h Sat Feb 22 01:40:14 2003
84.1073 -@@ -147,10 +147,10 @@
84.1074 - #define HARD_SH4_BIT (1<<5)
84.1075 - #define FPU_SINGLE_BIT (1<<7)
84.1076 - #define SH4_BIT (1<<12)
84.1077 -+#define NO_IMPLICIT_FP_BIT (1<<3)
84.1078 - #define FMOVD_BIT (1<<4)
84.1079 - #define SH5_BIT (1<<0)
84.1080 - #define SPACE_BIT (1<<13)
84.1081 --#define BIGTABLE_BIT (1<<14)
84.1082 - #define RELAX_BIT (1<<15)
84.1083 - #define USERMODE_BIT (1<<16)
84.1084 - #define HITACHI_BIT (1<<22)
84.1085 -@@ -205,6 +205,9 @@
84.1086 - /* Nonzero if we should generate code for a SH5 CPU (either ISA). */
84.1087 - #define TARGET_SH5 (target_flags & SH5_BIT)
84.1088 -
84.1089 -+/* Nonzero if we should not use FPU implicitly. */
84.1090 -+#define TARGET_NO_IMPLICIT_FP (target_flags & NO_IMPLICIT_FP_BIT)
84.1091 -+
84.1092 - /* Nonzero if we should generate code using the SHcompact instruction
84.1093 - set and 32-bit ABI. */
84.1094 - #define TARGET_SHCOMPACT (TARGET_SH5 && TARGET_SH1)
84.1095 -@@ -225,6 +228,7 @@
84.1096 -
84.1097 - /* Nonzero if we should generate code using SHmedia FPU instructions. */
84.1098 - #define TARGET_SHMEDIA_FPU (TARGET_SHMEDIA && TARGET_FPU_DOUBLE)
84.1099 -+
84.1100 - /* Nonzero if we should generate fmovd. */
84.1101 - #define TARGET_FMOVD (target_flags & FMOVD_BIT)
84.1102 -
84.1103 -@@ -234,9 +238,6 @@
84.1104 - /* Nonzero if we should generate smaller code rather than faster code. */
84.1105 - #define TARGET_SMALLCODE (target_flags & SPACE_BIT)
84.1106 -
84.1107 --/* Nonzero to use long jump tables. */
84.1108 --#define TARGET_BIGTABLE (target_flags & BIGTABLE_BIT)
84.1109 --
84.1110 - /* Nonzero to generate pseudo-ops needed by the assembler and linker
84.1111 - to do function call relaxing. */
84.1112 - #define TARGET_RELAX (target_flags & RELAX_BIT)
84.1113 -@@ -297,7 +298,6 @@
84.1114 - {"5-compact-nofpu", TARGET_NONE, "" }, \
84.1115 - {"5-compact-nofpu", SH5_BIT|SH3_BIT|SH2_BIT|SH1_BIT, "Generate FPU-less SHcompact code" }, \
84.1116 - {"b", -LITTLE_ENDIAN_BIT, "" }, \
84.1117 -- {"bigtable", BIGTABLE_BIT, "" }, \
84.1118 - {"dalign", DALIGN_BIT, "" }, \
84.1119 - {"fmovd", FMOVD_BIT, "" }, \
84.1120 - {"hitachi", HITACHI_BIT, "" }, \
84.1121 -@@ -306,6 +306,7 @@
84.1122 - {"isize", ISIZE_BIT, "" }, \
84.1123 - {"l", LITTLE_ENDIAN_BIT, "" }, \
84.1124 - {"no-ieee", -IEEE_BIT, "" }, \
84.1125 -+ {"no-implicit-fp", NO_IMPLICIT_FP_BIT, "" }, \
84.1126 - {"padstruct", PADSTRUCT_BIT, "" }, \
84.1127 - {"prefergot", PREFERGOT_BIT, "" }, \
84.1128 - {"relax", RELAX_BIT, "" }, \
84.1129 -@@ -2493,16 +2494,22 @@
84.1130 - goto LABEL; \
84.1131 - }
84.1132 -
84.1133 -+extern int optimize; /* needed for gen_casesi. */
84.1134 -+extern int optimize_size;
84.1135 -+
84.1136 - /* Specify the machine mode that this machine uses
84.1137 - for the index in the tablejump instruction. */
84.1138 --#define CASE_VECTOR_MODE (TARGET_BIGTABLE ? SImode : HImode)
84.1139 -+#define CASE_VECTOR_MODE SImode
84.1140 -
84.1141 - #define CASE_VECTOR_SHORTEN_MODE(MIN_OFFSET, MAX_OFFSET, BODY) \
84.1142 - ((MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 127 \
84.1143 - ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 0, QImode) \
84.1144 - : (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 255 \
84.1145 - ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 1, QImode) \
84.1146 -- : (MIN_OFFSET) >= -32768 && (MAX_OFFSET) <= 32767 ? HImode \
84.1147 -+ : (MIN_OFFSET) >= -32768 && (MAX_OFFSET) <= 32767 \
84.1148 -+ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 0, HImode) \
84.1149 -+ : optimize_size && (MIN_OFFSET) >= 0 && (MAX_OFFSET) <= 65535 \
84.1150 -+ ? (ADDR_DIFF_VEC_FLAGS (BODY).offset_unsigned = 1, HImode) \
84.1151 - : SImode)
84.1152 -
84.1153 - /* Define as C expression which evaluates to nonzero if the tablejump
84.1154 -@@ -3038,10 +3045,7 @@
84.1155 - /* Output an absolute table element. */
84.1156 -
84.1157 - #define ASM_OUTPUT_ADDR_VEC_ELT(STREAM,VALUE) \
84.1158 -- if (TARGET_BIGTABLE) \
84.1159 -- asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE)); \
84.1160 -- else \
84.1161 -- asm_fprintf ((STREAM), "\t.word\t%LL%d\n", (VALUE)); \
84.1162 -+ asm_fprintf ((STREAM), "\t.long\t%LL%d\n", (VALUE))
84.1163 -
84.1164 - /* Output various types of constants. */
84.1165 -
84.1166 -@@ -3167,8 +3171,6 @@
84.1167 - #define sh_cpu_attr ((enum attr_cpu)sh_cpu)
84.1168 - extern enum processor_type sh_cpu;
84.1169 -
84.1170 --extern int optimize; /* needed for gen_casesi. */
84.1171 --
84.1172 - enum mdep_reorg_phase_e
84.1173 - {
84.1174 - SH_BEFORE_MDEP_REORG,
84.1175 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh.md gcc-20030210/gcc/config/sh/sh.md
84.1176 ---- gcc-20030210.orig/gcc/config/sh/sh.md Sat Nov 23 04:58:06 2002
84.1177 -+++ gcc-20030210/gcc/config/sh/sh.md Sat Feb 22 01:40:14 2003
84.1178 -@@ -1242,7 +1242,7 @@
84.1179 - (clobber (reg:SI PR_REG))
84.1180 - (clobber (reg:SI R4_REG))
84.1181 - (use (match_operand:SI 1 "arith_reg_operand" "r"))]
84.1182 -- "TARGET_SH1 && ! TARGET_SH4"
84.1183 -+ "TARGET_SH1 && ! TARGET_SH4 || TARGET_NO_IMPLICIT_FP"
84.1184 - "jsr @%1%#"
84.1185 - [(set_attr "type" "sfunc")
84.1186 - (set_attr "needs_delay_slot" "yes")])
84.1187 -@@ -1336,7 +1336,7 @@
84.1188 -
84.1189 - operands[3] = gen_reg_rtx (Pmode);
84.1190 - /* Emit the move of the address to a pseudo outside of the libcall. */
84.1191 -- if (TARGET_HARD_SH4 && TARGET_SH3E)
84.1192 -+ if (TARGET_HARD_SH4 && TARGET_SH3E && !TARGET_NO_IMPLICIT_FP)
84.1193 - {
84.1194 - emit_move_insn (operands[3],
84.1195 - gen_rtx_SYMBOL_REF (SImode, \"__udivsi3_i4\"));
84.1196 -@@ -1391,7 +1391,7 @@
84.1197 - (clobber (reg:SI R2_REG))
84.1198 - (clobber (reg:SI R3_REG))
84.1199 - (use (match_operand:SI 1 "arith_reg_operand" "r"))]
84.1200 -- "TARGET_SH1 && ! TARGET_SH4"
84.1201 -+ "TARGET_SH1 && ! TARGET_SH4 || TARGET_NO_IMPLICIT_FP"
84.1202 - "jsr @%1%#"
84.1203 - [(set_attr "type" "sfunc")
84.1204 - (set_attr "needs_delay_slot" "yes")])
84.1205 -@@ -1476,7 +1476,7 @@
84.1206 -
84.1207 - operands[3] = gen_reg_rtx (Pmode);
84.1208 - /* Emit the move of the address to a pseudo outside of the libcall. */
84.1209 -- if (TARGET_HARD_SH4 && TARGET_SH3E)
84.1210 -+ if (TARGET_HARD_SH4 && TARGET_SH3E && !TARGET_NO_IMPLICIT_FP)
84.1211 - {
84.1212 - emit_move_insn (operands[3],
84.1213 - gen_rtx_SYMBOL_REF (SImode, \"__sdivsi3_i4\"));
84.1214 -@@ -6446,6 +6446,8 @@
84.1215 - case SImode:
84.1216 - return \"shll2 %1\;mov.l @(r0,%1),%0\";
84.1217 - case HImode:
84.1218 -+ if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
84.1219 -+ return \"add %1,%1\;mov.w @(r0,%1),%0\;extu.w %0,%0\";
84.1220 - return \"add %1,%1\;mov.w @(r0,%1),%0\";
84.1221 - case QImode:
84.1222 - if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
84.1223 -@@ -6455,7 +6457,15 @@
84.1224 - abort ();
84.1225 - }
84.1226 - }"
84.1227 -- [(set_attr "length" "4")])
84.1228 -+ [(set (attr "length")
84.1229 -+ (cond [(eq (symbol_ref "shl_casesi_worker_length (insn)") (const_int 1))
84.1230 -+ (const_string "2")
84.1231 -+ (eq (symbol_ref "shl_casesi_worker_length (insn)") (const_int 2))
84.1232 -+ (const_string "4")
84.1233 -+ ;; Put "match_dup" here so that insn_variable_length_p return 1.
84.1234 -+ (ne (match_dup 2) (match_dup 2))
84.1235 -+ (const_string "4")]
84.1236 -+ (const_string "6")))])
84.1237 -
84.1238 - (define_insn "casesi_shift_media"
84.1239 - [(set (match_operand 0 "arith_reg_operand" "=r")
84.1240 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh3-linux.h gcc-20030210/gcc/config/sh/sh3-linux.h
84.1241 ---- gcc-20030210.orig/gcc/config/sh/sh3-linux.h Thu Jan 1 09:00:00 1970
84.1242 -+++ gcc-20030210/gcc/config/sh/sh3-linux.h Sat Feb 22 01:40:14 2003
84.1243 -@@ -0,0 +1,29 @@
84.1244 -+#undef TARGET_VERSION
84.1245 -+#define TARGET_VERSION fputs (" (SH3 GNU/Linux with ELF)", stderr);
84.1246 -+
84.1247 -+#undef CPP_SPEC
84.1248 -+#define CPP_SPEC \
84.1249 -+ "-D__LITTLE_ENDIAN__ \
84.1250 -+ -D__SH3__ -D__sh3__ \
84.1251 -+ -D__SIZE_TYPE__=unsigned\\ int \
84.1252 -+ -D__PTRDIFF_TYPE__=int \
84.1253 -+ %{fPIC:-D__PIC__ -D__pic__} \
84.1254 -+ %{fpic:-D__PIC__ -D__pic__} \
84.1255 -+ %{posix:-D_POSIX_SOURCE} \
84.1256 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
84.1257 -+
84.1258 -+#undef ASM_SPEC
84.1259 -+#define ASM_SPEC "%{mrelax:-relax}"
84.1260 -+
84.1261 -+#undef CC1_SPEC
84.1262 -+#define CC1_SPEC \
84.1263 -+ "-musermode -ml -m3 %{profile:-p}"
84.1264 -+
84.1265 -+#undef LINK_SPEC
84.1266 -+#define LINK_SPEC \
84.1267 -+ "%{mrelax:-relax} \
84.1268 -+ %{shared:-shared} \
84.1269 -+ %{!static: \
84.1270 -+ %{rdynamic:-export-dynamic} \
84.1271 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
84.1272 -+ %{static:-static}"
84.1273 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh3eb-linux.h gcc-20030210/gcc/config/sh/sh3eb-linux.h
84.1274 ---- gcc-20030210.orig/gcc/config/sh/sh3eb-linux.h Thu Jan 1 09:00:00 1970
84.1275 -+++ gcc-20030210/gcc/config/sh/sh3eb-linux.h Sat Feb 22 01:40:14 2003
84.1276 -@@ -0,0 +1,29 @@
84.1277 -+#undef TARGET_VERSION
84.1278 -+#define TARGET_VERSION fputs (" (SH3EB GNU/Linux with ELF)", stderr);
84.1279 -+
84.1280 -+#undef CPP_SPEC
84.1281 -+#define CPP_SPEC \
84.1282 -+ "-D__BIG_ENDIAN__ \
84.1283 -+ -D__SH3__ -D__sh3__ \
84.1284 -+ -D__SIZE_TYPE__=unsigned\\ int \
84.1285 -+ -D__PTRDIFF_TYPE__=int \
84.1286 -+ %{fPIC:-D__PIC__ -D__pic__} \
84.1287 -+ %{fpic:-D__PIC__ -D__pic__} \
84.1288 -+ %{posix:-D_POSIX_SOURCE} \
84.1289 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
84.1290 -+
84.1291 -+#undef ASM_SPEC
84.1292 -+#define ASM_SPEC "%{mrelax:-relax}"
84.1293 -+
84.1294 -+#undef CC1_SPEC
84.1295 -+#define CC1_SPEC \
84.1296 -+ "-musermode -mb -m3 %{profile:-p}"
84.1297 -+
84.1298 -+#undef LINK_SPEC
84.1299 -+#define LINK_SPEC \
84.1300 -+ "%{mrelax:-relax} \
84.1301 -+ %{shared:-shared} \
84.1302 -+ %{!static: \
84.1303 -+ %{rdynamic:-export-dynamic} \
84.1304 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
84.1305 -+ %{static:-static}"
84.1306 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh4-linux.h gcc-20030210/gcc/config/sh/sh4-linux.h
84.1307 ---- gcc-20030210.orig/gcc/config/sh/sh4-linux.h Thu Jan 1 09:00:00 1970
84.1308 -+++ gcc-20030210/gcc/config/sh/sh4-linux.h Sat Feb 22 01:40:14 2003
84.1309 -@@ -0,0 +1,29 @@
84.1310 -+#undef TARGET_VERSION
84.1311 -+#define TARGET_VERSION fputs (" (SH4 GNU/Linux with ELF)", stderr);
84.1312 -+
84.1313 -+#undef CPP_SPEC
84.1314 -+#define CPP_SPEC \
84.1315 -+ "-D__LITTLE_ENDIAN__ \
84.1316 -+ -D__SH4__ \
84.1317 -+ -D__SIZE_TYPE__=unsigned\\ int \
84.1318 -+ -D__PTRDIFF_TYPE__=int \
84.1319 -+ %{fPIC:-D__PIC__ -D__pic__} \
84.1320 -+ %{fpic:-D__PIC__ -D__pic__} \
84.1321 -+ %{posix:-D_POSIX_SOURCE} \
84.1322 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
84.1323 -+
84.1324 -+#undef ASM_SPEC
84.1325 -+#define ASM_SPEC "%{mrelax:-relax}"
84.1326 -+
84.1327 -+#undef CC1_SPEC
84.1328 -+#define CC1_SPEC \
84.1329 -+ "-musermode -ml -m4 %{profile:-p}"
84.1330 -+
84.1331 -+#undef LINK_SPEC
84.1332 -+#define LINK_SPEC \
84.1333 -+ "%{mrelax:-relax} \
84.1334 -+ %{shared:-shared} \
84.1335 -+ %{!static: \
84.1336 -+ %{rdynamic:-export-dynamic} \
84.1337 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
84.1338 -+ %{static:-static}"
84.1339 -diff -ruN gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h gcc-20030210/gcc/config/sh/sh4eb-linux.h
84.1340 ---- gcc-20030210.orig/gcc/config/sh/sh4eb-linux.h Thu Jan 1 09:00:00 1970
84.1341 -+++ gcc-20030210/gcc/config/sh/sh4eb-linux.h Sat Feb 22 01:40:14 2003
84.1342 -@@ -0,0 +1,29 @@
84.1343 -+#undef TARGET_VERSION
84.1344 -+#define TARGET_VERSION fputs (" (SH4EB GNU/Linux with ELF)", stderr);
84.1345 -+
84.1346 -+#undef CPP_SPEC
84.1347 -+#define CPP_SPEC \
84.1348 -+ "-D__BIG_ENDIAN__ \
84.1349 -+ -D__SH4__ \
84.1350 -+ -D__SIZE_TYPE__=unsigned\\ int \
84.1351 -+ -D__PTRDIFF_TYPE__=int \
84.1352 -+ %{fPIC:-D__PIC__ -D__pic__} \
84.1353 -+ %{fpic:-D__PIC__ -D__pic__} \
84.1354 -+ %{posix:-D_POSIX_SOURCE} \
84.1355 -+ %{pthread:-D_REENTRANT -D_PTHREADS}"
84.1356 -+
84.1357 -+#undef ASM_SPEC
84.1358 -+#define ASM_SPEC "%{mrelax:-relax}"
84.1359 -+
84.1360 -+#undef CC1_SPEC
84.1361 -+#define CC1_SPEC \
84.1362 -+ "-musermode -mb -m4 %{profile:-p}"
84.1363 -+
84.1364 -+#undef LINK_SPEC
84.1365 -+#define LINK_SPEC \
84.1366 -+ "%{mrelax:-relax} \
84.1367 -+ %{shared:-shared} \
84.1368 -+ %{!static: \
84.1369 -+ %{rdynamic:-export-dynamic} \
84.1370 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
84.1371 -+ %{static:-static}"
84.1372 -diff -ruN gcc-20030210.orig/gcc/config/sh/t-linux gcc-20030210/gcc/config/sh/t-linux
84.1373 ---- gcc-20030210.orig/gcc/config/sh/t-linux Thu May 17 12:16:12 2001
84.1374 -+++ gcc-20030210/gcc/config/sh/t-linux Sat Feb 22 01:40:14 2003
84.1375 -@@ -1,10 +1,20 @@
84.1376 --TARGET_LIBGCC2_CFLAGS = -fpic
84.1377 -+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
84.1378 -+LIBGCC1 = libgcc1-asm.a
84.1379 -+CROSS_LIBGCC1 = libgcc1-asm.a
84.1380 -+LIBGCC1_TEST = libgcc1-test
84.1381 - LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
84.1382 - _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
84.1383 - _ic_invalidate
84.1384 -+LIB2ADDEH = $(srcdir)/unwind-sjlj.c
84.1385 -+LIB2ADDEHDEP = unwind.inc unwind-sjlj.c
84.1386 -
84.1387 --MULTILIB_OPTIONS= mb m3e/m4
84.1388 -+MULTILIB_OPTIONS= mb m4
84.1389 - MULTILIB_DIRNAMES=
84.1390 - MULTILIB_MATCHES =
84.1391 -
84.1392 --EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
84.1393 -+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
84.1394 -+
84.1395 -+# Override t-slibgcc-elf-ver to export some libgcc symbols with
84.1396 -+# the symbol versions that glibc used and SH specific.
84.1397 -+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
84.1398 -+ $(srcdir)/config/sh/libgcc-glibc.ver
84.1399 -diff -ruN gcc-20030210.orig/gcc/config/sh/t-linux-nomulti gcc-20030210/gcc/config/sh/t-linux-nomulti
84.1400 ---- gcc-20030210.orig/gcc/config/sh/t-linux-nomulti Thu Jan 1 09:00:00 1970
84.1401 -+++ gcc-20030210/gcc/config/sh/t-linux-nomulti Sat Feb 22 01:40:14 2003
84.1402 -@@ -0,0 +1,9 @@
84.1403 -+LIBGCC = libgcc.a
84.1404 -+EXTRA_PARTS = crtbegin.o crtbeginS.o crtend.o crtendS.o crtbeginT.o
84.1405 -+
84.1406 -+INSTALL_LIBGCC = install-libgcc
84.1407 -+
84.1408 -+MULTILIB_OPTIONS=
84.1409 -+MULTILIB_DIRNAMES=
84.1410 -+MULTILIB_MATCHES =
84.1411 -+EXTRA_MULTILIB_PARTS=
84.1412 -diff -ruN gcc-20030210.orig/gcc/config.gcc gcc-20030210/gcc/config.gcc
84.1413 ---- gcc-20030210.orig/gcc/config.gcc Fri Jan 31 19:17:13 2003
84.1414 -+++ gcc-20030210/gcc/config.gcc Sat Feb 22 01:40:14 2003
84.1415 -@@ -337,9 +337,9 @@
84.1416 - sparc*-*-*)
84.1417 - cpu_type=sparc
84.1418 - ;;
84.1419 --sh64-*-*)
84.1420 -- cpu_type=sh
84.1421 -- ;;
84.1422 -+sh*-*-*)
84.1423 -+ cpu_type=sh
84.1424 -+ ;;
84.1425 - esac
84.1426 -
84.1427 - tm_file=${cpu_type}/${cpu_type}.h
84.1428 -@@ -3018,9 +3018,31 @@
84.1429 - thread_file='rtems'
84.1430 - fi
84.1431 - ;;
84.1432 --sh-*-linux*)
84.1433 -+sh*-*-linux*)
84.1434 - tm_file="${tm_file} sh/elf.h sh/linux.h"
84.1435 -- tmake_file="sh/t-sh sh/t-elf sh/t-linux"
84.1436 -+ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux sh/t-linux"
84.1437 -+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
84.1438 -+ case $machine in
84.1439 -+ sh3eb-*)
84.1440 -+ tm_file="${tm_file} sh/sh3eb-linux.h"
84.1441 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
84.1442 -+ ;;
84.1443 -+ sh4eb-*)
84.1444 -+ tm_file="${tm_file} sh/sh4eb-linux.h"
84.1445 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
84.1446 -+ ;;
84.1447 -+ sh3-*)
84.1448 -+ tm_file="${tm_file} sh/sh3-linux.h"
84.1449 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
84.1450 -+ ;;
84.1451 -+ sh4-*)
84.1452 -+ tm_file="${tm_file} sh/sh4-linux.h"
84.1453 -+ tmake_file="${tmake_file} sh/t-linux-nomulti"
84.1454 -+ ;;
84.1455 -+ *)
84.1456 -+ ;;
84.1457 -+ esac
84.1458 -+ xmake_file=x-linux
84.1459 - gas=yes gnu_ld=yes
84.1460 - float_format=sh
84.1461 - ;;
84.1462 -diff -ruN gcc-20030210.orig/gcc/dwarf2out.c gcc-20030210/gcc/dwarf2out.c
84.1463 ---- gcc-20030210.orig/gcc/dwarf2out.c Mon Feb 10 19:36:25 2003
84.1464 -+++ gcc-20030210/gcc/dwarf2out.c Sat Feb 22 01:40:14 2003
84.1465 -@@ -10224,7 +10224,9 @@
84.1466 - /* We can have a normal definition following an inline one in the
84.1467 - case of redefinition of GNU C extern inlines.
84.1468 - It seems reasonable to use AT_specification in this case. */
84.1469 -- && !get_AT_unsigned (old_die, DW_AT_inline))
84.1470 -+ && !get_AT_unsigned (old_die, DW_AT_inline)
84.1471 -+ /* Skip the nested function. */
84.1472 -+ && !decl_function_context (decl))
84.1473 - {
84.1474 - /* ??? This can happen if there is a bug in the program, for
84.1475 - instance, if it has duplicate function definitions. Ideally,
84.1476 -diff -ruN gcc-20030210.orig/gcc/final.c gcc-20030210/gcc/final.c
84.1477 ---- gcc-20030210.orig/gcc/final.c Fri Jan 31 19:17:20 2003
84.1478 -+++ gcc-20030210/gcc/final.c Sat Feb 22 01:40:14 2003
84.1479 -@@ -1128,7 +1128,7 @@
84.1480 - }
84.1481 - }
84.1482 -
84.1483 -- INSN_ADDRESSES (uid) = insn_current_address;
84.1484 -+ INSN_ADDRESSES (uid) = insn_current_address + insn_lengths[uid];
84.1485 -
84.1486 - if (GET_CODE (insn) == NOTE || GET_CODE (insn) == BARRIER
84.1487 - || GET_CODE (insn) == CODE_LABEL)
84.1488 -diff -ruN gcc-20030210.orig/gcc/mkmap-symver.awk gcc-20030210/gcc/mkmap-symver.awk
84.1489 ---- gcc-20030210.orig/gcc/mkmap-symver.awk Fri Jan 31 19:17:26 2003
84.1490 -+++ gcc-20030210/gcc/mkmap-symver.awk Sat Feb 22 01:40:14 2003
84.1491 -@@ -89,7 +89,11 @@
84.1492 - output(inherit[lib]);
84.1493 -
84.1494 - printf("%s {\n", lib);
84.1495 -- printf(" global:\n");
84.1496 -+ for (sym in ver)
84.1497 -+ if ((ver[sym] == lib) && (sym in def))
84.1498 -+ count++;
84.1499 -+ if (count > 0)
84.1500 -+ printf(" global:\n");
84.1501 - for (sym in ver)
84.1502 - if ((ver[sym] == lib) && (sym in def))
84.1503 - {
84.1504 -diff -ruN gcc-20030210.orig/gcc/reload1.c gcc-20030210/gcc/reload1.c
84.1505 ---- gcc-20030210.orig/gcc/reload1.c Fri Jan 31 19:17:29 2003
84.1506 -+++ gcc-20030210/gcc/reload1.c Sat Feb 22 01:40:14 2003
84.1507 -@@ -6103,6 +6103,7 @@
84.1508 - for (j = 0; j < n_reloads; j++)
84.1509 - if (rld[j].in != 0
84.1510 - && rld[j].when_needed != RELOAD_OTHER
84.1511 -+ && rld[j].when_needed != RELOAD_FOR_OUTPUT_ADDRESS
84.1512 - && reg_overlap_mentioned_for_reload_p (rld[j].in,
84.1513 - rld[i].in))
84.1514 - rld[j].when_needed
84.1515 -diff -ruN gcc-20030210.orig/gcc/reorg.c gcc-20030210/gcc/reorg.c
84.1516 ---- gcc-20030210.orig/gcc/reorg.c Fri Jan 31 19:17:30 2003
84.1517 -+++ gcc-20030210/gcc/reorg.c Sat Feb 22 01:40:14 2003
84.1518 -@@ -3265,6 +3265,14 @@
84.1519 - || condjump_in_parallel_p (XVECEXP (PATTERN (insn), 0, 0))))
84.1520 - continue;
84.1521 -
84.1522 -+#ifdef MD_CAN_REDIRECT_BRANCH
84.1523 -+ /* On some targets, branches with delay slots can have a limited
84.1524 -+ displacement. Give the back end a chance to tell us we can't do
84.1525 -+ this. */
84.1526 -+ if (! MD_CAN_REDIRECT_BRANCH (insn, delay_insn))
84.1527 -+ continue;
84.1528 -+#endif
84.1529 -+
84.1530 - target_label = JUMP_LABEL (delay_insn);
84.1531 -
84.1532 - if (target_label)
84.1533 -diff -ruN gcc-20030210.orig/gcc/tree-inline.c gcc-20030210/gcc/tree-inline.c
84.1534 ---- gcc-20030210.orig/gcc/tree-inline.c Fri Jan 31 19:17:33 2003
84.1535 -+++ gcc-20030210/gcc/tree-inline.c Sat Feb 22 01:40:14 2003
84.1536 -@@ -836,11 +836,17 @@
84.1537 -
84.1538 - /* Don't try to inline functions that are not well-suited to
84.1539 - inlining. */
84.1540 -- if (!inlinable_function_p (fn, id))
84.1541 -- return NULL_TREE;
84.1542 -+ if (! inlinable_function_p (fn, id)
84.1543 -+ || ! (*lang_hooks.tree_inlining.start_inlining) (fn))
84.1544 -+ {
84.1545 -+ if (DECL_INLINE (fn) && warn_inline && ! flag_really_no_inline)
84.1546 -+ {
84.1547 -+ warning_with_decl (fn, "inlining failed in call to `%s'");
84.1548 -+ warning ("called from here");
84.1549 -+ }
84.1550 -
84.1551 -- if (! (*lang_hooks.tree_inlining.start_inlining) (fn))
84.1552 -- return NULL_TREE;
84.1553 -+ return NULL_TREE;
84.1554 -+ }
84.1555 -
84.1556 - /* Set the current filename and line number to the function we are
84.1557 - inlining so that when we create new _STMT nodes here they get
84.1558 -diff -ruN gcc-20030210.orig/libjava/Makefile.in gcc-20030210/libjava/Makefile.in
84.1559 ---- gcc-20030210.orig/libjava/Makefile.in Tue Jan 28 10:44:37 2003
84.1560 -+++ gcc-20030210/libjava/Makefile.in Sat Feb 22 01:40:14 2003
84.1561 -@@ -1637,6 +1637,7 @@
84.1562 - "AS=$(AS)" \
84.1563 - "CC=$(CC)" \
84.1564 - "CXX=$(CXX)" \
84.1565 -+ "GCJ=$(GCJ)" \
84.1566 - "LD=$(LD)" \
84.1567 - "LIBCFLAGS=$(LIBCFLAGS)" \
84.1568 - "NM=$(NM)" \
84.1569 -diff -ruN gcc-20030210.orig/libjava/configure gcc-20030210/libjava/configure
84.1570 ---- gcc-20030210.orig/libjava/configure Tue Jan 28 10:44:37 2003
84.1571 -+++ gcc-20030210/libjava/configure Sat Feb 22 01:42:11 2003
84.1572 -@@ -2031,7 +2031,7 @@
84.1573 - # This must be Linux ELF.
84.1574 - linux-gnu*)
84.1575 - case $host_cpu in
84.1576 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
84.1577 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
84.1578 - lt_cv_deplibs_check_method=pass_all ;;
84.1579 - *)
84.1580 - # glibc up to 2.1.1 does not perform some relocations on ARM
84.1581 -diff -ruN gcc-20030210.orig/libjava/java/net/natInetAddress.cc gcc-20030210/libjava/java/net/natInetAddress.cc
84.1582 ---- gcc-20030210.orig/libjava/java/net/natInetAddress.cc Tue Mar 5 05:02:19 2002
84.1583 -+++ gcc-20030210/libjava/java/net/natInetAddress.cc Sat Feb 22 01:40:14 2003
84.1584 -@@ -56,7 +56,7 @@
84.1585 - #endif
84.1586 -
84.1587 - #ifndef HAVE_GETHOSTNAME_DECL
84.1588 --extern "C" int gethostname (char *name, int namelen);
84.1589 -+extern "C" int gethostname (char *name, unsigned int namelen);
84.1590 - #endif
84.1591 -
84.1592 - #ifdef DISABLE_JAVA_NET
84.1593 -diff -ruN gcc-20030210.orig/libjava/libltdl/aclocal.m4 gcc-20030210/libjava/libltdl/aclocal.m4
84.1594 ---- gcc-20030210.orig/libjava/libltdl/aclocal.m4 Sun Sep 10 17:04:40 2000
84.1595 -+++ gcc-20030210/libjava/libltdl/aclocal.m4 Sat Feb 22 01:40:14 2003
84.1596 -@@ -573,7 +573,7 @@
84.1597 - # This must be Linux ELF.
84.1598 - linux-gnu*)
84.1599 - case "$host_cpu" in
84.1600 -- alpha* | i*86 | powerpc* | sparc* | ia64* )
84.1601 -+ alpha* | i*86 | powerpc* | sparc* | ia64* | sh*)
84.1602 - lt_cv_deplibs_check_method=pass_all ;;
84.1603 - *)
84.1604 - # glibc up to 2.1.1 does not perform some relocations on ARM
84.1605 -diff -ruN gcc-20030210.orig/libjava/sysdep/sh/locks.h gcc-20030210/libjava/sysdep/sh/locks.h
84.1606 ---- gcc-20030210.orig/libjava/sysdep/sh/locks.h Thu Jan 1 09:00:00 1970
84.1607 -+++ gcc-20030210/libjava/sysdep/sh/locks.h Sat Feb 22 01:40:14 2003
84.1608 -@@ -0,0 +1,72 @@
84.1609 -+// locks.h - Thread synchronization primitives. SuperH implementation.
84.1610 -+
84.1611 -+/* Copyright (C) 2002 Free Software Foundation
84.1612 -+
84.1613 -+ This file is part of libgcj.
84.1614 -+
84.1615 -+This software is copyrighted work licensed under the terms of the
84.1616 -+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
84.1617 -+details. */
84.1618 -+
84.1619 -+#ifndef __SYSDEP_LOCKS_H__
84.1620 -+#define __SYSDEP_LOCKS_H__
84.1621 -+
84.1622 -+typedef size_t obj_addr_t; /* Integer type big enough for object */
84.1623 -+ /* address. */
84.1624 -+
84.1625 -+static unsigned char __cas_lock = 0;
84.1626 -+
84.1627 -+inline static void
84.1628 -+__cas_start_atomic (void)
84.1629 -+{
84.1630 -+ unsigned int val;
84.1631 -+
84.1632 -+ do
84.1633 -+ __asm__ __volatile__ ("tas.b @%1; movt %0"
84.1634 -+ : "=r" (val)
84.1635 -+ : "r" (&__cas_lock)
84.1636 -+ : "memory");
84.1637 -+ while (val == 0);
84.1638 -+}
84.1639 -+
84.1640 -+inline static void
84.1641 -+__cas_end_atomic (void)
84.1642 -+{
84.1643 -+ __asm__ __volatile__ (" " : : : "memory");
84.1644 -+ __cas_lock = 0;
84.1645 -+}
84.1646 -+
84.1647 -+inline static bool
84.1648 -+compare_and_swap (volatile obj_addr_t *addr, obj_addr_t old,
84.1649 -+ obj_addr_t new_val)
84.1650 -+{
84.1651 -+ bool ret;
84.1652 -+
84.1653 -+ __cas_start_atomic ();
84.1654 -+ if (*addr != old)
84.1655 -+ ret = false;
84.1656 -+ else
84.1657 -+ {
84.1658 -+ *addr = new_val;
84.1659 -+ ret = true;
84.1660 -+ }
84.1661 -+ __cas_end_atomic ();
84.1662 -+
84.1663 -+ return ret;
84.1664 -+}
84.1665 -+
84.1666 -+inline static void
84.1667 -+release_set (volatile obj_addr_t *addr, obj_addr_t new_val)
84.1668 -+{
84.1669 -+ __asm__ __volatile__ (" " : : : "memory");
84.1670 -+ *(addr) = new_val;
84.1671 -+}
84.1672 -+
84.1673 -+inline static bool
84.1674 -+compare_and_swap_release (volatile obj_addr_t *addr, obj_addr_t old,
84.1675 -+ obj_addr_t new_val)
84.1676 -+{
84.1677 -+ return compare_and_swap (addr, old, new_val);
84.1678 -+}
84.1679 -+
84.1680 -+#endif /* ! __SYSDEP_LOCKS_H__ */
84.1681 -diff -ruN gcc-20030210.orig/libstdc++-v3/acinclude.m4 gcc-20030210/libstdc++-v3/acinclude.m4
84.1682 ---- gcc-20030210.orig/libstdc++-v3/acinclude.m4 Tue Jan 28 02:30:41 2003
84.1683 -+++ gcc-20030210/libstdc++-v3/acinclude.m4 Sat Feb 22 01:40:14 2003
84.1684 -@@ -1828,9 +1828,10 @@
84.1685 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
84.1686 -
84.1687 - # Passed down for canadian crosses.
84.1688 -- if test x"$CANADIAN" = xyes; then
84.1689 -- TOPLEVEL_INCLUDES='-I$(includedir)'
84.1690 -- fi
84.1691 -+ #if test x"$CANADIAN" = xyes; then
84.1692 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
84.1693 -+ #fi
84.1694 -+ TOPLEVEL_INCLUDES=''
84.1695 -
84.1696 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
84.1697 -
84.1698 -diff -ruN gcc-20030210.orig/libstdc++-v3/aclocal.m4 gcc-20030210/libstdc++-v3/aclocal.m4
84.1699 ---- gcc-20030210.orig/libstdc++-v3/aclocal.m4 Mon Feb 10 19:36:47 2003
84.1700 -+++ gcc-20030210/libstdc++-v3/aclocal.m4 Sat Feb 22 01:40:14 2003
84.1701 -@@ -1840,9 +1840,10 @@
84.1702 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
84.1703 -
84.1704 - # Passed down for canadian crosses.
84.1705 -- if test x"$CANADIAN" = xyes; then
84.1706 -- TOPLEVEL_INCLUDES='-I$(includedir)'
84.1707 -- fi
84.1708 -+ #if test x"$CANADIAN" = xyes; then
84.1709 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
84.1710 -+ #fi
84.1711 -+ TOPLEVEL_INCLUDES=''
84.1712 -
84.1713 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
84.1714 -
84.1715 -diff -ruN gcc-20030210.orig/libstdc++-v3/configure gcc-20030210/libstdc++-v3/configure
84.1716 ---- gcc-20030210.orig/libstdc++-v3/configure Mon Feb 10 19:37:17 2003
84.1717 -+++ gcc-20030210/libstdc++-v3/configure Sat Feb 22 01:40:14 2003
84.1718 -@@ -1982,7 +1982,7 @@
84.1719 - # This must be Linux ELF.
84.1720 - linux-gnu*)
84.1721 - case $host_cpu in
84.1722 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
84.1723 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh*)
84.1724 - lt_cv_deplibs_check_method=pass_all ;;
84.1725 - *)
84.1726 - # glibc up to 2.1.1 does not perform some relocations on ARM
84.1727 -@@ -22340,9 +22340,10 @@
84.1728 - GLIBCPP_INCLUDES="-I${glibcpp_builddir}/include/${target_alias} -I${glibcpp_builddir}/include"
84.1729 -
84.1730 - # Passed down for canadian crosses.
84.1731 -- if test x"$CANADIAN" = xyes; then
84.1732 -- TOPLEVEL_INCLUDES='-I$(includedir)'
84.1733 -- fi
84.1734 -+ #if test x"$CANADIAN" = xyes; then
84.1735 -+ # TOPLEVEL_INCLUDES='-I$(includedir)'
84.1736 -+ #fi
84.1737 -+ TOPLEVEL_INCLUDES=''
84.1738 -
84.1739 - LIBMATH_INCLUDES='-I$(top_srcdir)/libmath'
84.1740 -
84.1741 -diff -ruN gcc-20030210.orig/libtool.m4 gcc-20030210/libtool.m4
84.1742 ---- gcc-20030210.orig/libtool.m4 Fri Jan 31 19:16:59 2003
84.1743 -+++ gcc-20030210/libtool.m4 Sat Feb 22 01:40:14 2003
84.1744 -@@ -597,7 +597,7 @@
84.1745 - # This must be Linux ELF.
84.1746 - linux-gnu*)
84.1747 - case $host_cpu in
84.1748 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
84.1749 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
84.1750 - lt_cv_deplibs_check_method=pass_all ;;
84.1751 - *)
84.1752 - # glibc up to 2.1.1 does not perform some relocations on ARM
84.1753 -diff -ruN gcc-20030210.orig/zlib/configure gcc-20030210/zlib/configure
84.1754 ---- gcc-20030210.orig/zlib/configure Tue Jan 28 10:44:15 2003
84.1755 -+++ gcc-20030210/zlib/configure Sat Feb 22 01:40:14 2003
84.1756 -@@ -1571,7 +1571,7 @@
84.1757 - # This must be Linux ELF.
84.1758 - linux-gnu*)
84.1759 - case $host_cpu in
84.1760 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
84.1761 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
84.1762 - lt_cv_deplibs_check_method=pass_all ;;
84.1763 - *)
84.1764 - # glibc up to 2.1.1 does not perform some relocations on ARM
85.1 --- a/patches/gcc/3.2.3/130-g++.exp.patch Wed Oct 28 12:03:38 2009 +0100
85.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
85.3 @@ -1,98 +0,0 @@
85.4 -g++ testsuite fixes for cross-compilers, Dan Kegel, Ixia Communications, 12 July 2003
85.5 -
85.6 -The first hunk fixes the error
85.7 -
85.8 -/testsuite_flags: /testsuite_flags: No such file or directory
85.9 - while executing
85.10 -"exec sh ${odir_v3}/testsuite_flags --build-includes"
85.11 - (procedure "g++_include_flags" line 21)
85.12 - invoked from within
85.13 -"g++_include_flags [get_multilibs] "
85.14 - (procedure "g++_init" line 63)
85.15 - invoked from within
85.16 -"${tool}_init $test_file_name"
85.17 - (procedure "runtest" line 19)
85.18 - invoked from within
85.19 -"runtest $test_name"
85.20 - ("foreach" body line 42)
85.21 - invoked from within
85.22 -...
85.23 -make[1]: [check-g++] Error 1 (ignored)
85.24 -
85.25 -The fix isn't especially pretty, but it worked for me, and can't hurt the
85.26 -more common native compiler case. Maybe someone who knows the code better
85.27 -can come up with a better fix.
85.28 -
85.29 -The second hunk fixes the error
85.30 -
85.31 -sh: error while loading shared libraries: /opt/cegl-2.0/powerpc-405-linux-gnu/gcc-3.2.3-glibc-2.2.5/powerpc-405-linux-gnu/./lib/libdl.so.2: ELF file data encoding not little-endian
85.32 -
85.33 -when trying to compile g++ testcases (!); setting up
85.34 -the shared library environment when running crosstests of g++
85.35 -should either be done by a special board file, or by
85.36 -setting up a remote chroot environment (see http://kegel.com/crosstool),
85.37 -not by blithely setting LD_LIBRARY_PATH on the local system.
85.38 -
85.39 ---- gcc-3.2.3/gcc/testsuite/lib/g++.exp.old Fri Jul 11 15:42:47 2003
85.40 -+++ gcc-3.2.3/gcc/testsuite/lib/g++.exp Sat Jul 12 12:57:07 2003
85.41 -@@ -72,6 +72,8 @@
85.42 - #
85.43 - proc g++_include_flags { paths } {
85.44 - global srcdir
85.45 -+ global objdir
85.46 -+ global target_triplet
85.47 - global HAVE_LIBSTDCXX_V3
85.48 - global TESTING_IN_BUILD_TREE
85.49 -
85.50 -@@ -90,6 +92,20 @@
85.51 -
85.52 - if { ${HAVE_LIBSTDCXX_V3} } {
85.53 - set odir_v3 [lookfor_file ${gccpath} libstdc++-v3]
85.54 -+ if { $odir_v3 == "" } {
85.55 -+ verbose "g++_include_flags: couldn't find libstdc++-v3 on first try, now looking in build directory $objdir"
85.56 -+ # first assume no multilibs
85.57 -+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
85.58 -+ }
85.59 -+ if { $odir_v3 == "" } {
85.60 -+ verbose "g++_include_flags: couldn't find libstdc++-v3 on second try, trying multilib"
85.61 -+ # assume multilib only one level deep
85.62 -+ set multisub [file tail $gccpath]
85.63 -+ set odir_v3 [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
85.64 -+ }
85.65 -+ if { $odir_v3 == "" } {
85.66 -+ error "Can't find libstdc++-v3"
85.67 -+ }
85.68 - append flags [exec sh ${odir_v3}/testsuite_flags --build-includes]
85.69 - } else {
85.70 - set odir_v2 [lookfor_file ${gccpath} libstdc++]
85.71 -@@ -192,16 +192,20 @@
85.72 - }
85.73 - }
85.74 -
85.75 -- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
85.76 -- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
85.77 -- # (for the 64-bit ABI). The right way to do this would be to modify
85.78 -- # unix.exp -- but that's not an option since it's part of DejaGNU
85.79 -- # proper, so we do it here. We really only need to do
85.80 -- # this on IRIX, but it shouldn't hurt to do it anywhere else.
85.81 -- setenv LD_LIBRARY_PATH $ld_library_path
85.82 -- setenv SHLIB_PATH $ld_library_path
85.83 -- setenv LD_LIBRARYN32_PATH $ld_library_path
85.84 -- setenv LD_LIBRARY64_PATH $ld_library_path
85.85 -+ if {![is_remote target]} {
85.86 -+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
85.87 -+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
85.88 -+ # (for the 64-bit ABI). The right way to do this would be to modify
85.89 -+ # unix.exp -- but that's not an option since it's part of DejaGNU
85.90 -+ # proper, so we do it here. We really only need to do
85.91 -+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
85.92 -+
85.93 -+ # Doing this causes us to be unable to run cross-compilers.
85.94 -+ setenv LD_LIBRARY_PATH $ld_library_path
85.95 -+ setenv SHLIB_PATH $ld_library_path
85.96 -+ setenv LD_LIBRARYN32_PATH $ld_library_path
85.97 -+ setenv LD_LIBRARY64_PATH $ld_library_path
85.98 -+ }
85.99 -
85.100 - return "$flags"
85.101 - }
86.1 --- a/patches/gcc/3.2.3/140-libffi-1.patch Wed Oct 28 12:03:38 2009 +0100
86.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
86.3 @@ -1,6864 +0,0 @@
86.4 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/Makefile.am gcc/libffi/Makefile.am
86.5 ---- gcc-3.2.2.orig/libffi/Makefile.am Tue Jan 28 10:43:56 2003
86.6 -+++ gcc/libffi/Makefile.am Tue Jan 28 10:48:33 2003
86.7 -@@ -8,14 +8,17 @@
86.8 - src/mips/n32.s src/mips/o32.S src/mips/o32.s \
86.9 - src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S \
86.10 - src/x86/ffi.c src/x86/sysv.S src/x86/win32.S \
86.11 -+ src/x86/ffi64.c src/x86/unix64.S \
86.12 - src/alpha/ffi.c src/alpha/osf.S \
86.13 - src/m68k/ffi.c src/m68k/sysv.S \
86.14 - src/powerpc/ffi.c src/powerpc/sysv.S \
86.15 - src/powerpc/ppc_closure.S src/powerpc/asm.h \
86.16 - src/powerpc/ffi_darwin.c \
86.17 - src/powerpc/darwin.S src/powerpc/aix.S \
86.18 -- src/powerpc/darwin_closure.S src/powerpc/aix_closures.S \
86.19 -- src/arm/ffi.c src/arm/sysv.S
86.20 -+ src/powerpc/darwin_closure.S src/powerpc/aix_closure.S \
86.21 -+ src/arm/ffi.c src/arm/sysv.S \
86.22 -+ src/s390/ffi.c src/s390/sysv.S \
86.23 -+ src/sh/ffi.c src/sh/sysv.S
86.24 -
86.25 - VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@
86.26 -
86.27 -@@ -83,6 +86,7 @@
86.28 - ffitest_LDFLAGS = -shared-libgcc
86.29 -
86.30 - TARGET_SRC_MIPS_GCC = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
86.31 -+TARGET_SRC_MIPS_LINUX = src/mips/ffi.c src/mips/o32.S
86.32 - TARGET_SRC_MIPS_SGI = src/mips/ffi.c src/mips/o32.s src/mips/n32.s
86.33 - TARGET_SRC_X86 = src/x86/ffi.c src/x86/sysv.S
86.34 - TARGET_SRC_X86_WIN32 = src/x86/ffi.c src/x86/win32.S
86.35 -@@ -91,9 +95,12 @@
86.36 - TARGET_SRC_IA64 = src/ia64/ffi.c src/ia64/unix.S
86.37 - TARGET_SRC_M68K = src/m68k/ffi.c src/m68k/sysv.S
86.38 - TARGET_SRC_POWERPC = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
86.39 --TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closures.S
86.40 -+TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
86.41 - TARGET_SRC_POWERPC_DARWIN = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
86.42 - TARGET_SRC_ARM = src/arm/sysv.S src/arm/ffi.c
86.43 -+TARGET_SRC_S390 = src/s390/sysv.S src/s390/ffi.c
86.44 -+TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
86.45 -+TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c
86.46 -
86.47 - ##libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c $(TARGET_SRC_@TARGET@)
86.48 - ## Work around automake deficiency
86.49 -@@ -103,6 +110,10 @@
86.50 - libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
86.51 - libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
86.52 - endif
86.53 -+if MIPS_LINUX
86.54 -+libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
86.55 -+libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
86.56 -+endif
86.57 - if MIPS_SGI
86.58 - libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
86.59 - libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
86.60 -@@ -147,6 +158,18 @@
86.61 - libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
86.62 - libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
86.63 - endif
86.64 -+if S390
86.65 -+libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
86.66 -+libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
86.67 -+endif
86.68 -+if X86_64
86.69 -+libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
86.70 -+libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
86.71 -+endif
86.72 -+if SH
86.73 -+libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
86.74 -+libfficonvenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
86.75 -+endif
86.76 -
86.77 - AM_CFLAGS = -fexceptions
86.78 -
86.79 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/Makefile.in gcc/libffi/Makefile.in
86.80 ---- gcc-3.2.2.orig/libffi/Makefile.in Wed Jan 29 07:59:05 2003
86.81 -+++ gcc/libffi/Makefile.in Wed Jan 29 07:58:58 2003
86.82 -@@ -91,14 +91,17 @@
86.83 - src/mips/n32.s src/mips/o32.S src/mips/o32.s \
86.84 - src/sparc/ffi.c src/sparc/v8.S src/sparc/v9.S \
86.85 - src/x86/ffi.c src/x86/sysv.S src/x86/win32.S \
86.86 -+ src/x86/ffi64.c src/x86/unix64.S \
86.87 - src/alpha/ffi.c src/alpha/osf.S \
86.88 - src/m68k/ffi.c src/m68k/sysv.S \
86.89 - src/powerpc/ffi.c src/powerpc/sysv.S \
86.90 - src/powerpc/ppc_closure.S src/powerpc/asm.h \
86.91 - src/powerpc/ffi_darwin.c \
86.92 - src/powerpc/darwin.S src/powerpc/aix.S \
86.93 -- src/powerpc/darwin_closure.S src/powerpc/aix_closures.S \
86.94 -- src/arm/ffi.c src/arm/sysv.S
86.95 -+ src/powerpc/darwin_closure.S src/powerpc/aix_closure.S \
86.96 -+ src/arm/ffi.c src/arm/sysv.S \
86.97 -+ src/s390/ffi.c src/s390/sysv.S \
86.98 -+ src/sh/ffi.c src/sh/sysv.S
86.99 -
86.100 -
86.101 - VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@
86.102 -@@ -162,6 +165,7 @@
86.103 - ffitest_LDFLAGS = -shared-libgcc
86.104 -
86.105 - TARGET_SRC_MIPS_GCC = src/mips/ffi.c src/mips/o32.S src/mips/n32.S
86.106 -+TARGET_SRC_MIPS_LINUX = src/mips/ffi.c src/mips/o32.S
86.107 - TARGET_SRC_MIPS_SGI = src/mips/ffi.c src/mips/o32.s src/mips/n32.s
86.108 - TARGET_SRC_X86 = src/x86/ffi.c src/x86/sysv.S
86.109 - TARGET_SRC_X86_WIN32 = src/x86/ffi.c src/x86/win32.S
86.110 -@@ -170,14 +174,18 @@
86.111 - TARGET_SRC_IA64 = src/ia64/ffi.c src/ia64/unix.S
86.112 - TARGET_SRC_M68K = src/m68k/ffi.c src/m68k/sysv.S
86.113 - TARGET_SRC_POWERPC = src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/ppc_closure.S
86.114 --TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closures.S
86.115 -+TARGET_SRC_POWERPC_AIX = src/powerpc/ffi_darwin.c src/powerpc/aix.S src/powerpc/aix_closure.S
86.116 - TARGET_SRC_POWERPC_DARWIN = src/powerpc/ffi_darwin.c src/powerpc/darwin.S src/powerpc/darwin_closure.S
86.117 - TARGET_SRC_ARM = src/arm/sysv.S src/arm/ffi.c
86.118 -+TARGET_SRC_S390 = src/s390/sysv.S src/s390/ffi.c
86.119 -+TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S
86.120 -+TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c
86.121 -
86.122 - libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \
86.123 - src/raw_api.c src/java_raw_api.c
86.124 -
86.125 - @MIPS_GCC_TRUE@libffi_la_SOURCES = @MIPS_GCC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
86.126 -+@MIPS_LINUX_TRUE@libffi_la_SOURCES = @MIPS_LINUX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
86.127 - @MIPS_SGI_TRUE@libffi_la_SOURCES = @MIPS_SGI_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
86.128 - @X86_TRUE@libffi_la_SOURCES = @X86_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
86.129 - @X86_WIN32_TRUE@libffi_la_SOURCES = @X86_WIN32_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
86.130 -@@ -189,7 +197,11 @@
86.131 - @POWERPC_AIX_TRUE@libffi_la_SOURCES = @POWERPC_AIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
86.132 - @POWERPC_DARWIN_TRUE@libffi_la_SOURCES = @POWERPC_DARWIN_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
86.133 - @ARM_TRUE@libffi_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
86.134 -+@S390_TRUE@libffi_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
86.135 -+@X86_64_TRUE@libffi_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
86.136 -+@SH_TRUE@libffi_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
86.137 - @MIPS_GCC_TRUE@libffi_convenience_la_SOURCES = @MIPS_GCC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_GCC)
86.138 -+@MIPS_LINUX_TRUE@libffi_convenience_la_SOURCES = @MIPS_LINUX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
86.139 - @MIPS_SGI_TRUE@libffi_convenience_la_SOURCES = @MIPS_SGI_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_SGI)
86.140 - @X86_TRUE@libffi_convenience_la_SOURCES = @X86_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
86.141 - @X86_WIN32_TRUE@libffi_convenience_la_SOURCES = @X86_WIN32_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
86.142 -@@ -201,6 +213,9 @@
86.143 - @POWERPC_AIX_TRUE@libffi_convenience_la_SOURCES = @POWERPC_AIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
86.144 - @POWERPC_DARWIN_TRUE@libffi_convenience_la_SOURCES = @POWERPC_DARWIN_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
86.145 - @ARM_TRUE@libffi_convenience_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
86.146 -+@S390_TRUE@libffi_convenience_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
86.147 -+@X86_64_TRUE@libffi_convenience_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
86.148 -+@SH_TRUE@libfficonvenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
86.149 -
86.150 - AM_CFLAGS = -fexceptions
86.151 -
86.152 -@@ -208,7 +223,7 @@
86.153 -
86.154 - INCLUDES = -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
86.155 - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
86.156 --mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
86.157 -+mkinstalldirs = $(SHELL) $(top_srcdir)/${libffi_basedir}/../mkinstalldirs
86.158 - CONFIG_HEADER = fficonfig.h
86.159 - CONFIG_CLEAN_FILES =
86.160 - LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)
86.161 -@@ -220,10 +235,6 @@
86.162 - LIBS = @LIBS@
86.163 - libffi_convenience_la_LDFLAGS =
86.164 - libffi_convenience_la_LIBADD =
86.165 --@POWERPC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.166 --@POWERPC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.167 --@POWERPC_TRUE@src/java_raw_api.lo src/powerpc/ffi.lo \
86.168 --@POWERPC_TRUE@src/powerpc/sysv.lo src/powerpc/ppc_closure.lo
86.169 - @ALPHA_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.170 - @ALPHA_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.171 - @ALPHA_TRUE@src/java_raw_api.lo src/alpha/ffi.lo src/alpha/osf.lo
86.172 -@@ -234,12 +245,29 @@
86.173 - @MIPS_GCC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.174 - @MIPS_GCC_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
86.175 - @MIPS_GCC_TRUE@src/mips/n32.lo
86.176 --@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.177 --@X86_WIN32_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.178 --@X86_WIN32_TRUE@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo
86.179 -+@S390_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.180 -+@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.181 -+@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
86.182 - @M68K_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.183 - @M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.184 - @M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
86.185 -+@X86_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.186 -+@X86_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.187 -+@X86_TRUE@src/x86/ffi.lo src/x86/sysv.lo
86.188 -+@POWERPC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.189 -+@POWERPC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.190 -+@POWERPC_TRUE@src/java_raw_api.lo src/powerpc/ffi.lo \
86.191 -+@POWERPC_TRUE@src/powerpc/sysv.lo src/powerpc/ppc_closure.lo
86.192 -+@MIPS_LINUX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.193 -+@MIPS_LINUX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.194 -+@MIPS_LINUX_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo
86.195 -+@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.196 -+@X86_WIN32_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.197 -+@X86_WIN32_TRUE@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo
86.198 -+@X86_64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.199 -+@X86_64_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.200 -+@X86_64_TRUE@src/java_raw_api.lo src/x86/ffi64.lo src/x86/unix64.lo \
86.201 -+@X86_64_TRUE@src/x86/ffi.lo src/x86/sysv.lo
86.202 - @SPARC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.203 - @SPARC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.204 - @SPARC_TRUE@src/java_raw_api.lo src/sparc/ffi.lo src/sparc/v8.lo \
86.205 -@@ -247,62 +275,75 @@
86.206 - @POWERPC_AIX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.207 - @POWERPC_AIX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.208 - @POWERPC_AIX_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
86.209 --@POWERPC_AIX_TRUE@src/powerpc/aix.lo src/powerpc/aix_closures.lo
86.210 --@X86_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.211 --@X86_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.212 --@X86_TRUE@src/x86/ffi.lo src/x86/sysv.lo
86.213 --@ARM_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.214 --@ARM_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.215 --@ARM_TRUE@src/arm/sysv.lo src/arm/ffi.lo
86.216 -+@POWERPC_AIX_TRUE@src/powerpc/aix.lo src/powerpc/aix_closure.lo
86.217 -+@MIPS_SGI_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.218 -+@MIPS_SGI_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.219 -+@MIPS_SGI_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
86.220 -+@MIPS_SGI_TRUE@src/mips/n32.lo
86.221 - @POWERPC_DARWIN_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.222 - @POWERPC_DARWIN_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.223 - @POWERPC_DARWIN_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
86.224 - @POWERPC_DARWIN_TRUE@src/powerpc/darwin.lo \
86.225 - @POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
86.226 --@MIPS_SGI_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
86.227 --@MIPS_SGI_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
86.228 --@MIPS_SGI_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
86.229 --@MIPS_SGI_TRUE@src/mips/n32.lo
86.230 -+@ARM_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.231 -+@ARM_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.232 -+@ARM_TRUE@src/arm/sysv.lo src/arm/ffi.lo
86.233 -+@SH_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.234 -+@SH_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.235 -+@SH_TRUE@src/sh/sysv.lo src/sh/ffi.lo
86.236 - libffi_la_LIBADD =
86.237 -+@SH_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
86.238 -+@SH_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
86.239 -+@SH_TRUE@src/sh/ffi.lo
86.240 -+@IA64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.241 -+@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.242 -+@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
86.243 -+@X86_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
86.244 -+@X86_TRUE@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \
86.245 -+@X86_TRUE@src/x86/sysv.lo
86.246 - @POWERPC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.247 - @POWERPC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.248 - @POWERPC_TRUE@src/powerpc/ffi.lo src/powerpc/sysv.lo \
86.249 - @POWERPC_TRUE@src/powerpc/ppc_closure.lo
86.250 --@ALPHA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.251 --@ALPHA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.252 --@ALPHA_TRUE@src/alpha/ffi.lo src/alpha/osf.lo
86.253 --@IA64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.254 --@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.255 --@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
86.256 --@MIPS_GCC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.257 --@MIPS_GCC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.258 --@MIPS_GCC_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
86.259 --@X86_WIN32_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.260 --@X86_WIN32_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.261 --@X86_WIN32_TRUE@src/x86/ffi.lo src/x86/win32.lo
86.262 --@M68K_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.263 --@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.264 --@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
86.265 -+@MIPS_LINUX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.266 -+@MIPS_LINUX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.267 -+@MIPS_LINUX_TRUE@src/mips/ffi.lo src/mips/o32.lo
86.268 - @SPARC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.269 - @SPARC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.270 - @SPARC_TRUE@src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
86.271 - @POWERPC_AIX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.272 - @POWERPC_AIX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.273 - @POWERPC_AIX_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/aix.lo \
86.274 --@POWERPC_AIX_TRUE@src/powerpc/aix_closures.lo
86.275 --@X86_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
86.276 --@X86_TRUE@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \
86.277 --@X86_TRUE@src/x86/sysv.lo
86.278 -+@POWERPC_AIX_TRUE@src/powerpc/aix_closure.lo
86.279 -+@MIPS_SGI_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.280 -+@MIPS_SGI_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.281 -+@MIPS_SGI_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
86.282 - @ARM_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
86.283 - @ARM_TRUE@src/raw_api.lo src/java_raw_api.lo src/arm/sysv.lo \
86.284 - @ARM_TRUE@src/arm/ffi.lo
86.285 -+@ALPHA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.286 -+@ALPHA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.287 -+@ALPHA_TRUE@src/alpha/ffi.lo src/alpha/osf.lo
86.288 -+@MIPS_GCC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.289 -+@MIPS_GCC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.290 -+@MIPS_GCC_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
86.291 -+@S390_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.292 -+@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.293 -+@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
86.294 -+@M68K_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.295 -+@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.296 -+@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
86.297 -+@X86_WIN32_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.298 -+@X86_WIN32_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.299 -+@X86_WIN32_TRUE@src/x86/ffi.lo src/x86/win32.lo
86.300 -+@X86_64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.301 -+@X86_64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.302 -+@X86_64_TRUE@src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffi.lo \
86.303 -+@X86_64_TRUE@src/x86/sysv.lo
86.304 - @POWERPC_DARWIN_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.305 - @POWERPC_DARWIN_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.306 - @POWERPC_DARWIN_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/darwin.lo \
86.307 - @POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
86.308 --@MIPS_SGI_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
86.309 --@MIPS_SGI_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
86.310 --@MIPS_SGI_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
86.311 - noinst_PROGRAMS = ffitest$(EXEEXT)
86.312 - PROGRAMS = $(noinst_PROGRAMS)
86.313 -
86.314 -@@ -578,8 +616,8 @@
86.315 - -chmod 777 $(distdir)
86.316 - $(mkinstalldirs) $(distdir)/src/alpha $(distdir)/src/arm \
86.317 - $(distdir)/src/m68k $(distdir)/src/mips \
86.318 -- $(distdir)/src/powerpc $(distdir)/src/sparc \
86.319 -- $(distdir)/src/x86
86.320 -+ $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh \
86.321 -+ $(distdir)/src/sparc $(distdir)/src/x86
86.322 - @for file in $(DISTFILES); do \
86.323 - if test -f $$file; then d=.; else d=$(srcdir); fi; \
86.324 - if test -d $$d/$$file; then \
86.325 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/acinclude.m4 gcc/libffi/acinclude.m4
86.326 ---- gcc-3.2.2.orig/libffi/acinclude.m4 Sun Sep 10 16:43:14 2000
86.327 -+++ gcc/libffi/acinclude.m4 Tue Dec 17 03:22:47 2002
86.328 -@@ -4,5 +4,8 @@
86.329 - dnl to add a definition of LIBTOOL to Makefile.in.
86.330 - ifelse(yes,no,[
86.331 - AC_DEFUN([AC_PROG_LIBTOOL],)
86.332 -+AC_DEFUN([AM_PROG_LIBTOOL],)
86.333 - AC_SUBST(LIBTOOL)
86.334 - ])
86.335 -+
86.336 -+sinclude(../config/accross.m4)
86.337 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/aclocal.m4 gcc/libffi/aclocal.m4
86.338 ---- gcc-3.2.2.orig/libffi/aclocal.m4 Fri Feb 1 07:25:31 2002
86.339 -+++ gcc/libffi/aclocal.m4 Tue Dec 17 03:22:47 2002
86.340 -@@ -1,6 +1,6 @@
86.341 --dnl aclocal.m4 generated automatically by aclocal 1.4
86.342 -+dnl aclocal.m4 generated automatically by aclocal 1.4-p5
86.343 -
86.344 --dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
86.345 -+dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
86.346 - dnl This file is free software; the Free Software Foundation
86.347 - dnl gives unlimited permission to copy and/or distribute it,
86.348 - dnl with or without modifications, as long as this notice is preserved.
86.349 -@@ -16,108 +16,15 @@
86.350 - dnl to add a definition of LIBTOOL to Makefile.in.
86.351 - ifelse(yes,no,[
86.352 - AC_DEFUN([AC_PROG_LIBTOOL],)
86.353 -+AC_DEFUN([AM_PROG_LIBTOOL],)
86.354 - AC_SUBST(LIBTOOL)
86.355 - ])
86.356 -
86.357 --AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
86.358 --[changequote(<<, >>)dnl
86.359 --dnl The name to #define.
86.360 --define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
86.361 --dnl The cache variable name.
86.362 --define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
86.363 --changequote([, ])dnl
86.364 --AC_MSG_CHECKING(size of $1)
86.365 --AC_CACHE_VAL(AC_CV_NAME,
86.366 --[for ac_size in 4 8 1 2 16 12 $2 ; do # List sizes in rough order of prevalence.
86.367 -- AC_TRY_COMPILE([#include "confdefs.h"
86.368 --#include <sys/types.h>
86.369 --$2
86.370 --], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
86.371 -- if test x$AC_CV_NAME != x ; then break; fi
86.372 --done
86.373 --])
86.374 --if test x$AC_CV_NAME = x ; then
86.375 -- AC_MSG_ERROR([cannot determine a size for $1])
86.376 --fi
86.377 --AC_MSG_RESULT($AC_CV_NAME)
86.378 --AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
86.379 --undefine([AC_TYPE_NAME])dnl
86.380 --undefine([AC_CV_NAME])dnl
86.381 --])
86.382 --
86.383 --AC_DEFUN([AC_C_BIGENDIAN_CROSS],
86.384 --[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
86.385 --[ac_cv_c_bigendian=unknown
86.386 --# See if sys/param.h defines the BYTE_ORDER macro.
86.387 --AC_TRY_COMPILE([#include <sys/types.h>
86.388 --#include <sys/param.h>], [
86.389 --#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
86.390 -- bogus endian macros
86.391 --#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
86.392 --AC_TRY_COMPILE([#include <sys/types.h>
86.393 --#include <sys/param.h>], [
86.394 --#if BYTE_ORDER != BIG_ENDIAN
86.395 -- not big endian
86.396 --#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
86.397 --if test $ac_cv_c_bigendian = unknown; then
86.398 --AC_TRY_RUN([main () {
86.399 -- /* Are we little or big endian? From Harbison&Steele. */
86.400 -- union
86.401 -- {
86.402 -- long l;
86.403 -- char c[sizeof (long)];
86.404 -- } u;
86.405 -- u.l = 1;
86.406 -- exit (u.c[sizeof (long) - 1] == 1);
86.407 --}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes,
86.408 --[ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ])
86.409 --fi])
86.410 --if test $ac_cv_c_bigendian = unknown; then
86.411 --AC_MSG_CHECKING(to probe for byte ordering)
86.412 --[
86.413 --cat >conftest.c <<EOF
86.414 --short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
86.415 --short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
86.416 --void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
86.417 --short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
86.418 --short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
86.419 --void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
86.420 --int main() { _ascii (); _ebcdic (); return 0; }
86.421 --EOF
86.422 --] if test -f conftest.c ; then
86.423 -- if ${CC-cc} ${CFLAGS} conftest.c -o conftest.o && test -f conftest.o ; then
86.424 -- if test `grep -l BIGenDianSyS conftest.o` ; then
86.425 -- echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
86.426 -- ac_cv_c_bigendian=yes
86.427 -- fi
86.428 -- if test `grep -l LiTTleEnDian conftest.o` ; then
86.429 -- echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG
86.430 -- if test $ac_cv_c_bigendian = yes ; then
86.431 -- ac_cv_c_bigendian=unknown;
86.432 -- else
86.433 -- ac_cv_c_bigendian=no
86.434 -- fi
86.435 -- fi
86.436 -- echo $ac_n 'guessing bigendian ... ' >&AC_FD_MSG
86.437 -- fi
86.438 -- fi
86.439 --AC_MSG_RESULT($ac_cv_c_bigendian)
86.440 --fi
86.441 --if test $ac_cv_c_bigendian = yes; then
86.442 -- AC_DEFINE(WORDS_BIGENDIAN, 1, [whether byteorder is bigendian])
86.443 -- BYTEORDER=4321
86.444 --else
86.445 -- BYTEORDER=1234
86.446 --fi
86.447 --AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
86.448 --if test $ac_cv_c_bigendian = unknown; then
86.449 -- AC_MSG_ERROR(unknown endianess - sorry, please pre-set ac_cv_c_bigendian)
86.450 --fi
86.451 --])
86.452 -+sinclude(../config/accross.m4)
86.453 -
86.454 - # Like AC_CONFIG_HEADER, but automatically create stamp file.
86.455 -
86.456 --AC_DEFUN(AM_CONFIG_HEADER,
86.457 -+AC_DEFUN([AM_CONFIG_HEADER],
86.458 - [AC_PREREQ([2.12])
86.459 - AC_CONFIG_HEADER([$1])
86.460 - dnl When config.status generates a header, we must update the stamp-h file.
86.461 -@@ -147,7 +54,7 @@
86.462 - dnl Usage:
86.463 - dnl AM_INIT_AUTOMAKE(package,version, [no-define])
86.464 -
86.465 --AC_DEFUN(AM_INIT_AUTOMAKE,
86.466 -+AC_DEFUN([AM_INIT_AUTOMAKE],
86.467 - [AC_REQUIRE([AC_PROG_INSTALL])
86.468 - PACKAGE=[$1]
86.469 - AC_SUBST(PACKAGE)
86.470 -@@ -175,7 +82,7 @@
86.471 - # Check to make sure that the build environment is sane.
86.472 - #
86.473 -
86.474 --AC_DEFUN(AM_SANITY_CHECK,
86.475 -+AC_DEFUN([AM_SANITY_CHECK],
86.476 - [AC_MSG_CHECKING([whether build environment is sane])
86.477 - # Just in case
86.478 - sleep 1
86.479 -@@ -216,7 +123,7 @@
86.480 -
86.481 - dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
86.482 - dnl The program must properly implement --version.
86.483 --AC_DEFUN(AM_MISSING_PROG,
86.484 -+AC_DEFUN([AM_MISSING_PROG],
86.485 - [AC_MSG_CHECKING(for working $2)
86.486 - # Run test in a subshell; some versions of sh will print an error if
86.487 - # an executable is not found, even if stderr is redirected.
86.488 -@@ -235,7 +142,7 @@
86.489 -
86.490 - # serial 1
86.491 -
86.492 --AC_DEFUN(AM_MAINTAINER_MODE,
86.493 -+AC_DEFUN([AM_MAINTAINER_MODE],
86.494 - [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
86.495 - dnl maintainer-mode is disabled by default
86.496 - AC_ARG_ENABLE(maintainer-mode,
86.497 -@@ -252,7 +159,7 @@
86.498 -
86.499 - # Define a conditional.
86.500 -
86.501 --AC_DEFUN(AM_CONDITIONAL,
86.502 -+AC_DEFUN([AM_CONDITIONAL],
86.503 - [AC_SUBST($1_TRUE)
86.504 - AC_SUBST($1_FALSE)
86.505 - if $2; then
86.506 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/configure gcc/libffi/configure
86.507 ---- gcc-3.2.2.orig/libffi/configure Wed Jan 29 07:59:05 2003
86.508 -+++ gcc/libffi/configure Sat Feb 1 20:16:19 2003
86.509 -@@ -633,17 +633,16 @@
86.510 -
86.511 - if test "${srcdir}" = "."; then
86.512 - if test "${with_target_subdir}" != "."; then
86.513 -- libffi_basedir="${srcdir}/${with_multisrctop}.."
86.514 -+ libffi_basedir="${with_multisrctop}../"
86.515 - else
86.516 -- libffi_basedir="${srcdir}/${with_multisrctop}"
86.517 -+ libffi_basedir="${with_multisrctop}"
86.518 - fi
86.519 - else
86.520 -- libffi_basedir="${srcdir}"
86.521 -+ libffi_basedir=
86.522 - fi
86.523 -
86.524 --
86.525 - ac_aux_dir=
86.526 --for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
86.527 -+for ac_dir in ${libffi_basedir}.. $srcdir/${libffi_basedir}..; do
86.528 - if test -f $ac_dir/install-sh; then
86.529 - ac_aux_dir=$ac_dir
86.530 - ac_install_sh="$ac_aux_dir/install-sh -c"
86.531 -@@ -655,13 +654,14 @@
86.532 - fi
86.533 - done
86.534 - if test -z "$ac_aux_dir"; then
86.535 -- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
86.536 -+ { echo "configure: error: can not find install-sh or install.sh in ${libffi_basedir}.. $srcdir/${libffi_basedir}.." 1>&2; exit 1; }
86.537 - fi
86.538 - ac_config_guess=$ac_aux_dir/config.guess
86.539 - ac_config_sub=$ac_aux_dir/config.sub
86.540 - ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
86.541 -
86.542 -
86.543 -+
86.544 - # Make sure we can run config.sub.
86.545 - if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
86.546 - else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
86.547 -@@ -1238,9 +1238,18 @@
86.548 - ;;
86.549 -
86.550 - hpux10.20*|hpux11*)
86.551 -- lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
86.552 -- lt_cv_file_magic_cmd=/usr/bin/file
86.553 -- lt_cv_file_magic_test_file=/usr/lib/libc.sl
86.554 -+ case $host_cpu in
86.555 -+ hppa*)
86.556 -+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
86.557 -+ lt_cv_file_magic_cmd=/usr/bin/file
86.558 -+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
86.559 -+ ;;
86.560 -+ ia64*)
86.561 -+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
86.562 -+ lt_cv_file_magic_cmd=/usr/bin/file
86.563 -+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
86.564 -+ ;;
86.565 -+ esac
86.566 - ;;
86.567 -
86.568 - irix5* | irix6*)
86.569 -@@ -1267,7 +1276,7 @@
86.570 - # This must be Linux ELF.
86.571 - linux-gnu*)
86.572 - case $host_cpu in
86.573 -- alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
86.574 -+ alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* )
86.575 - lt_cv_deplibs_check_method=pass_all ;;
86.576 - *)
86.577 - # glibc up to 2.1.1 does not perform some relocations on ARM
86.578 -@@ -1330,13 +1339,13 @@
86.579 - deplibs_check_method=$lt_cv_deplibs_check_method
86.580 -
86.581 - echo $ac_n "checking for object suffix""... $ac_c" 1>&6
86.582 --echo "configure:1334: checking for object suffix" >&5
86.583 -+echo "configure:1343: checking for object suffix" >&5
86.584 - if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
86.585 - echo $ac_n "(cached) $ac_c" 1>&6
86.586 - else
86.587 - rm -f conftest*
86.588 - echo 'int i = 1;' > conftest.$ac_ext
86.589 --if { (eval echo configure:1340: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.590 -+if { (eval echo configure:1349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.591 - for ac_file in conftest.*; do
86.592 - case $ac_file in
86.593 - *.c) ;;
86.594 -@@ -1356,7 +1365,7 @@
86.595 -
86.596 -
86.597 - echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
86.598 --echo "configure:1360: checking for executable suffix" >&5
86.599 -+echo "configure:1369: checking for executable suffix" >&5
86.600 - if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
86.601 - echo $ac_n "(cached) $ac_c" 1>&6
86.602 - else
86.603 -@@ -1366,7 +1375,7 @@
86.604 - rm -f conftest*
86.605 - echo 'int main () { return 0; }' > conftest.$ac_ext
86.606 - ac_cv_exeext=
86.607 -- if { (eval echo configure:1370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
86.608 -+ if { (eval echo configure:1379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
86.609 - for file in conftest.*; do
86.610 - case $file in
86.611 - *.c | *.o | *.obj) ;;
86.612 -@@ -1399,7 +1408,7 @@
86.613 - file_magic*)
86.614 - if test "$file_magic_cmd" = '$MAGIC_CMD'; then
86.615 - echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
86.616 --echo "configure:1403: checking for ${ac_tool_prefix}file" >&5
86.617 -+echo "configure:1412: checking for ${ac_tool_prefix}file" >&5
86.618 - if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
86.619 - echo $ac_n "(cached) $ac_c" 1>&6
86.620 - else
86.621 -@@ -1461,7 +1470,7 @@
86.622 - if test -z "$lt_cv_path_MAGIC_CMD"; then
86.623 - if test -n "$ac_tool_prefix"; then
86.624 - echo $ac_n "checking for file""... $ac_c" 1>&6
86.625 --echo "configure:1465: checking for file" >&5
86.626 -+echo "configure:1474: checking for file" >&5
86.627 - if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
86.628 - echo $ac_n "(cached) $ac_c" 1>&6
86.629 - else
86.630 -@@ -1532,7 +1541,7 @@
86.631 - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
86.632 - set dummy ${ac_tool_prefix}ranlib; ac_word=$2
86.633 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.634 --echo "configure:1536: checking for $ac_word" >&5
86.635 -+echo "configure:1545: checking for $ac_word" >&5
86.636 - if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
86.637 - echo $ac_n "(cached) $ac_c" 1>&6
86.638 - else
86.639 -@@ -1564,7 +1573,7 @@
86.640 - # Extract the first word of "ranlib", so it can be a program name with args.
86.641 - set dummy ranlib; ac_word=$2
86.642 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.643 --echo "configure:1568: checking for $ac_word" >&5
86.644 -+echo "configure:1577: checking for $ac_word" >&5
86.645 - if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
86.646 - echo $ac_n "(cached) $ac_c" 1>&6
86.647 - else
86.648 -@@ -1599,7 +1608,7 @@
86.649 - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
86.650 - set dummy ${ac_tool_prefix}strip; ac_word=$2
86.651 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.652 --echo "configure:1603: checking for $ac_word" >&5
86.653 -+echo "configure:1612: checking for $ac_word" >&5
86.654 - if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
86.655 - echo $ac_n "(cached) $ac_c" 1>&6
86.656 - else
86.657 -@@ -1631,7 +1640,7 @@
86.658 - # Extract the first word of "strip", so it can be a program name with args.
86.659 - set dummy strip; ac_word=$2
86.660 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.661 --echo "configure:1635: checking for $ac_word" >&5
86.662 -+echo "configure:1644: checking for $ac_word" >&5
86.663 - if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
86.664 - echo $ac_n "(cached) $ac_c" 1>&6
86.665 - else
86.666 -@@ -1698,8 +1707,8 @@
86.667 - case $host in
86.668 - *-*-irix6*)
86.669 - # Find out which ABI we are using.
86.670 -- echo '#line 1702 "configure"' > conftest.$ac_ext
86.671 -- if { (eval echo configure:1703: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.672 -+ echo '#line 1711 "configure"' > conftest.$ac_ext
86.673 -+ if { (eval echo configure:1712: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.674 - case `/usr/bin/file conftest.$ac_objext` in
86.675 - *32-bit*)
86.676 - LD="${LD-ld} -32"
86.677 -@@ -1715,12 +1724,70 @@
86.678 - rm -rf conftest*
86.679 - ;;
86.680 -
86.681 -+ia64-*-hpux*)
86.682 -+ # Find out which ABI we are using.
86.683 -+ echo 'int i;' > conftest.$ac_ext
86.684 -+ if { (eval echo configure:1731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.685 -+ case "`/usr/bin/file conftest.o`" in
86.686 -+ *ELF-32*)
86.687 -+ HPUX_IA64_MODE="32"
86.688 -+ ;;
86.689 -+ *ELF-64*)
86.690 -+ HPUX_IA64_MODE="64"
86.691 -+ ;;
86.692 -+ esac
86.693 -+ fi
86.694 -+ rm -rf conftest*
86.695 -+ ;;
86.696 -+
86.697 -+x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
86.698 -+ # Find out which ABI we are using.
86.699 -+ echo 'int i;' > conftest.$ac_ext
86.700 -+ if { (eval echo configure:1747: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.701 -+ case "`/usr/bin/file conftest.o`" in
86.702 -+ *32-bit*)
86.703 -+ case $host in
86.704 -+ x86_64-*linux*)
86.705 -+ LD="${LD-ld} -m elf_i386"
86.706 -+ ;;
86.707 -+ ppc64-*linux*)
86.708 -+ LD="${LD-ld} -m elf32ppclinux"
86.709 -+ ;;
86.710 -+ s390x-*linux*)
86.711 -+ LD="${LD-ld} -m elf_s390"
86.712 -+ ;;
86.713 -+ sparc64-*linux*)
86.714 -+ LD="${LD-ld} -m elf32_sparc"
86.715 -+ ;;
86.716 -+ esac
86.717 -+ ;;
86.718 -+ *64-bit*)
86.719 -+ case $host in
86.720 -+ x86_64-*linux*)
86.721 -+ LD="${LD-ld} -m elf_x86_64"
86.722 -+ ;;
86.723 -+ ppc*-*linux*|powerpc*-*linux*)
86.724 -+ LD="${LD-ld} -m elf64ppc"
86.725 -+ ;;
86.726 -+ s390*-*linux*)
86.727 -+ LD="${LD-ld} -m elf64_s390"
86.728 -+ ;;
86.729 -+ sparc*-*linux*)
86.730 -+ LD="${LD-ld} -m elf64_sparc"
86.731 -+ ;;
86.732 -+ esac
86.733 -+ ;;
86.734 -+ esac
86.735 -+ fi
86.736 -+ rm -rf conftest*
86.737 -+ ;;
86.738 -+
86.739 - *-*-sco3.2v5*)
86.740 - # On SCO OpenServer 5, we need -belf to get full-featured binaries.
86.741 - SAVE_CFLAGS="$CFLAGS"
86.742 - CFLAGS="$CFLAGS -belf"
86.743 - echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
86.744 --echo "configure:1724: checking whether the C compiler needs -belf" >&5
86.745 -+echo "configure:1791: checking whether the C compiler needs -belf" >&5
86.746 - if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
86.747 - echo $ac_n "(cached) $ac_c" 1>&6
86.748 - else
86.749 -@@ -1733,14 +1800,14 @@
86.750 - cross_compiling=$ac_cv_prog_cc_cross
86.751 -
86.752 - cat > conftest.$ac_ext <<EOF
86.753 --#line 1737 "configure"
86.754 -+#line 1804 "configure"
86.755 - #include "confdefs.h"
86.756 -
86.757 - int main() {
86.758 -
86.759 - ; return 0; }
86.760 - EOF
86.761 --if { (eval echo configure:1744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.762 -+if { (eval echo configure:1811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.763 - rm -rf conftest*
86.764 - lt_cv_cc_needs_belf=yes
86.765 - else
86.766 -@@ -1868,7 +1935,7 @@
86.767 - # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
86.768 - # ./install, which can be erroneously created by make from ./install.sh.
86.769 - echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
86.770 --echo "configure:1872: checking for a BSD compatible install" >&5
86.771 -+echo "configure:1939: checking for a BSD compatible install" >&5
86.772 - if test -z "$INSTALL"; then
86.773 - if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
86.774 - echo $ac_n "(cached) $ac_c" 1>&6
86.775 -@@ -1921,7 +1988,7 @@
86.776 - test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
86.777 -
86.778 - echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
86.779 --echo "configure:1925: checking whether build environment is sane" >&5
86.780 -+echo "configure:1992: checking whether build environment is sane" >&5
86.781 - # Just in case
86.782 - sleep 1
86.783 - echo timestamp > conftestfile
86.784 -@@ -1978,7 +2045,7 @@
86.785 - test "$program_transform_name" = "" && program_transform_name="s,x,x,"
86.786 -
86.787 - echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
86.788 --echo "configure:1982: checking whether ${MAKE-make} sets \${MAKE}" >&5
86.789 -+echo "configure:2049: checking whether ${MAKE-make} sets \${MAKE}" >&5
86.790 - set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
86.791 - if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
86.792 - echo $ac_n "(cached) $ac_c" 1>&6
86.793 -@@ -2017,7 +2084,7 @@
86.794 -
86.795 - missing_dir=`cd $ac_aux_dir && pwd`
86.796 - echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
86.797 --echo "configure:2021: checking for working aclocal" >&5
86.798 -+echo "configure:2088: checking for working aclocal" >&5
86.799 - # Run test in a subshell; some versions of sh will print an error if
86.800 - # an executable is not found, even if stderr is redirected.
86.801 - # Redirect stdin to placate older versions of autoconf. Sigh.
86.802 -@@ -2030,7 +2097,7 @@
86.803 - fi
86.804 -
86.805 - echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
86.806 --echo "configure:2034: checking for working autoconf" >&5
86.807 -+echo "configure:2101: checking for working autoconf" >&5
86.808 - # Run test in a subshell; some versions of sh will print an error if
86.809 - # an executable is not found, even if stderr is redirected.
86.810 - # Redirect stdin to placate older versions of autoconf. Sigh.
86.811 -@@ -2043,7 +2110,7 @@
86.812 - fi
86.813 -
86.814 - echo $ac_n "checking for working automake""... $ac_c" 1>&6
86.815 --echo "configure:2047: checking for working automake" >&5
86.816 -+echo "configure:2114: checking for working automake" >&5
86.817 - # Run test in a subshell; some versions of sh will print an error if
86.818 - # an executable is not found, even if stderr is redirected.
86.819 - # Redirect stdin to placate older versions of autoconf. Sigh.
86.820 -@@ -2056,7 +2123,7 @@
86.821 - fi
86.822 -
86.823 - echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
86.824 --echo "configure:2060: checking for working autoheader" >&5
86.825 -+echo "configure:2127: checking for working autoheader" >&5
86.826 - # Run test in a subshell; some versions of sh will print an error if
86.827 - # an executable is not found, even if stderr is redirected.
86.828 - # Redirect stdin to placate older versions of autoconf. Sigh.
86.829 -@@ -2069,7 +2136,7 @@
86.830 - fi
86.831 -
86.832 - echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
86.833 --echo "configure:2073: checking for working makeinfo" >&5
86.834 -+echo "configure:2140: checking for working makeinfo" >&5
86.835 - # Run test in a subshell; some versions of sh will print an error if
86.836 - # an executable is not found, even if stderr is redirected.
86.837 - # Redirect stdin to placate older versions of autoconf. Sigh.
86.838 -@@ -2086,7 +2153,7 @@
86.839 -
86.840 -
86.841 - echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
86.842 --echo "configure:2090: checking for executable suffix" >&5
86.843 -+echo "configure:2157: checking for executable suffix" >&5
86.844 - if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
86.845 - echo $ac_n "(cached) $ac_c" 1>&6
86.846 - else
86.847 -@@ -2096,7 +2163,7 @@
86.848 - rm -f conftest*
86.849 - echo 'int main () { return 0; }' > conftest.$ac_ext
86.850 - ac_cv_exeext=
86.851 -- if { (eval echo configure:2100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
86.852 -+ if { (eval echo configure:2167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
86.853 - for file in conftest.*; do
86.854 - case $file in
86.855 - *.c | *.o | *.obj) ;;
86.856 -@@ -2117,7 +2184,7 @@
86.857 - ac_exeext=$EXEEXT
86.858 -
86.859 - echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
86.860 --echo "configure:2121: checking whether to enable maintainer-specific portions of Makefiles" >&5
86.861 -+echo "configure:2188: checking whether to enable maintainer-specific portions of Makefiles" >&5
86.862 - # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
86.863 - if test "${enable_maintainer_mode+set}" = set; then
86.864 - enableval="$enable_maintainer_mode"
86.865 -@@ -2143,7 +2210,7 @@
86.866 - # Extract the first word of "gcc", so it can be a program name with args.
86.867 - set dummy gcc; ac_word=$2
86.868 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.869 --echo "configure:2147: checking for $ac_word" >&5
86.870 -+echo "configure:2214: checking for $ac_word" >&5
86.871 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
86.872 - echo $ac_n "(cached) $ac_c" 1>&6
86.873 - else
86.874 -@@ -2173,7 +2240,7 @@
86.875 - # Extract the first word of "cc", so it can be a program name with args.
86.876 - set dummy cc; ac_word=$2
86.877 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.878 --echo "configure:2177: checking for $ac_word" >&5
86.879 -+echo "configure:2244: checking for $ac_word" >&5
86.880 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
86.881 - echo $ac_n "(cached) $ac_c" 1>&6
86.882 - else
86.883 -@@ -2224,7 +2291,7 @@
86.884 - # Extract the first word of "cl", so it can be a program name with args.
86.885 - set dummy cl; ac_word=$2
86.886 - echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
86.887 --echo "configure:2228: checking for $ac_word" >&5
86.888 -+echo "configure:2295: checking for $ac_word" >&5
86.889 - if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
86.890 - echo $ac_n "(cached) $ac_c" 1>&6
86.891 - else
86.892 -@@ -2256,7 +2323,7 @@
86.893 - fi
86.894 -
86.895 - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
86.896 --echo "configure:2260: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
86.897 -+echo "configure:2327: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
86.898 -
86.899 - ac_ext=c
86.900 - # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
86.901 -@@ -2267,12 +2334,12 @@
86.902 -
86.903 - cat > conftest.$ac_ext << EOF
86.904 -
86.905 --#line 2271 "configure"
86.906 -+#line 2338 "configure"
86.907 - #include "confdefs.h"
86.908 -
86.909 - main(){return(0);}
86.910 - EOF
86.911 --if { (eval echo configure:2276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.912 -+if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.913 - ac_cv_prog_cc_works=yes
86.914 - # If we can't run a trivial program, we are probably using a cross compiler.
86.915 - if (./conftest; exit) 2>/dev/null; then
86.916 -@@ -2298,12 +2365,12 @@
86.917 - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
86.918 - fi
86.919 - echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
86.920 --echo "configure:2302: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
86.921 -+echo "configure:2369: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
86.922 - echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
86.923 - cross_compiling=$ac_cv_prog_cc_cross
86.924 -
86.925 - echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
86.926 --echo "configure:2307: checking whether we are using GNU C" >&5
86.927 -+echo "configure:2374: checking whether we are using GNU C" >&5
86.928 - if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
86.929 - echo $ac_n "(cached) $ac_c" 1>&6
86.930 - else
86.931 -@@ -2312,7 +2379,7 @@
86.932 - yes;
86.933 - #endif
86.934 - EOF
86.935 --if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
86.936 -+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
86.937 - ac_cv_prog_gcc=yes
86.938 - else
86.939 - ac_cv_prog_gcc=no
86.940 -@@ -2331,7 +2398,7 @@
86.941 - ac_save_CFLAGS="$CFLAGS"
86.942 - CFLAGS=
86.943 - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
86.944 --echo "configure:2335: checking whether ${CC-cc} accepts -g" >&5
86.945 -+echo "configure:2402: checking whether ${CC-cc} accepts -g" >&5
86.946 - if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
86.947 - echo $ac_n "(cached) $ac_c" 1>&6
86.948 - else
86.949 -@@ -2381,17 +2448,23 @@
86.950 - i*86-*-mingw*) TARGET=X86_WIN32; TARGETDIR=x86;;
86.951 - sparc-sun-4*) TARGET=SPARC; TARGETDIR=sparc;;
86.952 - sparc*-sun-*) TARGET=SPARC; TARGETDIR=sparc;;
86.953 --sparc-*-linux*) TARGET=SPARC; TARGETDIR=sparc;;
86.954 --sparc64-*-linux*) TARGET=SPARC; TARGETDIR=sparc;;
86.955 --alpha*-*-linux* | alpha*-*-osf* | alpha*-*-freebsd*) TARGET=ALPHA; TARGETDIR=alpha;;
86.956 -+sparc-*-linux* | sparc-*-netbsdelf*) TARGET=SPARC; TARGETDIR=sparc;;
86.957 -+sparc64-*-linux* | sparc64-*-netbsd*) TARGET=SPARC; TARGETDIR=sparc;;
86.958 -+alpha*-*-linux* | alpha*-*-osf* | alpha*-*-freebsd* | alpha*-*-netbsd*) TARGET=ALPHA; TARGETDIR=alpha;;
86.959 - ia64*-*-*) TARGET=IA64; TARGETDIR=ia64;;
86.960 - m68k-*-linux*) TARGET=M68K; TARGETDIR=m68k;;
86.961 -+mips64*-*);;
86.962 -+mips*-*-linux*) TARGET=MIPS_LINUX; TARGETDIR=mips;;
86.963 - powerpc-*-linux* | powerpc-*-sysv*) TARGET=POWERPC; TARGETDIR=powerpc;;
86.964 - powerpc-*-beos*) TARGET=POWERPC; TARGETDIR=powerpc;;
86.965 - powerpc-*-darwin*) TARGET=POWERPC_DARWIN; TARGETDIR=powerpc;;
86.966 - powerpc-*-aix*) TARGET=POWERPC_AIX; TARGETDIR=powerpc;;
86.967 - rs6000-*-aix*) TARGET=POWERPC_AIX; TARGETDIR=powerpc;;
86.968 - arm*-*-linux-*) TARGET=ARM; TARGETDIR=arm;;
86.969 -+s390-*-linux-*) TARGET=S390; TARGETDIR=s390;;
86.970 -+s390x-*-linux-*) TARGET=S390; TARGETDIR=s390;;
86.971 -+x86_64-*-linux*) TARGET=X86_64; TARGETDIR=x86;;
86.972 -+sh-*-linux* | sh[34]*-*-linux*) TARGET=SH; TARGETDIR=sh;;
86.973 - esac
86.974 -
86.975 - if test $TARGETDIR = unknown; then
86.976 -@@ -2418,6 +2491,15 @@
86.977 - fi
86.978 -
86.979 -
86.980 -+if test x$TARGET = xMIPS_LINUX; then
86.981 -+ MIPS_LINUX_TRUE=
86.982 -+ MIPS_LINUX_FALSE='#'
86.983 -+else
86.984 -+ MIPS_LINUX_TRUE='#'
86.985 -+ MIPS_LINUX_FALSE=
86.986 -+fi
86.987 -+
86.988 -+
86.989 - if test x$TARGET = xSPARC; then
86.990 - SPARC_TRUE=
86.991 - SPARC_FALSE='#'
86.992 -@@ -2507,8 +2589,39 @@
86.993 - ARM_FALSE=
86.994 - fi
86.995 -
86.996 -+
86.997 -+if test x$TARGET = xS390; then
86.998 -+ S390_TRUE=
86.999 -+ S390_FALSE='#'
86.1000 -+else
86.1001 -+ S390_TRUE='#'
86.1002 -+ S390_FALSE=
86.1003 -+fi
86.1004 -+
86.1005 -+
86.1006 -+if test x$TARGET = xX86_64; then
86.1007 -+ X86_64_TRUE=
86.1008 -+ X86_64_FALSE='#'
86.1009 -+else
86.1010 -+ X86_64_TRUE='#'
86.1011 -+ X86_64_FALSE=
86.1012 -+fi
86.1013 -+
86.1014 -+
86.1015 -+if test x$TARGET = xSH; then
86.1016 -+ SH_TRUE=
86.1017 -+ SH_FALSE='#'
86.1018 -+else
86.1019 -+ SH_TRUE='#'
86.1020 -+ SH_FALSE=
86.1021 -+fi
86.1022 -+
86.1023 -+if test x$TARGET = xMIPS_LINUX; then
86.1024 -+ TARGET=MIPS
86.1025 -+fi
86.1026 -+
86.1027 - echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
86.1028 --echo "configure:2512: checking how to run the C preprocessor" >&5
86.1029 -+echo "configure:2625: checking how to run the C preprocessor" >&5
86.1030 - # On Suns, sometimes $CPP names a directory.
86.1031 - if test -n "$CPP" && test -d "$CPP"; then
86.1032 - CPP=
86.1033 -@@ -2523,13 +2636,13 @@
86.1034 - # On the NeXT, cc -E runs the code through the compiler's parser,
86.1035 - # not just through cpp.
86.1036 - cat > conftest.$ac_ext <<EOF
86.1037 --#line 2527 "configure"
86.1038 -+#line 2640 "configure"
86.1039 - #include "confdefs.h"
86.1040 - #include <assert.h>
86.1041 - Syntax Error
86.1042 - EOF
86.1043 - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
86.1044 --{ (eval echo configure:2533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1045 -+{ (eval echo configure:2646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1046 - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
86.1047 - if test -z "$ac_err"; then
86.1048 - :
86.1049 -@@ -2540,13 +2653,13 @@
86.1050 - rm -rf conftest*
86.1051 - CPP="${CC-cc} -E -traditional-cpp"
86.1052 - cat > conftest.$ac_ext <<EOF
86.1053 --#line 2544 "configure"
86.1054 -+#line 2657 "configure"
86.1055 - #include "confdefs.h"
86.1056 - #include <assert.h>
86.1057 - Syntax Error
86.1058 - EOF
86.1059 - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
86.1060 --{ (eval echo configure:2550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1061 -+{ (eval echo configure:2663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1062 - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
86.1063 - if test -z "$ac_err"; then
86.1064 - :
86.1065 -@@ -2557,13 +2670,13 @@
86.1066 - rm -rf conftest*
86.1067 - CPP="${CC-cc} -nologo -E"
86.1068 - cat > conftest.$ac_ext <<EOF
86.1069 --#line 2561 "configure"
86.1070 -+#line 2674 "configure"
86.1071 - #include "confdefs.h"
86.1072 - #include <assert.h>
86.1073 - Syntax Error
86.1074 - EOF
86.1075 - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
86.1076 --{ (eval echo configure:2567: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1077 -+{ (eval echo configure:2680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1078 - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
86.1079 - if test -z "$ac_err"; then
86.1080 - :
86.1081 -@@ -2588,12 +2701,12 @@
86.1082 - echo "$ac_t""$CPP" 1>&6
86.1083 -
86.1084 - echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
86.1085 --echo "configure:2592: checking for ANSI C header files" >&5
86.1086 -+echo "configure:2705: checking for ANSI C header files" >&5
86.1087 - if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
86.1088 - echo $ac_n "(cached) $ac_c" 1>&6
86.1089 - else
86.1090 - cat > conftest.$ac_ext <<EOF
86.1091 --#line 2597 "configure"
86.1092 -+#line 2710 "configure"
86.1093 - #include "confdefs.h"
86.1094 - #include <stdlib.h>
86.1095 - #include <stdarg.h>
86.1096 -@@ -2601,7 +2714,7 @@
86.1097 - #include <float.h>
86.1098 - EOF
86.1099 - ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
86.1100 --{ (eval echo configure:2605: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1101 -+{ (eval echo configure:2718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
86.1102 - ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
86.1103 - if test -z "$ac_err"; then
86.1104 - rm -rf conftest*
86.1105 -@@ -2618,7 +2731,7 @@
86.1106 - if test $ac_cv_header_stdc = yes; then
86.1107 - # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
86.1108 - cat > conftest.$ac_ext <<EOF
86.1109 --#line 2622 "configure"
86.1110 -+#line 2735 "configure"
86.1111 - #include "confdefs.h"
86.1112 - #include <string.h>
86.1113 - EOF
86.1114 -@@ -2636,7 +2749,7 @@
86.1115 - if test $ac_cv_header_stdc = yes; then
86.1116 - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
86.1117 - cat > conftest.$ac_ext <<EOF
86.1118 --#line 2640 "configure"
86.1119 -+#line 2753 "configure"
86.1120 - #include "confdefs.h"
86.1121 - #include <stdlib.h>
86.1122 - EOF
86.1123 -@@ -2657,7 +2770,7 @@
86.1124 - :
86.1125 - else
86.1126 - cat > conftest.$ac_ext <<EOF
86.1127 --#line 2661 "configure"
86.1128 -+#line 2774 "configure"
86.1129 - #include "confdefs.h"
86.1130 - #include <ctype.h>
86.1131 - #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
86.1132 -@@ -2668,7 +2781,7 @@
86.1133 - exit (0); }
86.1134 -
86.1135 - EOF
86.1136 --if { (eval echo configure:2672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1137 -+if { (eval echo configure:2785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1138 - then
86.1139 - :
86.1140 - else
86.1141 -@@ -2694,12 +2807,12 @@
86.1142 - for ac_func in memcpy
86.1143 - do
86.1144 - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
86.1145 --echo "configure:2698: checking for $ac_func" >&5
86.1146 -+echo "configure:2811: checking for $ac_func" >&5
86.1147 - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
86.1148 - echo $ac_n "(cached) $ac_c" 1>&6
86.1149 - else
86.1150 - cat > conftest.$ac_ext <<EOF
86.1151 --#line 2703 "configure"
86.1152 -+#line 2816 "configure"
86.1153 - #include "confdefs.h"
86.1154 - /* System header to define __stub macros and hopefully few prototypes,
86.1155 - which can conflict with char $ac_func(); below. */
86.1156 -@@ -2722,7 +2835,7 @@
86.1157 -
86.1158 - ; return 0; }
86.1159 - EOF
86.1160 --if { (eval echo configure:2726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1161 -+if { (eval echo configure:2839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1162 - rm -rf conftest*
86.1163 - eval "ac_cv_func_$ac_func=yes"
86.1164 - else
86.1165 -@@ -2749,19 +2862,19 @@
86.1166 - # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
86.1167 - # for constant arguments. Useless!
86.1168 - echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
86.1169 --echo "configure:2753: checking for working alloca.h" >&5
86.1170 -+echo "configure:2866: checking for working alloca.h" >&5
86.1171 - if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
86.1172 - echo $ac_n "(cached) $ac_c" 1>&6
86.1173 - else
86.1174 - cat > conftest.$ac_ext <<EOF
86.1175 --#line 2758 "configure"
86.1176 -+#line 2871 "configure"
86.1177 - #include "confdefs.h"
86.1178 - #include <alloca.h>
86.1179 - int main() {
86.1180 - char *p = alloca(2 * sizeof(int));
86.1181 - ; return 0; }
86.1182 - EOF
86.1183 --if { (eval echo configure:2765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1184 -+if { (eval echo configure:2878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1185 - rm -rf conftest*
86.1186 - ac_cv_header_alloca_h=yes
86.1187 - else
86.1188 -@@ -2782,12 +2895,12 @@
86.1189 - fi
86.1190 -
86.1191 - echo $ac_n "checking for alloca""... $ac_c" 1>&6
86.1192 --echo "configure:2786: checking for alloca" >&5
86.1193 -+echo "configure:2899: checking for alloca" >&5
86.1194 - if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
86.1195 - echo $ac_n "(cached) $ac_c" 1>&6
86.1196 - else
86.1197 - cat > conftest.$ac_ext <<EOF
86.1198 --#line 2791 "configure"
86.1199 -+#line 2904 "configure"
86.1200 - #include "confdefs.h"
86.1201 -
86.1202 - #ifdef __GNUC__
86.1203 -@@ -2815,7 +2928,7 @@
86.1204 - char *p = (char *) alloca(1);
86.1205 - ; return 0; }
86.1206 - EOF
86.1207 --if { (eval echo configure:2819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1208 -+if { (eval echo configure:2932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1209 - rm -rf conftest*
86.1210 - ac_cv_func_alloca_works=yes
86.1211 - else
86.1212 -@@ -2847,12 +2960,12 @@
86.1213 -
86.1214 -
86.1215 - echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
86.1216 --echo "configure:2851: checking whether alloca needs Cray hooks" >&5
86.1217 -+echo "configure:2964: checking whether alloca needs Cray hooks" >&5
86.1218 - if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
86.1219 - echo $ac_n "(cached) $ac_c" 1>&6
86.1220 - else
86.1221 - cat > conftest.$ac_ext <<EOF
86.1222 --#line 2856 "configure"
86.1223 -+#line 2969 "configure"
86.1224 - #include "confdefs.h"
86.1225 - #if defined(CRAY) && ! defined(CRAY2)
86.1226 - webecray
86.1227 -@@ -2877,12 +2990,12 @@
86.1228 - if test $ac_cv_os_cray = yes; then
86.1229 - for ac_func in _getb67 GETB67 getb67; do
86.1230 - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
86.1231 --echo "configure:2881: checking for $ac_func" >&5
86.1232 -+echo "configure:2994: checking for $ac_func" >&5
86.1233 - if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
86.1234 - echo $ac_n "(cached) $ac_c" 1>&6
86.1235 - else
86.1236 - cat > conftest.$ac_ext <<EOF
86.1237 --#line 2886 "configure"
86.1238 -+#line 2999 "configure"
86.1239 - #include "confdefs.h"
86.1240 - /* System header to define __stub macros and hopefully few prototypes,
86.1241 - which can conflict with char $ac_func(); below. */
86.1242 -@@ -2905,7 +3018,7 @@
86.1243 -
86.1244 - ; return 0; }
86.1245 - EOF
86.1246 --if { (eval echo configure:2909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1247 -+if { (eval echo configure:3022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1248 - rm -rf conftest*
86.1249 - eval "ac_cv_func_$ac_func=yes"
86.1250 - else
86.1251 -@@ -2932,7 +3045,7 @@
86.1252 - fi
86.1253 -
86.1254 - echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
86.1255 --echo "configure:2936: checking stack direction for C alloca" >&5
86.1256 -+echo "configure:3049: checking stack direction for C alloca" >&5
86.1257 - if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
86.1258 - echo $ac_n "(cached) $ac_c" 1>&6
86.1259 - else
86.1260 -@@ -2940,7 +3053,7 @@
86.1261 - ac_cv_c_stack_direction=0
86.1262 - else
86.1263 - cat > conftest.$ac_ext <<EOF
86.1264 --#line 2944 "configure"
86.1265 -+#line 3057 "configure"
86.1266 - #include "confdefs.h"
86.1267 - find_stack_direction ()
86.1268 - {
86.1269 -@@ -2959,7 +3072,7 @@
86.1270 - exit (find_stack_direction() < 0);
86.1271 - }
86.1272 - EOF
86.1273 --if { (eval echo configure:2963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1274 -+if { (eval echo configure:3076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1275 - then
86.1276 - ac_cv_c_stack_direction=1
86.1277 - else
86.1278 -@@ -2982,13 +3095,13 @@
86.1279 -
86.1280 -
86.1281 - echo $ac_n "checking size of short""... $ac_c" 1>&6
86.1282 --echo "configure:2986: checking size of short" >&5
86.1283 -+echo "configure:3099: checking size of short" >&5
86.1284 - if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
86.1285 - echo $ac_n "(cached) $ac_c" 1>&6
86.1286 - else
86.1287 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1288 - cat > conftest.$ac_ext <<EOF
86.1289 --#line 2992 "configure"
86.1290 -+#line 3105 "configure"
86.1291 - #include "confdefs.h"
86.1292 - #include "confdefs.h"
86.1293 - #include <sys/types.h>
86.1294 -@@ -2998,7 +3111,7 @@
86.1295 - switch (0) case 0: case (sizeof (short) == $ac_size):;
86.1296 - ; return 0; }
86.1297 - EOF
86.1298 --if { (eval echo configure:3002: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1299 -+if { (eval echo configure:3115: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1300 - rm -rf conftest*
86.1301 - ac_cv_sizeof_short=$ac_size
86.1302 - else
86.1303 -@@ -3021,13 +3134,13 @@
86.1304 -
86.1305 -
86.1306 - echo $ac_n "checking size of int""... $ac_c" 1>&6
86.1307 --echo "configure:3025: checking size of int" >&5
86.1308 -+echo "configure:3138: checking size of int" >&5
86.1309 - if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
86.1310 - echo $ac_n "(cached) $ac_c" 1>&6
86.1311 - else
86.1312 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1313 - cat > conftest.$ac_ext <<EOF
86.1314 --#line 3031 "configure"
86.1315 -+#line 3144 "configure"
86.1316 - #include "confdefs.h"
86.1317 - #include "confdefs.h"
86.1318 - #include <sys/types.h>
86.1319 -@@ -3037,7 +3150,7 @@
86.1320 - switch (0) case 0: case (sizeof (int) == $ac_size):;
86.1321 - ; return 0; }
86.1322 - EOF
86.1323 --if { (eval echo configure:3041: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1324 -+if { (eval echo configure:3154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1325 - rm -rf conftest*
86.1326 - ac_cv_sizeof_int=$ac_size
86.1327 - else
86.1328 -@@ -3060,13 +3173,13 @@
86.1329 -
86.1330 -
86.1331 - echo $ac_n "checking size of long""... $ac_c" 1>&6
86.1332 --echo "configure:3064: checking size of long" >&5
86.1333 -+echo "configure:3177: checking size of long" >&5
86.1334 - if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
86.1335 - echo $ac_n "(cached) $ac_c" 1>&6
86.1336 - else
86.1337 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1338 - cat > conftest.$ac_ext <<EOF
86.1339 --#line 3070 "configure"
86.1340 -+#line 3183 "configure"
86.1341 - #include "confdefs.h"
86.1342 - #include "confdefs.h"
86.1343 - #include <sys/types.h>
86.1344 -@@ -3076,7 +3189,7 @@
86.1345 - switch (0) case 0: case (sizeof (long) == $ac_size):;
86.1346 - ; return 0; }
86.1347 - EOF
86.1348 --if { (eval echo configure:3080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1349 -+if { (eval echo configure:3193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1350 - rm -rf conftest*
86.1351 - ac_cv_sizeof_long=$ac_size
86.1352 - else
86.1353 -@@ -3099,13 +3212,13 @@
86.1354 -
86.1355 -
86.1356 - echo $ac_n "checking size of long long""... $ac_c" 1>&6
86.1357 --echo "configure:3103: checking size of long long" >&5
86.1358 -+echo "configure:3216: checking size of long long" >&5
86.1359 - if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
86.1360 - echo $ac_n "(cached) $ac_c" 1>&6
86.1361 - else
86.1362 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1363 - cat > conftest.$ac_ext <<EOF
86.1364 --#line 3109 "configure"
86.1365 -+#line 3222 "configure"
86.1366 - #include "confdefs.h"
86.1367 - #include "confdefs.h"
86.1368 - #include <sys/types.h>
86.1369 -@@ -3115,7 +3228,7 @@
86.1370 - switch (0) case 0: case (sizeof (long long) == $ac_size):;
86.1371 - ; return 0; }
86.1372 - EOF
86.1373 --if { (eval echo configure:3119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1374 -+if { (eval echo configure:3232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1375 - rm -rf conftest*
86.1376 - ac_cv_sizeof_long_long=$ac_size
86.1377 - else
86.1378 -@@ -3138,13 +3251,13 @@
86.1379 -
86.1380 -
86.1381 - echo $ac_n "checking size of float""... $ac_c" 1>&6
86.1382 --echo "configure:3142: checking size of float" >&5
86.1383 -+echo "configure:3255: checking size of float" >&5
86.1384 - if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then
86.1385 - echo $ac_n "(cached) $ac_c" 1>&6
86.1386 - else
86.1387 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1388 - cat > conftest.$ac_ext <<EOF
86.1389 --#line 3148 "configure"
86.1390 -+#line 3261 "configure"
86.1391 - #include "confdefs.h"
86.1392 - #include "confdefs.h"
86.1393 - #include <sys/types.h>
86.1394 -@@ -3154,7 +3267,7 @@
86.1395 - switch (0) case 0: case (sizeof (float) == $ac_size):;
86.1396 - ; return 0; }
86.1397 - EOF
86.1398 --if { (eval echo configure:3158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1399 -+if { (eval echo configure:3271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1400 - rm -rf conftest*
86.1401 - ac_cv_sizeof_float=$ac_size
86.1402 - else
86.1403 -@@ -3177,13 +3290,13 @@
86.1404 -
86.1405 -
86.1406 - echo $ac_n "checking size of double""... $ac_c" 1>&6
86.1407 --echo "configure:3181: checking size of double" >&5
86.1408 -+echo "configure:3294: checking size of double" >&5
86.1409 - if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then
86.1410 - echo $ac_n "(cached) $ac_c" 1>&6
86.1411 - else
86.1412 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1413 - cat > conftest.$ac_ext <<EOF
86.1414 --#line 3187 "configure"
86.1415 -+#line 3300 "configure"
86.1416 - #include "confdefs.h"
86.1417 - #include "confdefs.h"
86.1418 - #include <sys/types.h>
86.1419 -@@ -3193,7 +3306,7 @@
86.1420 - switch (0) case 0: case (sizeof (double) == $ac_size):;
86.1421 - ; return 0; }
86.1422 - EOF
86.1423 --if { (eval echo configure:3197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1424 -+if { (eval echo configure:3310: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1425 - rm -rf conftest*
86.1426 - ac_cv_sizeof_double=$ac_size
86.1427 - else
86.1428 -@@ -3216,13 +3329,13 @@
86.1429 -
86.1430 -
86.1431 - echo $ac_n "checking size of long double""... $ac_c" 1>&6
86.1432 --echo "configure:3220: checking size of long double" >&5
86.1433 -+echo "configure:3333: checking size of long double" >&5
86.1434 - if eval "test \"`echo '$''{'ac_cv_sizeof_long_double'+set}'`\" = set"; then
86.1435 - echo $ac_n "(cached) $ac_c" 1>&6
86.1436 - else
86.1437 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1438 - cat > conftest.$ac_ext <<EOF
86.1439 --#line 3226 "configure"
86.1440 -+#line 3339 "configure"
86.1441 - #include "confdefs.h"
86.1442 - #include "confdefs.h"
86.1443 - #include <sys/types.h>
86.1444 -@@ -3232,7 +3345,7 @@
86.1445 - switch (0) case 0: case (sizeof (long double) == $ac_size):;
86.1446 - ; return 0; }
86.1447 - EOF
86.1448 --if { (eval echo configure:3236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1449 -+if { (eval echo configure:3349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1450 - rm -rf conftest*
86.1451 - ac_cv_sizeof_long_double=$ac_size
86.1452 - else
86.1453 -@@ -3256,13 +3369,13 @@
86.1454 -
86.1455 -
86.1456 - echo $ac_n "checking size of void *""... $ac_c" 1>&6
86.1457 --echo "configure:3260: checking size of void *" >&5
86.1458 -+echo "configure:3373: checking size of void *" >&5
86.1459 - if eval "test \"`echo '$''{'ac_cv_sizeof_void_p'+set}'`\" = set"; then
86.1460 - echo $ac_n "(cached) $ac_c" 1>&6
86.1461 - else
86.1462 - for ac_size in 4 8 1 2 16 12 ; do # List sizes in rough order of prevalence.
86.1463 - cat > conftest.$ac_ext <<EOF
86.1464 --#line 3266 "configure"
86.1465 -+#line 3379 "configure"
86.1466 - #include "confdefs.h"
86.1467 - #include "confdefs.h"
86.1468 - #include <sys/types.h>
86.1469 -@@ -3272,7 +3385,7 @@
86.1470 - switch (0) case 0: case (sizeof (void *) == $ac_size):;
86.1471 - ; return 0; }
86.1472 - EOF
86.1473 --if { (eval echo configure:3276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1474 -+if { (eval echo configure:3389: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1475 - rm -rf conftest*
86.1476 - ac_cv_sizeof_void_p=$ac_size
86.1477 - else
86.1478 -@@ -3295,14 +3408,14 @@
86.1479 -
86.1480 -
86.1481 - echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
86.1482 --echo "configure:3299: checking whether byte ordering is bigendian" >&5
86.1483 -+echo "configure:3412: checking whether byte ordering is bigendian" >&5
86.1484 - if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
86.1485 - echo $ac_n "(cached) $ac_c" 1>&6
86.1486 - else
86.1487 - ac_cv_c_bigendian=unknown
86.1488 - # See if sys/param.h defines the BYTE_ORDER macro.
86.1489 - cat > conftest.$ac_ext <<EOF
86.1490 --#line 3306 "configure"
86.1491 -+#line 3419 "configure"
86.1492 - #include "confdefs.h"
86.1493 - #include <sys/types.h>
86.1494 - #include <sys/param.h>
86.1495 -@@ -3313,11 +3426,11 @@
86.1496 - #endif
86.1497 - ; return 0; }
86.1498 - EOF
86.1499 --if { (eval echo configure:3317: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1500 -+if { (eval echo configure:3430: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1501 - rm -rf conftest*
86.1502 - # It does; now see whether it defined to BIG_ENDIAN or not.
86.1503 - cat > conftest.$ac_ext <<EOF
86.1504 --#line 3321 "configure"
86.1505 -+#line 3434 "configure"
86.1506 - #include "confdefs.h"
86.1507 - #include <sys/types.h>
86.1508 - #include <sys/param.h>
86.1509 -@@ -3328,7 +3441,7 @@
86.1510 - #endif
86.1511 - ; return 0; }
86.1512 - EOF
86.1513 --if { (eval echo configure:3332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1514 -+if { (eval echo configure:3445: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
86.1515 - rm -rf conftest*
86.1516 - ac_cv_c_bigendian=yes
86.1517 - else
86.1518 -@@ -3348,7 +3461,7 @@
86.1519 - echo $ac_n "cross-compiling... " 2>&6
86.1520 - else
86.1521 - cat > conftest.$ac_ext <<EOF
86.1522 --#line 3352 "configure"
86.1523 -+#line 3465 "configure"
86.1524 - #include "confdefs.h"
86.1525 - main () {
86.1526 - /* Are we little or big endian? From Harbison&Steele. */
86.1527 -@@ -3361,7 +3474,7 @@
86.1528 - exit (u.c[sizeof (long) - 1] == 1);
86.1529 - }
86.1530 - EOF
86.1531 --if { (eval echo configure:3365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1532 -+if { (eval echo configure:3478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
86.1533 - then
86.1534 - ac_cv_c_bigendian=no
86.1535 - else
86.1536 -@@ -3379,7 +3492,7 @@
86.1537 - echo "$ac_t""$ac_cv_c_bigendian" 1>&6
86.1538 - if test $ac_cv_c_bigendian = unknown; then
86.1539 - echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
86.1540 --echo "configure:3383: checking to probe for byte ordering" >&5
86.1541 -+echo "configure:3496: checking to probe for byte ordering" >&5
86.1542 -
86.1543 - cat >conftest.c <<EOF
86.1544 - short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
86.1545 -@@ -3414,6 +3527,10 @@
86.1546 - #define WORDS_BIGENDIAN 1
86.1547 - EOF
86.1548 -
86.1549 -+ cat >> confdefs.h <<\EOF
86.1550 -+#define HOST_WORDS_BIG_ENDIAN 1
86.1551 -+EOF
86.1552 -+
86.1553 - BYTEORDER=4321
86.1554 - else
86.1555 - BYTEORDER=1234
86.1556 -@@ -3429,7 +3546,7 @@
86.1557 -
86.1558 - if test x$TARGET = xSPARC; then
86.1559 - echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6
86.1560 --echo "configure:3433: checking assembler and linker support unaligned pc related relocs" >&5
86.1561 -+echo "configure:3550: checking assembler and linker support unaligned pc related relocs" >&5
86.1562 - if eval "test \"`echo '$''{'libffi_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then
86.1563 - echo $ac_n "(cached) $ac_c" 1>&6
86.1564 - else
86.1565 -@@ -3439,14 +3556,14 @@
86.1566 - CFLAGS="$CFLAGS -fpic"
86.1567 - LDFLAGS="$LDFLAGS -shared"
86.1568 - cat > conftest.$ac_ext <<EOF
86.1569 --#line 3443 "configure"
86.1570 -+#line 3560 "configure"
86.1571 - #include "confdefs.h"
86.1572 - asm (".text; foo: nop; .data; .align 4; .byte 0; .uaword %r_disp32(foo); .text");
86.1573 - int main() {
86.1574 -
86.1575 - ; return 0; }
86.1576 - EOF
86.1577 --if { (eval echo configure:3450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1578 -+if { (eval echo configure:3567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
86.1579 - rm -rf conftest*
86.1580 - libffi_cv_as_sparc_ua_pcrel=yes
86.1581 - else
86.1582 -@@ -3709,6 +3826,8 @@
86.1583 - s%@MIPS_GCC_FALSE@%$MIPS_GCC_FALSE%g
86.1584 - s%@MIPS_SGI_TRUE@%$MIPS_SGI_TRUE%g
86.1585 - s%@MIPS_SGI_FALSE@%$MIPS_SGI_FALSE%g
86.1586 -+s%@MIPS_LINUX_TRUE@%$MIPS_LINUX_TRUE%g
86.1587 -+s%@MIPS_LINUX_FALSE@%$MIPS_LINUX_FALSE%g
86.1588 - s%@SPARC_TRUE@%$SPARC_TRUE%g
86.1589 - s%@SPARC_FALSE@%$SPARC_FALSE%g
86.1590 - s%@X86_TRUE@%$X86_TRUE%g
86.1591 -@@ -3729,6 +3848,12 @@
86.1592 - s%@POWERPC_DARWIN_FALSE@%$POWERPC_DARWIN_FALSE%g
86.1593 - s%@ARM_TRUE@%$ARM_TRUE%g
86.1594 - s%@ARM_FALSE@%$ARM_FALSE%g
86.1595 -+s%@S390_TRUE@%$S390_TRUE%g
86.1596 -+s%@S390_FALSE@%$S390_FALSE%g
86.1597 -+s%@X86_64_TRUE@%$X86_64_TRUE%g
86.1598 -+s%@X86_64_FALSE@%$X86_64_FALSE%g
86.1599 -+s%@SH_TRUE@%$SH_TRUE%g
86.1600 -+s%@SH_FALSE@%$SH_FALSE%g
86.1601 - s%@CPP@%$CPP%g
86.1602 - s%@ALLOCA@%$ALLOCA%g
86.1603 - s%@TARGET@%$TARGET%g
86.1604 -@@ -3969,7 +4094,7 @@
86.1605 -
86.1606 - if test -n "$CONFIG_FILES"; then
86.1607 - LD="${ORIGINAL_LD_FOR_MULTILIBS}"
86.1608 -- ac_file=Makefile . ${libffi_basedir}/../config-ml.in
86.1609 -+ ac_file=Makefile . ${srcdir}/${libffi_basedir}../config-ml.in
86.1610 - fi
86.1611 -
86.1612 - exit 0
86.1613 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/configure.in gcc/libffi/configure.in
86.1614 ---- gcc-3.2.2.orig/libffi/configure.in Tue Jan 28 10:43:56 2003
86.1615 -+++ gcc/libffi/configure.in Sat Feb 1 20:16:19 2003
86.1616 -@@ -22,14 +22,15 @@
86.1617 -
86.1618 - if test "${srcdir}" = "."; then
86.1619 - if test "${with_target_subdir}" != "."; then
86.1620 -- libffi_basedir="${srcdir}/${with_multisrctop}.."
86.1621 -+ libffi_basedir="${with_multisrctop}../"
86.1622 - else
86.1623 -- libffi_basedir="${srcdir}/${with_multisrctop}"
86.1624 -+ libffi_basedir="${with_multisrctop}"
86.1625 - fi
86.1626 - else
86.1627 -- libffi_basedir="${srcdir}"
86.1628 -+ libffi_basedir=
86.1629 - fi
86.1630 - AC_SUBST(libffi_basedir)
86.1631 -+AC_CONFIG_AUX_DIR(${libffi_basedir}..)
86.1632 -
86.1633 - AC_CANONICAL_HOST
86.1634 -
86.1635 -@@ -56,17 +57,23 @@
86.1636 - i*86-*-mingw*) TARGET=X86_WIN32; TARGETDIR=x86;;
86.1637 - sparc-sun-4*) TARGET=SPARC; TARGETDIR=sparc;;
86.1638 - sparc*-sun-*) TARGET=SPARC; TARGETDIR=sparc;;
86.1639 --sparc-*-linux*) TARGET=SPARC; TARGETDIR=sparc;;
86.1640 --sparc64-*-linux*) TARGET=SPARC; TARGETDIR=sparc;;
86.1641 --alpha*-*-linux* | alpha*-*-osf* | alpha*-*-freebsd*) TARGET=ALPHA; TARGETDIR=alpha;;
86.1642 -+sparc-*-linux* | sparc-*-netbsdelf*) TARGET=SPARC; TARGETDIR=sparc;;
86.1643 -+sparc64-*-linux* | sparc64-*-netbsd*) TARGET=SPARC; TARGETDIR=sparc;;
86.1644 -+alpha*-*-linux* | alpha*-*-osf* | alpha*-*-freebsd* | alpha*-*-netbsd*) TARGET=ALPHA; TARGETDIR=alpha;;
86.1645 - ia64*-*-*) TARGET=IA64; TARGETDIR=ia64;;
86.1646 - m68k-*-linux*) TARGET=M68K; TARGETDIR=m68k;;
86.1647 -+mips64*-*);;
86.1648 -+mips*-*-linux*) TARGET=MIPS_LINUX; TARGETDIR=mips;;
86.1649 - powerpc-*-linux* | powerpc-*-sysv*) TARGET=POWERPC; TARGETDIR=powerpc;;
86.1650 - powerpc-*-beos*) TARGET=POWERPC; TARGETDIR=powerpc;;
86.1651 - powerpc-*-darwin*) TARGET=POWERPC_DARWIN; TARGETDIR=powerpc;;
86.1652 - powerpc-*-aix*) TARGET=POWERPC_AIX; TARGETDIR=powerpc;;
86.1653 - rs6000-*-aix*) TARGET=POWERPC_AIX; TARGETDIR=powerpc;;
86.1654 - arm*-*-linux-*) TARGET=ARM; TARGETDIR=arm;;
86.1655 -+s390-*-linux-*) TARGET=S390; TARGETDIR=s390;;
86.1656 -+s390x-*-linux-*) TARGET=S390; TARGETDIR=s390;;
86.1657 -+x86_64-*-linux*) TARGET=X86_64; TARGETDIR=x86;;
86.1658 -+sh-*-linux* | sh[[34]]*-*-linux*) TARGET=SH; TARGETDIR=sh;;
86.1659 - esac
86.1660 -
86.1661 - if test $TARGETDIR = unknown; then
86.1662 -@@ -75,6 +82,7 @@
86.1663 -
86.1664 - AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
86.1665 - AM_CONDITIONAL(MIPS_SGI, test ${TARGET}${ac_cv_prog_gcc} = MIPSno)
86.1666 -+AM_CONDITIONAL(MIPS_LINUX, test x$TARGET = xMIPS_LINUX)
86.1667 - AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
86.1668 - AM_CONDITIONAL(X86, test x$TARGET = xX86)
86.1669 - AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
86.1670 -@@ -85,6 +93,13 @@
86.1671 - AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
86.1672 - AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
86.1673 - AM_CONDITIONAL(ARM, test x$TARGET = xARM)
86.1674 -+AM_CONDITIONAL(S390, test x$TARGET = xS390)
86.1675 -+AM_CONDITIONAL(X86_64, test x$TARGET = xX86_64)
86.1676 -+AM_CONDITIONAL(SH, test x$TARGET = xSH)
86.1677 -+
86.1678 -+if test x$TARGET = xMIPS_LINUX; then
86.1679 -+ TARGET=MIPS
86.1680 -+fi
86.1681 -
86.1682 - AC_HEADER_STDC
86.1683 - AC_CHECK_FUNCS(memcpy)
86.1684 -@@ -171,7 +186,7 @@
86.1685 - [
86.1686 - if test -n "$CONFIG_FILES"; then
86.1687 - LD="${ORIGINAL_LD_FOR_MULTILIBS}"
86.1688 -- ac_file=Makefile . ${libffi_basedir}/../config-ml.in
86.1689 -+ ac_file=Makefile . ${srcdir}/${libffi_basedir}../config-ml.in
86.1690 - fi
86.1691 - ],
86.1692 - srcdir=${srcdir}
86.1693 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/include/Makefile.in gcc/libffi/include/Makefile.in
86.1694 ---- gcc-3.2.2.orig/libffi/include/Makefile.in Tue Oct 9 14:32:16 2001
86.1695 -+++ gcc/libffi/include/Makefile.in Mon Apr 29 13:14:44 2002
86.1696 -@@ -99,7 +99,7 @@
86.1697 -
86.1698 - DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
86.1699 -
86.1700 --TAR = gnutar
86.1701 -+TAR = gtar
86.1702 - GZIP_ENV = --best
86.1703 - all: all-redirect
86.1704 - .SUFFIXES:
86.1705 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/include/ffi.h.in gcc/libffi/include/ffi.h.in
86.1706 ---- gcc-3.2.2.orig/libffi/include/ffi.h.in Wed Mar 13 07:35:56 2002
86.1707 -+++ gcc/libffi/include/ffi.h.in Wed Jan 29 00:54:28 2003
86.1708 -@@ -1,5 +1,5 @@
86.1709 - /* -----------------------------------------------------------------*-C-*-
86.1710 -- libffi @VERSION@ - Copyright (c) 1996-2002 Cygnus Solutions
86.1711 -+ libffi @VERSION@ - Copyright (c) 1996-2003 Cygnus Solutions
86.1712 -
86.1713 - Permission is hereby granted, free of charge, to any person obtaining
86.1714 - a copy of this software and associated documentation files (the
86.1715 -@@ -164,6 +164,12 @@
86.1716 - #endif
86.1717 - #endif
86.1718 -
86.1719 -+#ifdef S390
86.1720 -+#if defined (__s390x__)
86.1721 -+#define S390X
86.1722 -+#endif
86.1723 -+#endif
86.1724 -+
86.1725 - #ifndef LIBFFI_ASM
86.1726 -
86.1727 - /* ---- Generic type definitions ----------------------------------------- */
86.1728 -@@ -189,16 +195,23 @@
86.1729 - #endif
86.1730 - #endif
86.1731 -
86.1732 -- /* ---- Intel x86 ---------------- */
86.1733 --#ifdef X86
86.1734 -+ /* ---- Intel x86 Win32 ---------- */
86.1735 -+#ifdef X86_WIN32
86.1736 - FFI_SYSV,
86.1737 -+ FFI_STDCALL,
86.1738 -+ /* TODO: Add fastcall support for the sake of completeness */
86.1739 - FFI_DEFAULT_ABI = FFI_SYSV,
86.1740 - #endif
86.1741 -
86.1742 -- /* ---- Intel x86 Win32 ---------- */
86.1743 --#ifdef X86_WIN32
86.1744 -+ /* ---- Intel x86 and AMD x86-64 - */
86.1745 -+#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__))
86.1746 - FFI_SYSV,
86.1747 -+ FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
86.1748 -+#ifdef __i386__
86.1749 - FFI_DEFAULT_ABI = FFI_SYSV,
86.1750 -+#else
86.1751 -+ FFI_DEFAULT_ABI = FFI_UNIX64,
86.1752 -+#endif
86.1753 - #endif
86.1754 -
86.1755 - /* ---- Intel ia64 ---------------- */
86.1756 -@@ -251,6 +264,18 @@
86.1757 - FFI_DEFAULT_ABI = FFI_SYSV,
86.1758 - #endif
86.1759 -
86.1760 -+ /* ---- S390 --------------------- */
86.1761 -+#ifdef S390
86.1762 -+ FFI_SYSV,
86.1763 -+ FFI_DEFAULT_ABI = FFI_SYSV,
86.1764 -+#endif
86.1765 -+
86.1766 -+ /* ---- SuperH ------------------- */
86.1767 -+#ifdef SH
86.1768 -+ FFI_SYSV,
86.1769 -+ FFI_DEFAULT_ABI = FFI_SYSV,
86.1770 -+#endif
86.1771 -+
86.1772 - /* Leave this for debugging purposes */
86.1773 - FFI_LAST_ABI
86.1774 -
86.1775 -@@ -264,7 +289,7 @@
86.1776 - /*@null@*/ struct _ffi_type **elements;
86.1777 - } ffi_type;
86.1778 -
86.1779 --/* These are defined in ffi.c */
86.1780 -+/* These are defined in types.c */
86.1781 - extern ffi_type ffi_type_void;
86.1782 - extern ffi_type ffi_type_uint8;
86.1783 - extern ffi_type ffi_type_sint8;
86.1784 -@@ -373,13 +398,7 @@
86.1785 -
86.1786 - /* ---- Definitions for closures ----------------------------------------- */
86.1787 -
86.1788 --#ifdef X86
86.1789 --
86.1790 --#define FFI_CLOSURES 1 /* x86 supports closures */
86.1791 --#define FFI_TRAMPOLINE_SIZE 10
86.1792 --#define FFI_NATIVE_RAW_API 1 /* and has native raw api support */
86.1793 --
86.1794 --#elif defined(X86_WIN32)
86.1795 -+#ifdef __i386__
86.1796 -
86.1797 - #define FFI_CLOSURES 1 /* x86 supports closures */
86.1798 - #define FFI_TRAMPOLINE_SIZE 10
86.1799 -@@ -424,6 +443,40 @@
86.1800 - #define FFI_TRAMPOLINE_SIZE 24 /* see struct below */
86.1801 - #define FFI_NATIVE_RAW_API 0
86.1802 -
86.1803 -+#elif defined(SPARC64)
86.1804 -+
86.1805 -+#define FFI_CLOSURES 1
86.1806 -+#define FFI_TRAMPOLINE_SIZE 24
86.1807 -+#define FFI_NATIVE_RAW_API 0
86.1808 -+
86.1809 -+#elif defined(SPARC)
86.1810 -+
86.1811 -+#define FFI_CLOSURES 1
86.1812 -+#define FFI_TRAMPOLINE_SIZE 16
86.1813 -+#define FFI_NATIVE_RAW_API 0
86.1814 -+
86.1815 -+#elif defined(S390)
86.1816 -+
86.1817 -+#define FFI_CLOSURES 1
86.1818 -+#ifdef S390X
86.1819 -+#define FFI_TRAMPOLINE_SIZE 32
86.1820 -+#else
86.1821 -+#define FFI_TRAMPOLINE_SIZE 16
86.1822 -+#endif
86.1823 -+#define FFI_NATIVE_RAW_API 0
86.1824 -+
86.1825 -+#elif defined(SH)
86.1826 -+
86.1827 -+#define FFI_CLOSURES 1
86.1828 -+#define FFI_TRAMPOLINE_SIZE 16
86.1829 -+#define FFI_NATIVE_RAW_API 0
86.1830 -+
86.1831 -+#elif defined(__x86_64__)
86.1832 -+
86.1833 -+#define FFI_CLOSURES 1
86.1834 -+#define FFI_TRAMPOLINE_SIZE 24
86.1835 -+#define FFI_NATIVE_RAW_API 0
86.1836 -+
86.1837 - #else
86.1838 -
86.1839 - #define FFI_CLOSURES 0
86.1840 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/arm/ffi.c gcc/libffi/src/arm/ffi.c
86.1841 ---- gcc-3.2.2.orig/libffi/src/arm/ffi.c Sat Mar 3 07:21:23 2001
86.1842 -+++ gcc/libffi/src/arm/ffi.c Fri Jul 19 08:08:30 2002
86.1843 -@@ -36,13 +36,10 @@
86.1844 - /*@=exportheader@*/
86.1845 - {
86.1846 - register unsigned int i;
86.1847 -- register int tmp;
86.1848 -- register unsigned int avn;
86.1849 - register void **p_argv;
86.1850 - register char *argp;
86.1851 - register ffi_type **p_arg;
86.1852 -
86.1853 -- tmp = 0;
86.1854 - argp = stack;
86.1855 -
86.1856 - if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT ) {
86.1857 -@@ -50,11 +47,10 @@
86.1858 - argp += 4;
86.1859 - }
86.1860 -
86.1861 -- avn = ecif->cif->nargs;
86.1862 - p_argv = ecif->avalue;
86.1863 -
86.1864 - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
86.1865 -- (i != 0) && (avn != 0);
86.1866 -+ (i != 0);
86.1867 - i--, p_arg++)
86.1868 - {
86.1869 - size_t z;
86.1870 -@@ -64,9 +60,6 @@
86.1871 - argp = (char *) ALIGN(argp, (*p_arg)->alignment);
86.1872 - }
86.1873 -
86.1874 -- if (avn != 0)
86.1875 -- {
86.1876 -- avn--;
86.1877 - z = (*p_arg)->size;
86.1878 - if (z < sizeof(int))
86.1879 - {
86.1880 -@@ -107,7 +100,6 @@
86.1881 - }
86.1882 - p_argv++;
86.1883 - argp += z;
86.1884 -- }
86.1885 - }
86.1886 -
86.1887 - return;
86.1888 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/arm/sysv.S gcc/libffi/src/arm/sysv.S
86.1889 ---- gcc-3.2.2.orig/libffi/src/arm/sysv.S Sat Mar 3 07:21:23 2001
86.1890 -+++ gcc/libffi/src/arm/sysv.S Mon Sep 30 03:08:58 2002
86.1891 -@@ -28,8 +28,15 @@
86.1892 - #ifdef HAVE_MACHINE_ASM_H
86.1893 - #include <machine/asm.h>
86.1894 - #else
86.1895 --/* XXX these lose for some platforms, I'm sure. */
86.1896 -+#ifdef __USER_LABEL_PREFIX__
86.1897 -+#define CONCAT1(a, b) CONCAT2(a, b)
86.1898 -+#define CONCAT2(a, b) a ## b
86.1899 -+
86.1900 -+/* Use the right prefix for global labels. */
86.1901 -+#define CNAME(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
86.1902 -+#else
86.1903 - #define CNAME(x) x
86.1904 -+#endif
86.1905 - #define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
86.1906 - #endif
86.1907 -
86.1908 -@@ -96,12 +103,20 @@
86.1909 -
86.1910 - # return FLOAT
86.1911 - cmp a4, #FFI_TYPE_FLOAT
86.1912 -+#ifdef __SOFTFP__
86.1913 -+ streq a1, [a3]
86.1914 -+#else
86.1915 - stfeqs f0, [a3]
86.1916 -+#endif
86.1917 - beq epilogue
86.1918 -
86.1919 - # return DOUBLE or LONGDOUBLE
86.1920 - cmp a4, #FFI_TYPE_DOUBLE
86.1921 -+#ifdef __SOFTFP__
86.1922 -+ stmeqia a3, {a1, a2}
86.1923 -+#else
86.1924 - stfeqd f0, [a3]
86.1925 -+#endif
86.1926 -
86.1927 - epilogue:
86.1928 - ldmfd sp!, {a1-a4, fp, pc}
86.1929 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/java_raw_api.c gcc/libffi/src/java_raw_api.c
86.1930 ---- gcc-3.2.2.orig/libffi/src/java_raw_api.c Tue Apr 9 07:31:14 2002
86.1931 -+++ gcc/libffi/src/java_raw_api.c Tue Oct 8 23:55:02 2002
86.1932 -@@ -81,21 +81,14 @@
86.1933 - {
86.1934 - case FFI_TYPE_UINT8:
86.1935 - case FFI_TYPE_SINT8:
86.1936 -- *args = (void*) ((char*)(raw++) + SIZEOF_ARG - 1);
86.1937 -+ *args = (void*) ((char*)(raw++) + 3);
86.1938 - break;
86.1939 -
86.1940 - case FFI_TYPE_UINT16:
86.1941 - case FFI_TYPE_SINT16:
86.1942 -- *args = (void*) ((char*)(raw++) + SIZEOF_ARG - 2);
86.1943 -+ *args = (void*) ((char*)(raw++) + 2);
86.1944 - break;
86.1945 -
86.1946 --#if SIZEOF_ARG >= 4
86.1947 -- case FFI_TYPE_UINT32:
86.1948 -- case FFI_TYPE_SINT32:
86.1949 -- *args = (void*) ((char*)(raw++) + SIZEOF_ARG - 4);
86.1950 -- break;
86.1951 --#endif
86.1952 --
86.1953 - #if SIZEOF_ARG == 8
86.1954 - case FFI_TYPE_UINT64:
86.1955 - case FFI_TYPE_SINT64:
86.1956 -@@ -157,31 +150,54 @@
86.1957 - switch ((*tp)->type)
86.1958 - {
86.1959 - case FFI_TYPE_UINT8:
86.1960 -+#if WORDS_BIGENDIAN
86.1961 -+ *(UINT32*)(raw++) = *(UINT8*) (*args);
86.1962 -+#else
86.1963 - (raw++)->uint = *(UINT8*) (*args);
86.1964 -+#endif
86.1965 - break;
86.1966 -
86.1967 - case FFI_TYPE_SINT8:
86.1968 -+#if WORDS_BIGENDIAN
86.1969 -+ *(SINT32*)(raw++) = *(SINT8*) (*args);
86.1970 -+#else
86.1971 - (raw++)->sint = *(SINT8*) (*args);
86.1972 -+#endif
86.1973 - break;
86.1974 -
86.1975 - case FFI_TYPE_UINT16:
86.1976 -+#if WORDS_BIGENDIAN
86.1977 -+ *(UINT32*)(raw++) = *(UINT16*) (*args);
86.1978 -+#else
86.1979 - (raw++)->uint = *(UINT16*) (*args);
86.1980 -+#endif
86.1981 - break;
86.1982 -
86.1983 - case FFI_TYPE_SINT16:
86.1984 -+#if WORDS_BIGENDIAN
86.1985 -+ *(SINT32*)(raw++) = *(SINT16*) (*args);
86.1986 -+#else
86.1987 - (raw++)->sint = *(SINT16*) (*args);
86.1988 -+#endif
86.1989 - break;
86.1990 -
86.1991 --#if SIZEOF_ARG >= 4
86.1992 - case FFI_TYPE_UINT32:
86.1993 -+#if WORDS_BIGENDIAN
86.1994 -+ *(UINT32*)(raw++) = *(UINT32*) (*args);
86.1995 -+#else
86.1996 - (raw++)->uint = *(UINT32*) (*args);
86.1997 -+#endif
86.1998 - break;
86.1999 -
86.2000 - case FFI_TYPE_SINT32:
86.2001 -+#if WORDS_BIGENDIAN
86.2002 -+ *(SINT32*)(raw++) = *(SINT32*) (*args);
86.2003 -+#else
86.2004 - (raw++)->sint = *(SINT32*) (*args);
86.2005 -- break;
86.2006 - #endif
86.2007 -- case FFI_TYPE_FLOAT:
86.2008 -+ break;
86.2009 -+
86.2010 -+ case FFI_TYPE_FLOAT:
86.2011 - (raw++)->flt = *(FLOAT32*) (*args);
86.2012 - break;
86.2013 -
86.2014 -@@ -211,6 +227,55 @@
86.2015 -
86.2016 - #if !FFI_NATIVE_RAW_API
86.2017 -
86.2018 -+static void
86.2019 -+ffi_java_rvalue_to_raw (ffi_cif *cif, void *rvalue)
86.2020 -+{
86.2021 -+#if WORDS_BIGENDIAN && SIZEOF_ARG == 8
86.2022 -+ switch (cif->rtype->type)
86.2023 -+ {
86.2024 -+ case FFI_TYPE_UINT8:
86.2025 -+ case FFI_TYPE_UINT16:
86.2026 -+ case FFI_TYPE_UINT32:
86.2027 -+ *(UINT64 *)rvalue <<= 32;
86.2028 -+ break;
86.2029 -+
86.2030 -+ case FFI_TYPE_SINT8:
86.2031 -+ case FFI_TYPE_SINT16:
86.2032 -+ case FFI_TYPE_SINT32:
86.2033 -+ case FFI_TYPE_INT:
86.2034 -+ *(SINT64 *)rvalue <<= 32;
86.2035 -+ break;
86.2036 -+
86.2037 -+ default:
86.2038 -+ break;
86.2039 -+ }
86.2040 -+#endif
86.2041 -+}
86.2042 -+
86.2043 -+static void
86.2044 -+ffi_java_raw_to_rvalue (ffi_cif *cif, void *rvalue)
86.2045 -+{
86.2046 -+#if WORDS_BIGENDIAN && SIZEOF_ARG == 8
86.2047 -+ switch (cif->rtype->type)
86.2048 -+ {
86.2049 -+ case FFI_TYPE_UINT8:
86.2050 -+ case FFI_TYPE_UINT16:
86.2051 -+ case FFI_TYPE_UINT32:
86.2052 -+ *(UINT64 *)rvalue >>= 32;
86.2053 -+ break;
86.2054 -+
86.2055 -+ case FFI_TYPE_SINT8:
86.2056 -+ case FFI_TYPE_SINT16:
86.2057 -+ case FFI_TYPE_SINT32:
86.2058 -+ case FFI_TYPE_INT:
86.2059 -+ *(SINT64 *)rvalue >>= 32;
86.2060 -+ break;
86.2061 -+
86.2062 -+ default:
86.2063 -+ break;
86.2064 -+ }
86.2065 -+#endif
86.2066 -+}
86.2067 -
86.2068 - /* This is a generic definition of ffi_raw_call, to be used if the
86.2069 - * native system does not provide a machine-specific implementation.
86.2070 -@@ -227,6 +292,7 @@
86.2071 - void **avalue = (void**) alloca (cif->nargs * sizeof (void*));
86.2072 - ffi_java_raw_to_ptrarray (cif, raw, avalue);
86.2073 - ffi_call (cif, fn, rvalue, avalue);
86.2074 -+ ffi_java_rvalue_to_raw (cif, rvalue);
86.2075 - }
86.2076 -
86.2077 - #if FFI_CLOSURES /* base system provides closures */
86.2078 -@@ -240,6 +306,7 @@
86.2079 -
86.2080 - ffi_java_ptrarray_to_raw (cif, avalue, raw);
86.2081 - (*cl->fun) (cif, rvalue, raw, cl->user_data);
86.2082 -+ ffi_java_raw_to_rvalue (cif, rvalue);
86.2083 - }
86.2084 -
86.2085 - /* Again, here is the generic version of ffi_prep_raw_closure, which
86.2086 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/m68k/ffi.c gcc/libffi/src/m68k/ffi.c
86.2087 ---- gcc-3.2.2.orig/libffi/src/m68k/ffi.c Sun Aug 8 22:27:19 1999
86.2088 -+++ gcc/libffi/src/m68k/ffi.c Fri Jul 19 08:08:30 2002
86.2089 -@@ -16,14 +16,11 @@
86.2090 - ffi_prep_args (void *stack, extended_cif *ecif)
86.2091 - {
86.2092 - unsigned int i;
86.2093 -- int tmp;
86.2094 -- unsigned int avn;
86.2095 - void **p_argv;
86.2096 - char *argp;
86.2097 - ffi_type **p_arg;
86.2098 - void *struct_value_ptr;
86.2099 -
86.2100 -- tmp = 0;
86.2101 - argp = stack;
86.2102 -
86.2103 - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT
86.2104 -@@ -32,11 +29,10 @@
86.2105 - else
86.2106 - struct_value_ptr = NULL;
86.2107 -
86.2108 -- avn = ecif->cif->nargs;
86.2109 - p_argv = ecif->avalue;
86.2110 -
86.2111 - for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
86.2112 -- i != 0 && avn != 0;
86.2113 -+ i != 0;
86.2114 - i--, p_arg++)
86.2115 - {
86.2116 - size_t z;
86.2117 -@@ -45,9 +41,6 @@
86.2118 - if (((*p_arg)->alignment - 1) & (unsigned) argp)
86.2119 - argp = (char *) ALIGN (argp, (*p_arg)->alignment);
86.2120 -
86.2121 -- if (avn != 0)
86.2122 -- {
86.2123 -- avn--;
86.2124 - z = (*p_arg)->size;
86.2125 - if (z < sizeof (int))
86.2126 - {
86.2127 -@@ -82,7 +75,6 @@
86.2128 - memcpy (argp, *p_argv, z);
86.2129 - p_argv++;
86.2130 - argp += z;
86.2131 -- }
86.2132 - }
86.2133 -
86.2134 - return struct_value_ptr;
86.2135 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/mips/ffi.c gcc/libffi/src/mips/ffi.c
86.2136 ---- gcc-3.2.2.orig/libffi/src/mips/ffi.c Sat Mar 3 07:21:23 2001
86.2137 -+++ gcc/libffi/src/mips/ffi.c Fri Jul 19 08:08:31 2002
86.2138 -@@ -23,6 +23,7 @@
86.2139 - OTHER DEALINGS IN THE SOFTWARE.
86.2140 - ----------------------------------------------------------------------- */
86.2141 -
86.2142 -+#include <sgidefs.h>
86.2143 - #include <ffi.h>
86.2144 - #include <ffi_common.h>
86.2145 -
86.2146 -@@ -50,7 +51,6 @@
86.2147 - int flags)
86.2148 - {
86.2149 - register int i;
86.2150 -- register int avn;
86.2151 - register void **p_argv;
86.2152 - register char *argp;
86.2153 - register ffi_type **p_arg;
86.2154 -@@ -80,12 +80,9 @@
86.2155 - FIX_ARGP;
86.2156 - }
86.2157 -
86.2158 -- avn = ecif->cif->nargs;
86.2159 - p_argv = ecif->avalue;
86.2160 -
86.2161 -- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
86.2162 -- i && avn;
86.2163 -- i--, p_arg++)
86.2164 -+ for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
86.2165 - {
86.2166 - size_t z;
86.2167 -
86.2168 -@@ -101,9 +98,6 @@
86.2169 - #define OFFSET sizeof(int)
86.2170 - #endif
86.2171 -
86.2172 -- if (avn)
86.2173 -- {
86.2174 -- avn--;
86.2175 - z = (*p_arg)->size;
86.2176 - if (z < sizeof(SLOT_TYPE_UNSIGNED))
86.2177 - {
86.2178 -@@ -179,7 +173,6 @@
86.2179 - p_argv++;
86.2180 - argp += z;
86.2181 - FIX_ARGP;
86.2182 -- }
86.2183 - }
86.2184 -
86.2185 - return;
86.2186 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/powerpc/darwin.S gcc/libffi/src/powerpc/darwin.S
86.2187 ---- gcc-3.2.2.orig/libffi/src/powerpc/darwin.S Sat Jan 19 01:22:34 2002
86.2188 -+++ gcc/libffi/src/powerpc/darwin.S Thu Jan 23 03:21:55 2003
86.2189 -@@ -3,8 +3,6 @@
86.2190 -
86.2191 - PowerPC Assembly glue.
86.2192 -
86.2193 -- $Id: darwin.S,v 1.2 2002/01/18 16:22:34 dje Exp $
86.2194 --
86.2195 - Permission is hereby granted, free of charge, to any person obtaining
86.2196 - a copy of this software and associated documentation files (the
86.2197 - ``Software''), to deal in the Software without restriction, including
86.2198 -@@ -39,30 +37,34 @@
86.2199 - .text
86.2200 - .align 2
86.2201 - _ffi_call_DARWIN:
86.2202 -- mr r12,r8 // We only need r12 until the call, so it doesn't have to be saved...
86.2203 -+LFB0:
86.2204 -+ mr r12,r8 /* We only need r12 until the call,
86.2205 -+ so it doesn't have to be saved... */
86.2206 -+LFB1:
86.2207 - /* Save the old stack pointer as AP. */
86.2208 - mr r8,r1
86.2209 --
86.2210 -+LCFI0:
86.2211 - /* Allocate the stack space we need. */
86.2212 - stwux r1,r1,r4
86.2213 -
86.2214 - /* Save registers we use. */
86.2215 - mflr r9
86.2216 -
86.2217 -- stw r28,-16(r8)
86.2218 -+ stw r28,-16(r8)
86.2219 - stw r29,-12(r8)
86.2220 - stw r30, -8(r8)
86.2221 - stw r31, -4(r8)
86.2222 --
86.2223 -- stw r9, 8(r8)
86.2224 -+
86.2225 -+ stw r9, 8(r8)
86.2226 - stw r2, 20(r1)
86.2227 -+LCFI1:
86.2228 -
86.2229 - /* Save arguments over call... */
86.2230 -- mr r31,r5 /* flags, */
86.2231 -- mr r30,r6 /* rvalue, */
86.2232 -- mr r29,r7 /* function address, */
86.2233 -- mr r28,r8 /* our AP. */
86.2234 --
86.2235 -+ mr r31,r5 /* flags, */
86.2236 -+ mr r30,r6 /* rvalue, */
86.2237 -+ mr r29,r7 /* function address, */
86.2238 -+ mr r28,r8 /* our AP. */
86.2239 -+LCFI2:
86.2240 - /* Call ffi_prep_args. */
86.2241 - mr r4,r1
86.2242 - li r9,0
86.2243 -@@ -145,7 +147,8 @@
86.2244 - L(float_return_value):
86.2245 - stfs f1,0(r30)
86.2246 - b L(done_return_value)
86.2247 --//END(_ffi_call_DARWIN)
86.2248 -+LFE1:
86.2249 -+/* END(_ffi_call_DARWIN) */
86.2250 -
86.2251 - /* Provide a null definition of _ffi_call_AIX. */
86.2252 - .text
86.2253 -@@ -155,5 +158,61 @@
86.2254 - .align 2
86.2255 - _ffi_call_AIX:
86.2256 - blr
86.2257 --//END(_ffi_call_AIX)
86.2258 -+/* END(_ffi_call_AIX) */
86.2259 -
86.2260 -+.data
86.2261 -+.section __TEXT,__eh_frame
86.2262 -+Lframe1:
86.2263 -+ .set L$set$0,LECIE1-LSCIE1
86.2264 -+ .long L$set$0 ; Length of Common Information Entry
86.2265 -+LSCIE1:
86.2266 -+ .long 0x0 ; CIE Identifier Tag
86.2267 -+ .byte 0x1 ; CIE Version
86.2268 -+ .ascii "zR\0" ; CIE Augmentation
86.2269 -+ .byte 0x1 ; uleb128 0x1; CIE Code Alignment Factor
86.2270 -+ .byte 0x7c ; sleb128 -4; CIE Data Alignment Factor
86.2271 -+ .byte 0x41 ; CIE RA Column
86.2272 -+ .byte 0x1 ; uleb128 0x1; Augmentation size
86.2273 -+ .byte 0x10 ; FDE Encoding (pcrel)
86.2274 -+ .byte 0xc ; DW_CFA_def_cfa
86.2275 -+ .byte 0x1 ; uleb128 0x1
86.2276 -+ .byte 0x0 ; uleb128 0x0
86.2277 -+ .align 2
86.2278 -+LECIE1:
86.2279 -+LSFDE1:
86.2280 -+ .set L$set$1,LEFDE1-LASFDE1
86.2281 -+ .long L$set$1 ; FDE Length
86.2282 -+LASFDE1:
86.2283 -+ .set L$set$2,LASFDE1-Lframe1
86.2284 -+ .long L$set$2 ; FDE CIE offset
86.2285 -+ .long LFB0-. ; FDE initial location
86.2286 -+ .set L$set$3,LFE1-LFB0
86.2287 -+ .long L$set$3 ; FDE address range
86.2288 -+ .byte 0x0 ; uleb128 0x0; Augmentation size
86.2289 -+ .byte 0x4 ; DW_CFA_advance_loc4
86.2290 -+ .set L$set$4,LCFI0-LFB1
86.2291 -+ .long L$set$4
86.2292 -+ .byte 0xd ; DW_CFA_def_cfa_register
86.2293 -+ .byte 0x08 ; uleb128 0x08
86.2294 -+ .byte 0x4 ; DW_CFA_advance_loc4
86.2295 -+ .set L$set$5,LCFI1-LCFI0
86.2296 -+ .long L$set$5
86.2297 -+ .byte 0x11 ; DW_CFA_offset_extended_sf
86.2298 -+ .byte 0x41 ; uleb128 0x41
86.2299 -+ .byte 0x7e ; sleb128 -2
86.2300 -+ .byte 0x9f ; DW_CFA_offset, column 0x1f
86.2301 -+ .byte 0x1 ; uleb128 0x1
86.2302 -+ .byte 0x9e ; DW_CFA_offset, column 0x1e
86.2303 -+ .byte 0x2 ; uleb128 0x2
86.2304 -+ .byte 0x9d ; DW_CFA_offset, column 0x1d
86.2305 -+ .byte 0x3 ; uleb128 0x3
86.2306 -+ .byte 0x9c ; DW_CFA_offset, column 0x1c
86.2307 -+ .byte 0x4 ; uleb128 0x4
86.2308 -+ .byte 0x4 ; DW_CFA_advance_loc4
86.2309 -+ .set L$set$6,LCFI2-LCFI1
86.2310 -+ .long L$set$6
86.2311 -+ .byte 0xd ; DW_CFA_def_cfa_register
86.2312 -+ .byte 0x1c ; uleb128 0x1c
86.2313 -+ .align 2
86.2314 -+LEFDE1:
86.2315 -+
86.2316 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/prep_cif.c gcc/libffi/src/prep_cif.c
86.2317 ---- gcc-3.2.2.orig/libffi/src/prep_cif.c Sat Mar 3 07:21:22 2001
86.2318 -+++ gcc/libffi/src/prep_cif.c Mon Sep 30 20:59:42 2002
86.2319 -@@ -103,7 +103,8 @@
86.2320 - /* Perform a sanity check on the return type */
86.2321 - FFI_ASSERT(ffi_type_test(cif->rtype));
86.2322 -
86.2323 --#ifndef M68K
86.2324 -+ /* x86-64 and s390 stack space allocation is handled in prep_machdep. */
86.2325 -+#if !defined M68K && !defined __x86_64__ && !defined S390
86.2326 - /* Make space for the return structure pointer */
86.2327 - if (cif->rtype->type == FFI_TYPE_STRUCT
86.2328 - #ifdef SPARC
86.2329 -@@ -122,6 +123,7 @@
86.2330 - if (((*ptr)->size == 0) && (initialize_aggregate((*ptr)) != FFI_OK))
86.2331 - return FFI_BAD_TYPEDEF;
86.2332 -
86.2333 -+#if !defined __x86_64__ && !defined S390
86.2334 - #ifdef SPARC
86.2335 - if (((*ptr)->type == FFI_TYPE_STRUCT
86.2336 - && ((*ptr)->size > 16 || cif->abi != FFI_V9))
86.2337 -@@ -137,6 +139,7 @@
86.2338 -
86.2339 - bytes += STACK_ARG_SIZE((*ptr)->size);
86.2340 - }
86.2341 -+#endif
86.2342 - }
86.2343 -
86.2344 - cif->bytes = bytes;
86.2345 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/s390/ffi.c gcc/libffi/src/s390/ffi.c
86.2346 ---- gcc-3.2.2.orig/libffi/src/s390/ffi.c Thu Jan 1 09:00:00 1970
86.2347 -+++ gcc/libffi/src/s390/ffi.c Thu Feb 6 08:58:57 2003
86.2348 -@@ -0,0 +1,753 @@
86.2349 -+/* -----------------------------------------------------------------------
86.2350 -+ ffi.c - Copyright (c) 2000 Software AG
86.2351 -+
86.2352 -+ S390 Foreign Function Interface
86.2353 -+
86.2354 -+ Permission is hereby granted, free of charge, to any person obtaining
86.2355 -+ a copy of this software and associated documentation files (the
86.2356 -+ ``Software''), to deal in the Software without restriction, including
86.2357 -+ without limitation the rights to use, copy, modify, merge, publish,
86.2358 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.2359 -+ permit persons to whom the Software is furnished to do so, subject to
86.2360 -+ the following conditions:
86.2361 -+
86.2362 -+ The above copyright notice and this permission notice shall be included
86.2363 -+ in all copies or substantial portions of the Software.
86.2364 -+
86.2365 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.2366 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.2367 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.2368 -+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.2369 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.2370 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.2371 -+ OTHER DEALINGS IN THE SOFTWARE.
86.2372 -+ ----------------------------------------------------------------------- */
86.2373 -+/*====================================================================*/
86.2374 -+/* Includes */
86.2375 -+/* -------- */
86.2376 -+/*====================================================================*/
86.2377 -+
86.2378 -+#include <ffi.h>
86.2379 -+#include <ffi_common.h>
86.2380 -+
86.2381 -+#include <stdlib.h>
86.2382 -+#include <stdio.h>
86.2383 -+
86.2384 -+/*====================== End of Includes =============================*/
86.2385 -+
86.2386 -+/*====================================================================*/
86.2387 -+/* Defines */
86.2388 -+/* ------- */
86.2389 -+/*====================================================================*/
86.2390 -+
86.2391 -+/* Maximum number of GPRs available for argument passing. */
86.2392 -+#define MAX_GPRARGS 5
86.2393 -+
86.2394 -+/* Maximum number of FPRs available for argument passing. */
86.2395 -+#ifdef __s390x__
86.2396 -+#define MAX_FPRARGS 4
86.2397 -+#else
86.2398 -+#define MAX_FPRARGS 2
86.2399 -+#endif
86.2400 -+
86.2401 -+/* Round to multiple of 16. */
86.2402 -+#define ROUND_SIZE(size) (((size) + 15) & ~15)
86.2403 -+
86.2404 -+/* If these values change, sysv.S must be adapted! */
86.2405 -+#define FFI390_RET_VOID 0
86.2406 -+#define FFI390_RET_STRUCT 1
86.2407 -+#define FFI390_RET_FLOAT 2
86.2408 -+#define FFI390_RET_DOUBLE 3
86.2409 -+#define FFI390_RET_INT32 4
86.2410 -+#define FFI390_RET_INT64 5
86.2411 -+
86.2412 -+/*===================== End of Defines ===============================*/
86.2413 -+
86.2414 -+/*====================================================================*/
86.2415 -+/* Prototypes */
86.2416 -+/* ---------- */
86.2417 -+/*====================================================================*/
86.2418 -+
86.2419 -+static void ffi_prep_args (unsigned char *, extended_cif *);
86.2420 -+static int ffi_check_float_struct (ffi_type *);
86.2421 -+void
86.2422 -+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 2)
86.2423 -+__attribute__ ((visibility ("hidden")))
86.2424 -+#endif
86.2425 -+ffi_closure_helper_SYSV (ffi_closure *, unsigned long *,
86.2426 -+ unsigned long long *, unsigned long *);
86.2427 -+
86.2428 -+/*====================== End of Prototypes ===========================*/
86.2429 -+
86.2430 -+/*====================================================================*/
86.2431 -+/* Externals */
86.2432 -+/* --------- */
86.2433 -+/*====================================================================*/
86.2434 -+
86.2435 -+extern void ffi_call_SYSV(unsigned,
86.2436 -+ extended_cif *,
86.2437 -+ void (*)(unsigned char *, extended_cif *),
86.2438 -+ unsigned,
86.2439 -+ void *,
86.2440 -+ void (*fn)());
86.2441 -+
86.2442 -+extern void ffi_closure_SYSV(void);
86.2443 -+
86.2444 -+/*====================== End of Externals ============================*/
86.2445 -+
86.2446 -+/*====================================================================*/
86.2447 -+/* */
86.2448 -+/* Name - ffi_check_struct_type. */
86.2449 -+/* */
86.2450 -+/* Function - Determine if a structure can be passed within a */
86.2451 -+/* general purpose or floating point register. */
86.2452 -+/* */
86.2453 -+/*====================================================================*/
86.2454 -+
86.2455 -+static int
86.2456 -+ffi_check_struct_type (ffi_type *arg)
86.2457 -+{
86.2458 -+ size_t size = arg->size;
86.2459 -+
86.2460 -+ /* If the struct has just one element, look at that element
86.2461 -+ to find out whether to consider the struct as floating point. */
86.2462 -+ while (arg->type == FFI_TYPE_STRUCT
86.2463 -+ && arg->elements[0] && !arg->elements[1])
86.2464 -+ arg = arg->elements[0];
86.2465 -+
86.2466 -+ /* Structs of size 1, 2, 4, and 8 are passed in registers,
86.2467 -+ just like the corresponding int/float types. */
86.2468 -+ switch (size)
86.2469 -+ {
86.2470 -+ case 1:
86.2471 -+ return FFI_TYPE_UINT8;
86.2472 -+
86.2473 -+ case 2:
86.2474 -+ return FFI_TYPE_UINT16;
86.2475 -+
86.2476 -+ case 4:
86.2477 -+ if (arg->type == FFI_TYPE_FLOAT)
86.2478 -+ return FFI_TYPE_FLOAT;
86.2479 -+ else
86.2480 -+ return FFI_TYPE_UINT32;
86.2481 -+
86.2482 -+ case 8:
86.2483 -+ if (arg->type == FFI_TYPE_DOUBLE)
86.2484 -+ return FFI_TYPE_DOUBLE;
86.2485 -+ else
86.2486 -+ return FFI_TYPE_UINT64;
86.2487 -+
86.2488 -+ default:
86.2489 -+ break;
86.2490 -+ }
86.2491 -+
86.2492 -+ /* Other structs are passed via a pointer to the data. */
86.2493 -+ return FFI_TYPE_POINTER;
86.2494 -+}
86.2495 -+
86.2496 -+/*======================== End of Routine ============================*/
86.2497 -+
86.2498 -+/*====================================================================*/
86.2499 -+/* */
86.2500 -+/* Name - ffi_prep_args. */
86.2501 -+/* */
86.2502 -+/* Function - Prepare parameters for call to function. */
86.2503 -+/* */
86.2504 -+/* ffi_prep_args is called by the assembly routine once stack space */
86.2505 -+/* has been allocated for the function's arguments. */
86.2506 -+/* */
86.2507 -+/*====================================================================*/
86.2508 -+
86.2509 -+static void
86.2510 -+ffi_prep_args (unsigned char *stack, extended_cif *ecif)
86.2511 -+{
86.2512 -+ /* The stack space will be filled with those areas:
86.2513 -+
86.2514 -+ FPR argument register save area (highest addresses)
86.2515 -+ GPR argument register save area
86.2516 -+ temporary struct copies
86.2517 -+ overflow argument area (lowest addresses)
86.2518 -+
86.2519 -+ We set up the following pointers:
86.2520 -+
86.2521 -+ p_fpr: bottom of the FPR area (growing upwards)
86.2522 -+ p_gpr: bottom of the GPR area (growing upwards)
86.2523 -+ p_ov: bottom of the overflow area (growing upwards)
86.2524 -+ p_struct: top of the struct copy area (growing downwards)
86.2525 -+
86.2526 -+ All areas are kept aligned to twice the word size. */
86.2527 -+
86.2528 -+ int gpr_off = ecif->cif->bytes;
86.2529 -+ int fpr_off = gpr_off + ROUND_SIZE (MAX_GPRARGS * sizeof (long));
86.2530 -+
86.2531 -+ unsigned long long *p_fpr = (unsigned long long *)(stack + fpr_off);
86.2532 -+ unsigned long *p_gpr = (unsigned long *)(stack + gpr_off);
86.2533 -+ unsigned char *p_struct = (unsigned char *)p_gpr;
86.2534 -+ unsigned long *p_ov = (unsigned long *)stack;
86.2535 -+
86.2536 -+ int n_fpr = 0;
86.2537 -+ int n_gpr = 0;
86.2538 -+ int n_ov = 0;
86.2539 -+
86.2540 -+ ffi_type **ptr;
86.2541 -+ void **p_argv = ecif->avalue;
86.2542 -+ int i;
86.2543 -+
86.2544 -+ /* If we returning a structure then we set the first parameter register
86.2545 -+ to the address of where we are returning this structure. */
86.2546 -+
86.2547 -+ if (ecif->cif->flags == FFI390_RET_STRUCT)
86.2548 -+ p_gpr[n_gpr++] = (unsigned long) ecif->rvalue;
86.2549 -+
86.2550 -+ /* Now for the arguments. */
86.2551 -+
86.2552 -+ for (ptr = ecif->cif->arg_types, i = ecif->cif->nargs;
86.2553 -+ i > 0;
86.2554 -+ i--, ptr++, p_argv++)
86.2555 -+ {
86.2556 -+ void *arg = *p_argv;
86.2557 -+ int type = (*ptr)->type;
86.2558 -+
86.2559 -+ /* Check how a structure type is passed. */
86.2560 -+ if (type == FFI_TYPE_STRUCT)
86.2561 -+ {
86.2562 -+ type = ffi_check_struct_type (*ptr);
86.2563 -+
86.2564 -+ /* If we pass the struct via pointer, copy the data. */
86.2565 -+ if (type == FFI_TYPE_POINTER)
86.2566 -+ {
86.2567 -+ p_struct -= ROUND_SIZE ((*ptr)->size);
86.2568 -+ memcpy (p_struct, (char *)arg, (*ptr)->size);
86.2569 -+ arg = &p_struct;
86.2570 -+ }
86.2571 -+ }
86.2572 -+
86.2573 -+ /* Pointers are passed like UINTs of the same size. */
86.2574 -+ if (type == FFI_TYPE_POINTER)
86.2575 -+#ifdef __s390x__
86.2576 -+ type = FFI_TYPE_UINT64;
86.2577 -+#else
86.2578 -+ type = FFI_TYPE_UINT32;
86.2579 -+#endif
86.2580 -+
86.2581 -+ /* Now handle all primitive int/float data types. */
86.2582 -+ switch (type)
86.2583 -+ {
86.2584 -+ case FFI_TYPE_DOUBLE:
86.2585 -+ if (n_fpr < MAX_FPRARGS)
86.2586 -+ p_fpr[n_fpr++] = *(unsigned long long *) arg;
86.2587 -+ else
86.2588 -+#ifdef __s390x__
86.2589 -+ p_ov[n_ov++] = *(unsigned long *) arg;
86.2590 -+#else
86.2591 -+ p_ov[n_ov++] = ((unsigned long *) arg)[0],
86.2592 -+ p_ov[n_ov++] = ((unsigned long *) arg)[1];
86.2593 -+#endif
86.2594 -+ break;
86.2595 -+
86.2596 -+ case FFI_TYPE_FLOAT:
86.2597 -+ if (n_fpr < MAX_FPRARGS)
86.2598 -+ p_fpr[n_fpr++] = (long long) *(unsigned int *) arg << 32;
86.2599 -+ else
86.2600 -+ p_ov[n_ov++] = *(unsigned int *) arg;
86.2601 -+ break;
86.2602 -+
86.2603 -+ case FFI_TYPE_UINT64:
86.2604 -+ case FFI_TYPE_SINT64:
86.2605 -+#ifdef __s390x__
86.2606 -+ if (n_gpr < MAX_GPRARGS)
86.2607 -+ p_gpr[n_gpr++] = *(unsigned long *) arg;
86.2608 -+ else
86.2609 -+ p_ov[n_ov++] = *(unsigned long *) arg;
86.2610 -+#else
86.2611 -+ if (n_gpr == MAX_GPRARGS-1)
86.2612 -+ n_gpr = MAX_GPRARGS;
86.2613 -+ if (n_gpr < MAX_GPRARGS)
86.2614 -+ p_gpr[n_gpr++] = ((unsigned long *) arg)[0],
86.2615 -+ p_gpr[n_gpr++] = ((unsigned long *) arg)[1];
86.2616 -+ else
86.2617 -+ p_ov[n_ov++] = ((unsigned long *) arg)[0],
86.2618 -+ p_ov[n_ov++] = ((unsigned long *) arg)[1];
86.2619 -+#endif
86.2620 -+ break;
86.2621 -+
86.2622 -+ case FFI_TYPE_UINT32:
86.2623 -+ if (n_gpr < MAX_GPRARGS)
86.2624 -+ p_gpr[n_gpr++] = *(unsigned int *) arg;
86.2625 -+ else
86.2626 -+ p_ov[n_ov++] = *(unsigned int *) arg;
86.2627 -+ break;
86.2628 -+
86.2629 -+ case FFI_TYPE_INT:
86.2630 -+ case FFI_TYPE_SINT32:
86.2631 -+ if (n_gpr < MAX_GPRARGS)
86.2632 -+ p_gpr[n_gpr++] = *(signed int *) arg;
86.2633 -+ else
86.2634 -+ p_ov[n_ov++] = *(signed int *) arg;
86.2635 -+ break;
86.2636 -+
86.2637 -+ case FFI_TYPE_UINT16:
86.2638 -+ if (n_gpr < MAX_GPRARGS)
86.2639 -+ p_gpr[n_gpr++] = *(unsigned short *) arg;
86.2640 -+ else
86.2641 -+ p_ov[n_ov++] = *(unsigned short *) arg;
86.2642 -+ break;
86.2643 -+
86.2644 -+ case FFI_TYPE_SINT16:
86.2645 -+ if (n_gpr < MAX_GPRARGS)
86.2646 -+ p_gpr[n_gpr++] = *(signed short *) arg;
86.2647 -+ else
86.2648 -+ p_ov[n_ov++] = *(signed short *) arg;
86.2649 -+ break;
86.2650 -+
86.2651 -+ case FFI_TYPE_UINT8:
86.2652 -+ if (n_gpr < MAX_GPRARGS)
86.2653 -+ p_gpr[n_gpr++] = *(unsigned char *) arg;
86.2654 -+ else
86.2655 -+ p_ov[n_ov++] = *(unsigned char *) arg;
86.2656 -+ break;
86.2657 -+
86.2658 -+ case FFI_TYPE_SINT8:
86.2659 -+ if (n_gpr < MAX_GPRARGS)
86.2660 -+ p_gpr[n_gpr++] = *(signed char *) arg;
86.2661 -+ else
86.2662 -+ p_ov[n_ov++] = *(signed char *) arg;
86.2663 -+ break;
86.2664 -+
86.2665 -+ default:
86.2666 -+ FFI_ASSERT (0);
86.2667 -+ break;
86.2668 -+ }
86.2669 -+ }
86.2670 -+}
86.2671 -+
86.2672 -+/*======================== End of Routine ============================*/
86.2673 -+
86.2674 -+/*====================================================================*/
86.2675 -+/* */
86.2676 -+/* Name - ffi_prep_cif_machdep. */
86.2677 -+/* */
86.2678 -+/* Function - Perform machine dependent CIF processing. */
86.2679 -+/* */
86.2680 -+/*====================================================================*/
86.2681 -+
86.2682 -+ffi_status
86.2683 -+ffi_prep_cif_machdep(ffi_cif *cif)
86.2684 -+{
86.2685 -+ size_t struct_size = 0;
86.2686 -+ int n_gpr = 0;
86.2687 -+ int n_fpr = 0;
86.2688 -+ int n_ov = 0;
86.2689 -+
86.2690 -+ ffi_type **ptr;
86.2691 -+ int i;
86.2692 -+
86.2693 -+ /* Determine return value handling. */
86.2694 -+
86.2695 -+ switch (cif->rtype->type)
86.2696 -+ {
86.2697 -+ /* Void is easy. */
86.2698 -+ case FFI_TYPE_VOID:
86.2699 -+ cif->flags = FFI390_RET_VOID;
86.2700 -+ break;
86.2701 -+
86.2702 -+ /* Structures are returned via a hidden pointer. */
86.2703 -+ case FFI_TYPE_STRUCT:
86.2704 -+ cif->flags = FFI390_RET_STRUCT;
86.2705 -+ n_gpr++; /* We need one GPR to pass the pointer. */
86.2706 -+ break;
86.2707 -+
86.2708 -+ /* Floating point values are returned in fpr 0. */
86.2709 -+ case FFI_TYPE_FLOAT:
86.2710 -+ cif->flags = FFI390_RET_FLOAT;
86.2711 -+ break;
86.2712 -+
86.2713 -+ case FFI_TYPE_DOUBLE:
86.2714 -+ cif->flags = FFI390_RET_DOUBLE;
86.2715 -+ break;
86.2716 -+
86.2717 -+ /* Integer values are returned in gpr 2 (and gpr 3
86.2718 -+ for 64-bit values on 31-bit machines). */
86.2719 -+ case FFI_TYPE_UINT64:
86.2720 -+ case FFI_TYPE_SINT64:
86.2721 -+ cif->flags = FFI390_RET_INT64;
86.2722 -+ break;
86.2723 -+
86.2724 -+ case FFI_TYPE_POINTER:
86.2725 -+ case FFI_TYPE_INT:
86.2726 -+ case FFI_TYPE_UINT32:
86.2727 -+ case FFI_TYPE_SINT32:
86.2728 -+ case FFI_TYPE_UINT16:
86.2729 -+ case FFI_TYPE_SINT16:
86.2730 -+ case FFI_TYPE_UINT8:
86.2731 -+ case FFI_TYPE_SINT8:
86.2732 -+ /* These are to be extended to word size. */
86.2733 -+#ifdef __s390x__
86.2734 -+ cif->flags = FFI390_RET_INT64;
86.2735 -+#else
86.2736 -+ cif->flags = FFI390_RET_INT32;
86.2737 -+#endif
86.2738 -+ break;
86.2739 -+
86.2740 -+ default:
86.2741 -+ FFI_ASSERT (0);
86.2742 -+ break;
86.2743 -+ }
86.2744 -+
86.2745 -+ /* Now for the arguments. */
86.2746 -+
86.2747 -+ for (ptr = cif->arg_types, i = cif->nargs;
86.2748 -+ i > 0;
86.2749 -+ i--, ptr++)
86.2750 -+ {
86.2751 -+ int type = (*ptr)->type;
86.2752 -+
86.2753 -+ /* Check how a structure type is passed. */
86.2754 -+ if (type == FFI_TYPE_STRUCT)
86.2755 -+ {
86.2756 -+ type = ffi_check_struct_type (*ptr);
86.2757 -+
86.2758 -+ /* If we pass the struct via pointer, we must reserve space
86.2759 -+ to copy its data for proper call-by-value semantics. */
86.2760 -+ if (type == FFI_TYPE_POINTER)
86.2761 -+ struct_size += ROUND_SIZE ((*ptr)->size);
86.2762 -+ }
86.2763 -+
86.2764 -+ /* Now handle all primitive int/float data types. */
86.2765 -+ switch (type)
86.2766 -+ {
86.2767 -+ /* The first MAX_FPRARGS floating point arguments
86.2768 -+ go in FPRs, the rest overflow to the stack. */
86.2769 -+
86.2770 -+ case FFI_TYPE_DOUBLE:
86.2771 -+ if (n_fpr < MAX_FPRARGS)
86.2772 -+ n_fpr++;
86.2773 -+ else
86.2774 -+ n_ov += sizeof (double) / sizeof (long);
86.2775 -+ break;
86.2776 -+
86.2777 -+ case FFI_TYPE_FLOAT:
86.2778 -+ if (n_fpr < MAX_FPRARGS)
86.2779 -+ n_fpr++;
86.2780 -+ else
86.2781 -+ n_ov++;
86.2782 -+ break;
86.2783 -+
86.2784 -+ /* On 31-bit machines, 64-bit integers are passed in GPR pairs,
86.2785 -+ if one is still available, or else on the stack. If only one
86.2786 -+ register is free, skip the register (it won't be used for any
86.2787 -+ subsequent argument either). */
86.2788 -+
86.2789 -+#ifndef __s390x__
86.2790 -+ case FFI_TYPE_UINT64:
86.2791 -+ case FFI_TYPE_SINT64:
86.2792 -+ if (n_gpr == MAX_GPRARGS-1)
86.2793 -+ n_gpr = MAX_GPRARGS;
86.2794 -+ if (n_gpr < MAX_GPRARGS)
86.2795 -+ n_gpr += 2;
86.2796 -+ else
86.2797 -+ n_ov += 2;
86.2798 -+ break;
86.2799 -+#endif
86.2800 -+
86.2801 -+ /* Everything else is passed in GPRs (until MAX_GPRARGS
86.2802 -+ have been used) or overflows to the stack. */
86.2803 -+
86.2804 -+ default:
86.2805 -+ if (n_gpr < MAX_GPRARGS)
86.2806 -+ n_gpr++;
86.2807 -+ else
86.2808 -+ n_ov++;
86.2809 -+ break;
86.2810 -+ }
86.2811 -+ }
86.2812 -+
86.2813 -+ /* Total stack space as required for overflow arguments
86.2814 -+ and temporary structure copies. */
86.2815 -+
86.2816 -+ cif->bytes = ROUND_SIZE (n_ov * sizeof (long)) + struct_size;
86.2817 -+
86.2818 -+ return FFI_OK;
86.2819 -+}
86.2820 -+
86.2821 -+/*======================== End of Routine ============================*/
86.2822 -+
86.2823 -+/*====================================================================*/
86.2824 -+/* */
86.2825 -+/* Name - ffi_call. */
86.2826 -+/* */
86.2827 -+/* Function - Call the FFI routine. */
86.2828 -+/* */
86.2829 -+/*====================================================================*/
86.2830 -+
86.2831 -+void
86.2832 -+ffi_call(ffi_cif *cif,
86.2833 -+ void (*fn)(),
86.2834 -+ void *rvalue,
86.2835 -+ void **avalue)
86.2836 -+{
86.2837 -+ int ret_type = cif->flags;
86.2838 -+ extended_cif ecif;
86.2839 -+
86.2840 -+ ecif.cif = cif;
86.2841 -+ ecif.avalue = avalue;
86.2842 -+ ecif.rvalue = rvalue;
86.2843 -+
86.2844 -+ /* If we don't have a return value, we need to fake one. */
86.2845 -+ if (rvalue == NULL)
86.2846 -+ {
86.2847 -+ if (ret_type == FFI390_RET_STRUCT)
86.2848 -+ ecif.rvalue = alloca (cif->rtype->size);
86.2849 -+ else
86.2850 -+ ret_type = FFI390_RET_VOID;
86.2851 -+ }
86.2852 -+
86.2853 -+ switch (cif->abi)
86.2854 -+ {
86.2855 -+ case FFI_SYSV:
86.2856 -+ ffi_call_SYSV (cif->bytes, &ecif, ffi_prep_args,
86.2857 -+ ret_type, ecif.rvalue, fn);
86.2858 -+ break;
86.2859 -+
86.2860 -+ default:
86.2861 -+ FFI_ASSERT (0);
86.2862 -+ break;
86.2863 -+ }
86.2864 -+}
86.2865 -+
86.2866 -+/*======================== End of Routine ============================*/
86.2867 -+
86.2868 -+/*====================================================================*/
86.2869 -+/* */
86.2870 -+/* Name - ffi_closure_helper_SYSV. */
86.2871 -+/* */
86.2872 -+/* Function - Call a FFI closure target function. */
86.2873 -+/* */
86.2874 -+/*====================================================================*/
86.2875 -+
86.2876 -+void
86.2877 -+ffi_closure_helper_SYSV (ffi_closure *closure,
86.2878 -+ unsigned long *p_gpr,
86.2879 -+ unsigned long long *p_fpr,
86.2880 -+ unsigned long *p_ov)
86.2881 -+{
86.2882 -+ unsigned long long ret_buffer;
86.2883 -+
86.2884 -+ void *rvalue = &ret_buffer;
86.2885 -+ void **avalue;
86.2886 -+ void **p_arg;
86.2887 -+
86.2888 -+ int n_gpr = 0;
86.2889 -+ int n_fpr = 0;
86.2890 -+ int n_ov = 0;
86.2891 -+
86.2892 -+ ffi_type **ptr;
86.2893 -+ int i;
86.2894 -+
86.2895 -+ /* Allocate buffer for argument list pointers. */
86.2896 -+
86.2897 -+ p_arg = avalue = alloca (closure->cif->nargs * sizeof (void *));
86.2898 -+
86.2899 -+ /* If we returning a structure, pass the structure address
86.2900 -+ directly to the target function. Otherwise, have the target
86.2901 -+ function store the return value to the GPR save area. */
86.2902 -+
86.2903 -+ if (closure->cif->flags == FFI390_RET_STRUCT)
86.2904 -+ rvalue = (void *) p_gpr[n_gpr++];
86.2905 -+
86.2906 -+ /* Now for the arguments. */
86.2907 -+
86.2908 -+ for (ptr = closure->cif->arg_types, i = closure->cif->nargs;
86.2909 -+ i > 0;
86.2910 -+ i--, p_arg++, ptr++)
86.2911 -+ {
86.2912 -+ int deref_struct_pointer = 0;
86.2913 -+ int type = (*ptr)->type;
86.2914 -+
86.2915 -+ /* Check how a structure type is passed. */
86.2916 -+ if (type == FFI_TYPE_STRUCT)
86.2917 -+ {
86.2918 -+ type = ffi_check_struct_type (*ptr);
86.2919 -+
86.2920 -+ /* If we pass the struct via pointer, remember to
86.2921 -+ retrieve the pointer later. */
86.2922 -+ if (type == FFI_TYPE_POINTER)
86.2923 -+ deref_struct_pointer = 1;
86.2924 -+ }
86.2925 -+
86.2926 -+ /* Pointers are passed like UINTs of the same size. */
86.2927 -+ if (type == FFI_TYPE_POINTER)
86.2928 -+#ifdef __s390x__
86.2929 -+ type = FFI_TYPE_UINT64;
86.2930 -+#else
86.2931 -+ type = FFI_TYPE_UINT32;
86.2932 -+#endif
86.2933 -+
86.2934 -+ /* Now handle all primitive int/float data types. */
86.2935 -+ switch (type)
86.2936 -+ {
86.2937 -+ case FFI_TYPE_DOUBLE:
86.2938 -+ if (n_fpr < MAX_FPRARGS)
86.2939 -+ *p_arg = &p_fpr[n_fpr++];
86.2940 -+ else
86.2941 -+ *p_arg = &p_ov[n_ov],
86.2942 -+ n_ov += sizeof (double) / sizeof (long);
86.2943 -+ break;
86.2944 -+
86.2945 -+ case FFI_TYPE_FLOAT:
86.2946 -+ if (n_fpr < MAX_FPRARGS)
86.2947 -+ *p_arg = &p_fpr[n_fpr++];
86.2948 -+ else
86.2949 -+ *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 4;
86.2950 -+ break;
86.2951 -+
86.2952 -+ case FFI_TYPE_UINT64:
86.2953 -+ case FFI_TYPE_SINT64:
86.2954 -+#ifdef __s390x__
86.2955 -+ if (n_gpr < MAX_GPRARGS)
86.2956 -+ *p_arg = &p_gpr[n_gpr++];
86.2957 -+ else
86.2958 -+ *p_arg = &p_ov[n_ov++];
86.2959 -+#else
86.2960 -+ if (n_gpr == MAX_GPRARGS-1)
86.2961 -+ n_gpr = MAX_GPRARGS;
86.2962 -+ if (n_gpr < MAX_GPRARGS)
86.2963 -+ *p_arg = &p_gpr[n_gpr], n_gpr += 2;
86.2964 -+ else
86.2965 -+ *p_arg = &p_ov[n_ov], n_ov += 2;
86.2966 -+#endif
86.2967 -+ break;
86.2968 -+
86.2969 -+ case FFI_TYPE_INT:
86.2970 -+ case FFI_TYPE_UINT32:
86.2971 -+ case FFI_TYPE_SINT32:
86.2972 -+ if (n_gpr < MAX_GPRARGS)
86.2973 -+ *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 4;
86.2974 -+ else
86.2975 -+ *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 4;
86.2976 -+ break;
86.2977 -+
86.2978 -+ case FFI_TYPE_UINT16:
86.2979 -+ case FFI_TYPE_SINT16:
86.2980 -+ if (n_gpr < MAX_GPRARGS)
86.2981 -+ *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 2;
86.2982 -+ else
86.2983 -+ *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 2;
86.2984 -+ break;
86.2985 -+
86.2986 -+ case FFI_TYPE_UINT8:
86.2987 -+ case FFI_TYPE_SINT8:
86.2988 -+ if (n_gpr < MAX_GPRARGS)
86.2989 -+ *p_arg = (char *)&p_gpr[n_gpr++] + sizeof (long) - 1;
86.2990 -+ else
86.2991 -+ *p_arg = (char *)&p_ov[n_ov++] + sizeof (long) - 1;
86.2992 -+ break;
86.2993 -+
86.2994 -+ default:
86.2995 -+ FFI_ASSERT (0);
86.2996 -+ break;
86.2997 -+ }
86.2998 -+
86.2999 -+ /* If this is a struct passed via pointer, we need to
86.3000 -+ actually retrieve that pointer. */
86.3001 -+ if (deref_struct_pointer)
86.3002 -+ *p_arg = *(void **)*p_arg;
86.3003 -+ }
86.3004 -+
86.3005 -+
86.3006 -+ /* Call the target function. */
86.3007 -+ (closure->fun) (closure->cif, rvalue, avalue, closure->user_data);
86.3008 -+
86.3009 -+ /* Convert the return value. */
86.3010 -+ switch (closure->cif->rtype->type)
86.3011 -+ {
86.3012 -+ /* Void is easy, and so is struct. */
86.3013 -+ case FFI_TYPE_VOID:
86.3014 -+ case FFI_TYPE_STRUCT:
86.3015 -+ break;
86.3016 -+
86.3017 -+ /* Floating point values are returned in fpr 0. */
86.3018 -+ case FFI_TYPE_FLOAT:
86.3019 -+ p_fpr[0] = (long long) *(unsigned int *) rvalue << 32;
86.3020 -+ break;
86.3021 -+
86.3022 -+ case FFI_TYPE_DOUBLE:
86.3023 -+ p_fpr[0] = *(unsigned long long *) rvalue;
86.3024 -+ break;
86.3025 -+
86.3026 -+ /* Integer values are returned in gpr 2 (and gpr 3
86.3027 -+ for 64-bit values on 31-bit machines). */
86.3028 -+ case FFI_TYPE_UINT64:
86.3029 -+ case FFI_TYPE_SINT64:
86.3030 -+#ifdef __s390x__
86.3031 -+ p_gpr[0] = *(unsigned long *) rvalue;
86.3032 -+#else
86.3033 -+ p_gpr[0] = ((unsigned long *) rvalue)[0],
86.3034 -+ p_gpr[1] = ((unsigned long *) rvalue)[1];
86.3035 -+#endif
86.3036 -+ break;
86.3037 -+
86.3038 -+ case FFI_TYPE_POINTER:
86.3039 -+ case FFI_TYPE_UINT32:
86.3040 -+ case FFI_TYPE_UINT16:
86.3041 -+ case FFI_TYPE_UINT8:
86.3042 -+ p_gpr[0] = *(unsigned long *) rvalue;
86.3043 -+ break;
86.3044 -+
86.3045 -+ case FFI_TYPE_INT:
86.3046 -+ case FFI_TYPE_SINT32:
86.3047 -+ case FFI_TYPE_SINT16:
86.3048 -+ case FFI_TYPE_SINT8:
86.3049 -+ p_gpr[0] = *(signed long *) rvalue;
86.3050 -+ break;
86.3051 -+
86.3052 -+ default:
86.3053 -+ FFI_ASSERT (0);
86.3054 -+ break;
86.3055 -+ }
86.3056 -+}
86.3057 -+
86.3058 -+/*======================== End of Routine ============================*/
86.3059 -+
86.3060 -+/*====================================================================*/
86.3061 -+/* */
86.3062 -+/* Name - ffi_prep_closure. */
86.3063 -+/* */
86.3064 -+/* Function - Prepare a FFI closure. */
86.3065 -+/* */
86.3066 -+/*====================================================================*/
86.3067 -+
86.3068 -+ffi_status
86.3069 -+ffi_prep_closure (ffi_closure *closure,
86.3070 -+ ffi_cif *cif,
86.3071 -+ void (*fun) (ffi_cif *, void *, void **, void *),
86.3072 -+ void *user_data)
86.3073 -+{
86.3074 -+ FFI_ASSERT (cif->abi == FFI_SYSV);
86.3075 -+
86.3076 -+#ifndef __s390x__
86.3077 -+ *(short *)&closure->tramp [0] = 0x0d10; /* basr %r1,0 */
86.3078 -+ *(short *)&closure->tramp [2] = 0x9801; /* lm %r0,%r1,6(%r1) */
86.3079 -+ *(short *)&closure->tramp [4] = 0x1006;
86.3080 -+ *(short *)&closure->tramp [6] = 0x07f1; /* br %r1 */
86.3081 -+ *(long *)&closure->tramp [8] = (long)closure;
86.3082 -+ *(long *)&closure->tramp[12] = (long)&ffi_closure_SYSV;
86.3083 -+#else
86.3084 -+ *(short *)&closure->tramp [0] = 0x0d10; /* basr %r1,0 */
86.3085 -+ *(short *)&closure->tramp [2] = 0xeb01; /* lmg %r0,%r1,14(%r1) */
86.3086 -+ *(short *)&closure->tramp [4] = 0x100e;
86.3087 -+ *(short *)&closure->tramp [6] = 0x0004;
86.3088 -+ *(short *)&closure->tramp [8] = 0x07f1; /* br %r1 */
86.3089 -+ *(long *)&closure->tramp[16] = (long)closure;
86.3090 -+ *(long *)&closure->tramp[24] = (long)&ffi_closure_SYSV;
86.3091 -+#endif
86.3092 -+
86.3093 -+ closure->cif = cif;
86.3094 -+ closure->user_data = user_data;
86.3095 -+ closure->fun = fun;
86.3096 -+
86.3097 -+ return FFI_OK;
86.3098 -+}
86.3099 -+
86.3100 -+/*======================== End of Routine ============================*/
86.3101 -+
86.3102 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/s390/sysv.S gcc/libffi/src/s390/sysv.S
86.3103 ---- gcc-3.2.2.orig/libffi/src/s390/sysv.S Thu Jan 1 09:00:00 1970
86.3104 -+++ gcc/libffi/src/s390/sysv.S Thu Nov 28 01:44:35 2002
86.3105 -@@ -0,0 +1,425 @@
86.3106 -+/* -----------------------------------------------------------------------
86.3107 -+ sysv.S - Copyright (c) 2000 Software AG
86.3108 -+
86.3109 -+ S390 Foreign Function Interface
86.3110 -+
86.3111 -+ Permission is hereby granted, free of charge, to any person obtaining
86.3112 -+ a copy of this software and associated documentation files (the
86.3113 -+ ``Software''), to deal in the Software without restriction, including
86.3114 -+ without limitation the rights to use, copy, modify, merge, publish,
86.3115 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.3116 -+ permit persons to whom the Software is furnished to do so, subject to
86.3117 -+ the following conditions:
86.3118 -+
86.3119 -+ The above copyright notice and this permission notice shall be included
86.3120 -+ in all copies or substantial portions of the Software.
86.3121 -+
86.3122 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.3123 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.3124 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.3125 -+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.3126 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.3127 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.3128 -+ OTHER DEALINGS IN THE SOFTWARE.
86.3129 -+ ----------------------------------------------------------------------- */
86.3130 -+
86.3131 -+#ifndef __s390x__
86.3132 -+
86.3133 -+.text
86.3134 -+
86.3135 -+ # r2: cif->bytes
86.3136 -+ # r3: &ecif
86.3137 -+ # r4: ffi_prep_args
86.3138 -+ # r5: ret_type
86.3139 -+ # r6: ecif.rvalue
86.3140 -+ # ov: fn
86.3141 -+
86.3142 -+ # This assumes we are using gas.
86.3143 -+ .globl ffi_call_SYSV
86.3144 -+ .type ffi_call_SYSV,%function
86.3145 -+ffi_call_SYSV:
86.3146 -+.LFB1:
86.3147 -+ stm %r6,%r15,24(%r15) # Save registers
86.3148 -+.LCFI0:
86.3149 -+ basr %r13,0 # Set up base register
86.3150 -+.Lbase:
86.3151 -+ lr %r11,%r15 # Set up frame pointer
86.3152 -+.LCFI1:
86.3153 -+ sr %r15,%r2
86.3154 -+ ahi %r15,-96-48 # Allocate stack
86.3155 -+ lr %r8,%r6 # Save ecif.rvalue
86.3156 -+ sr %r9,%r9
86.3157 -+ ic %r9,.Ltable-.Lbase(%r13,%r5) # Load epilog address
86.3158 -+ l %r7,96(%r11) # Load function address
86.3159 -+ st %r11,0(%r15) # Set up back chain
86.3160 -+ ahi %r11,-48 # Register save area
86.3161 -+.LCFI2:
86.3162 -+
86.3163 -+ la %r2,96(%r15) # Save area
86.3164 -+ # r3 already holds &ecif
86.3165 -+ basr %r14,%r4 # Call ffi_prep_args
86.3166 -+
86.3167 -+ lm %r2,%r6,0(%r11) # Load arguments
86.3168 -+ ld %f0,32(%r11)
86.3169 -+ ld %f2,40(%r11)
86.3170 -+ la %r14,0(%r13,%r9) # Set return address
86.3171 -+ br %r7 # ... and call function
86.3172 -+
86.3173 -+.LretNone: # Return void
86.3174 -+ l %r4,48+56(%r11)
86.3175 -+ lm %r6,%r15,48+24(%r11)
86.3176 -+ br %r4
86.3177 -+
86.3178 -+.LretFloat:
86.3179 -+ l %r4,48+56(%r11)
86.3180 -+ ste %f0,0(%r8) # Return float
86.3181 -+ lm %r6,%r15,48+24(%r11)
86.3182 -+ br %r4
86.3183 -+
86.3184 -+.LretDouble:
86.3185 -+ l %r4,48+56(%r11)
86.3186 -+ std %f0,0(%r8) # Return double
86.3187 -+ lm %r6,%r15,48+24(%r11)
86.3188 -+ br %r4
86.3189 -+
86.3190 -+.LretInt32:
86.3191 -+ l %r4,48+56(%r11)
86.3192 -+ st %r2,0(%r8) # Return int
86.3193 -+ lm %r6,%r15,48+24(%r11)
86.3194 -+ br %r4
86.3195 -+
86.3196 -+.LretInt64:
86.3197 -+ l %r4,48+56(%r11)
86.3198 -+ stm %r2,%r3,0(%r8) # Return long long
86.3199 -+ lm %r6,%r15,48+24(%r11)
86.3200 -+ br %r4
86.3201 -+
86.3202 -+.Ltable:
86.3203 -+ .byte .LretNone-.Lbase # FFI390_RET_VOID
86.3204 -+ .byte .LretNone-.Lbase # FFI390_RET_STRUCT
86.3205 -+ .byte .LretFloat-.Lbase # FFI390_RET_FLOAT
86.3206 -+ .byte .LretDouble-.Lbase # FFI390_RET_DOUBLE
86.3207 -+ .byte .LretInt32-.Lbase # FFI390_RET_INT32
86.3208 -+ .byte .LretInt64-.Lbase # FFI390_RET_INT64
86.3209 -+
86.3210 -+.LFE1:
86.3211 -+.ffi_call_SYSV_end:
86.3212 -+ .size ffi_call_SYSV,.ffi_call_SYSV_end-ffi_call_SYSV
86.3213 -+
86.3214 -+
86.3215 -+ .globl ffi_closure_SYSV
86.3216 -+ .type ffi_closure_SYSV,%function
86.3217 -+ffi_closure_SYSV:
86.3218 -+.LFB2:
86.3219 -+ stm %r12,%r15,48(%r15) # Save registers
86.3220 -+.LCFI10:
86.3221 -+ basr %r13,0 # Set up base register
86.3222 -+.Lcbase:
86.3223 -+ stm %r2,%r6,8(%r15) # Save arguments
86.3224 -+ std %f0,64(%r15)
86.3225 -+ std %f2,72(%r15)
86.3226 -+ lr %r1,%r15 # Set up stack frame
86.3227 -+ ahi %r15,-96
86.3228 -+.LCFI11:
86.3229 -+ l %r12,.Lchelper-.Lcbase(%r13) # Get helper function
86.3230 -+ lr %r2,%r0 # Closure
86.3231 -+ la %r3,8(%r1) # GPRs
86.3232 -+ la %r4,64(%r1) # FPRs
86.3233 -+ la %r5,96(%r1) # Overflow
86.3234 -+ st %r1,0(%r15) # Set up back chain
86.3235 -+
86.3236 -+ bas %r14,0(%r12,%r13) # Call helper
86.3237 -+
86.3238 -+ l %r4,96+56(%r15)
86.3239 -+ ld %f0,96+64(%r15) # Load return registers
86.3240 -+ lm %r2,%r3,96+8(%r15)
86.3241 -+ lm %r12,%r15,96+48(%r15)
86.3242 -+ br %r4
86.3243 -+
86.3244 -+ .align 4
86.3245 -+.Lchelper:
86.3246 -+ .long ffi_closure_helper_SYSV-.Lcbase
86.3247 -+
86.3248 -+.LFE2:
86.3249 -+
86.3250 -+.ffi_closure_SYSV_end:
86.3251 -+ .size ffi_closure_SYSV,.ffi_closure_SYSV_end-ffi_closure_SYSV
86.3252 -+
86.3253 -+
86.3254 -+ .section .eh_frame,"a",@progbits
86.3255 -+.Lframe1:
86.3256 -+ .4byte .LECIE1-.LSCIE1 # Length of Common Information Entry
86.3257 -+.LSCIE1:
86.3258 -+ .4byte 0x0 # CIE Identifier Tag
86.3259 -+ .byte 0x1 # CIE Version
86.3260 -+ .ascii "zR\0" # CIE Augmentation
86.3261 -+ .uleb128 0x1 # CIE Code Alignment Factor
86.3262 -+ .sleb128 -4 # CIE Data Alignment Factor
86.3263 -+ .byte 0xe # CIE RA Column
86.3264 -+ .uleb128 0x1 # Augmentation size
86.3265 -+ .byte 0x1b # FDE Encoding (pcrel sdata4)
86.3266 -+ .byte 0xc # DW_CFA_def_cfa
86.3267 -+ .uleb128 0xf
86.3268 -+ .uleb128 0x60
86.3269 -+ .align 4
86.3270 -+.LECIE1:
86.3271 -+.LSFDE1:
86.3272 -+ .4byte .LEFDE1-.LASFDE1 # FDE Length
86.3273 -+.LASFDE1:
86.3274 -+ .4byte .LASFDE1-.Lframe1 # FDE CIE offset
86.3275 -+ .4byte .LFB1-. # FDE initial location
86.3276 -+ .4byte .LFE1-.LFB1 # FDE address range
86.3277 -+ .uleb128 0x0 # Augmentation size
86.3278 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3279 -+ .4byte .LCFI0-.LFB1
86.3280 -+ .byte 0x8f # DW_CFA_offset, column 0xf
86.3281 -+ .uleb128 0x9
86.3282 -+ .byte 0x8e # DW_CFA_offset, column 0xe
86.3283 -+ .uleb128 0xa
86.3284 -+ .byte 0x8d # DW_CFA_offset, column 0xd
86.3285 -+ .uleb128 0xb
86.3286 -+ .byte 0x8c # DW_CFA_offset, column 0xc
86.3287 -+ .uleb128 0xc
86.3288 -+ .byte 0x8b # DW_CFA_offset, column 0xb
86.3289 -+ .uleb128 0xd
86.3290 -+ .byte 0x8a # DW_CFA_offset, column 0xa
86.3291 -+ .uleb128 0xe
86.3292 -+ .byte 0x89 # DW_CFA_offset, column 0x9
86.3293 -+ .uleb128 0xf
86.3294 -+ .byte 0x88 # DW_CFA_offset, column 0x8
86.3295 -+ .uleb128 0x10
86.3296 -+ .byte 0x87 # DW_CFA_offset, column 0x7
86.3297 -+ .uleb128 0x11
86.3298 -+ .byte 0x86 # DW_CFA_offset, column 0x6
86.3299 -+ .uleb128 0x12
86.3300 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3301 -+ .4byte .LCFI1-.LCFI0
86.3302 -+ .byte 0xd # DW_CFA_def_cfa_register
86.3303 -+ .uleb128 0xb
86.3304 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3305 -+ .4byte .LCFI2-.LCFI1
86.3306 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.3307 -+ .uleb128 0x90
86.3308 -+ .align 4
86.3309 -+.LEFDE1:
86.3310 -+.LSFDE2:
86.3311 -+ .4byte .LEFDE2-.LASFDE2 # FDE Length
86.3312 -+.LASFDE2:
86.3313 -+ .4byte .LASFDE2-.Lframe1 # FDE CIE offset
86.3314 -+ .4byte .LFB2-. # FDE initial location
86.3315 -+ .4byte .LFE2-.LFB2 # FDE address range
86.3316 -+ .uleb128 0x0 # Augmentation size
86.3317 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3318 -+ .4byte .LCFI10-.LFB2
86.3319 -+ .byte 0x8f # DW_CFA_offset, column 0xf
86.3320 -+ .uleb128 0x9
86.3321 -+ .byte 0x8e # DW_CFA_offset, column 0xe
86.3322 -+ .uleb128 0xa
86.3323 -+ .byte 0x8d # DW_CFA_offset, column 0xd
86.3324 -+ .uleb128 0xb
86.3325 -+ .byte 0x8c # DW_CFA_offset, column 0xc
86.3326 -+ .uleb128 0xc
86.3327 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3328 -+ .4byte .LCFI11-.LCFI10
86.3329 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.3330 -+ .uleb128 0xc0
86.3331 -+ .align 4
86.3332 -+.LEFDE2:
86.3333 -+
86.3334 -+#else
86.3335 -+
86.3336 -+.text
86.3337 -+
86.3338 -+ # r2: cif->bytes
86.3339 -+ # r3: &ecif
86.3340 -+ # r4: ffi_prep_args
86.3341 -+ # r5: ret_type
86.3342 -+ # r6: ecif.rvalue
86.3343 -+ # ov: fn
86.3344 -+
86.3345 -+ # This assumes we are using gas.
86.3346 -+ .globl ffi_call_SYSV
86.3347 -+ .type ffi_call_SYSV,%function
86.3348 -+ffi_call_SYSV:
86.3349 -+.LFB1:
86.3350 -+ stmg %r6,%r15,48(%r15) # Save registers
86.3351 -+.LCFI0:
86.3352 -+ larl %r13,.Lbase # Set up base register
86.3353 -+ lgr %r11,%r15 # Set up frame pointer
86.3354 -+.LCFI1:
86.3355 -+ sgr %r15,%r2
86.3356 -+ aghi %r15,-160-80 # Allocate stack
86.3357 -+ lgr %r8,%r6 # Save ecif.rvalue
86.3358 -+ llgc %r9,.Ltable-.Lbase(%r13,%r5) # Load epilog address
86.3359 -+ lg %r7,160(%r11) # Load function address
86.3360 -+ stg %r11,0(%r15) # Set up back chain
86.3361 -+ aghi %r11,-80 # Register save area
86.3362 -+.LCFI2:
86.3363 -+
86.3364 -+ la %r2,160(%r15) # Save area
86.3365 -+ # r3 already holds &ecif
86.3366 -+ basr %r14,%r4 # Call ffi_prep_args
86.3367 -+
86.3368 -+ lmg %r2,%r6,0(%r11) # Load arguments
86.3369 -+ ld %f0,48(%r11)
86.3370 -+ ld %f2,56(%r11)
86.3371 -+ ld %f4,64(%r11)
86.3372 -+ ld %f6,72(%r11)
86.3373 -+ la %r14,0(%r13,%r9) # Set return address
86.3374 -+ br %r7 # ... and call function
86.3375 -+
86.3376 -+.Lbase:
86.3377 -+.LretNone: # Return void
86.3378 -+ lg %r4,80+112(%r11)
86.3379 -+ lmg %r6,%r15,80+48(%r11)
86.3380 -+ br %r4
86.3381 -+
86.3382 -+.LretFloat:
86.3383 -+ lg %r4,80+112(%r11)
86.3384 -+ ste %f0,0(%r8) # Return float
86.3385 -+ lmg %r6,%r15,80+48(%r11)
86.3386 -+ br %r4
86.3387 -+
86.3388 -+.LretDouble:
86.3389 -+ lg %r4,80+112(%r11)
86.3390 -+ std %f0,0(%r8) # Return double
86.3391 -+ lmg %r6,%r15,80+48(%r11)
86.3392 -+ br %r4
86.3393 -+
86.3394 -+.LretInt32:
86.3395 -+ lg %r4,80+112(%r11)
86.3396 -+ st %r2,0(%r8) # Return int
86.3397 -+ lmg %r6,%r15,80+48(%r11)
86.3398 -+ br %r4
86.3399 -+
86.3400 -+.LretInt64:
86.3401 -+ lg %r4,80+112(%r11)
86.3402 -+ stg %r2,0(%r8) # Return long
86.3403 -+ lmg %r6,%r15,80+48(%r11)
86.3404 -+ br %r4
86.3405 -+
86.3406 -+.Ltable:
86.3407 -+ .byte .LretNone-.Lbase # FFI390_RET_VOID
86.3408 -+ .byte .LretNone-.Lbase # FFI390_RET_STRUCT
86.3409 -+ .byte .LretFloat-.Lbase # FFI390_RET_FLOAT
86.3410 -+ .byte .LretDouble-.Lbase # FFI390_RET_DOUBLE
86.3411 -+ .byte .LretInt32-.Lbase # FFI390_RET_INT32
86.3412 -+ .byte .LretInt64-.Lbase # FFI390_RET_INT64
86.3413 -+
86.3414 -+.LFE1:
86.3415 -+.ffi_call_SYSV_end:
86.3416 -+ .size ffi_call_SYSV,.ffi_call_SYSV_end-ffi_call_SYSV
86.3417 -+
86.3418 -+
86.3419 -+ .globl ffi_closure_SYSV
86.3420 -+ .type ffi_closure_SYSV,%function
86.3421 -+ffi_closure_SYSV:
86.3422 -+.LFB2:
86.3423 -+ stmg %r14,%r15,112(%r15) # Save registers
86.3424 -+.LCFI10:
86.3425 -+ stmg %r2,%r6,16(%r15) # Save arguments
86.3426 -+ std %f0,128(%r15)
86.3427 -+ std %f2,136(%r15)
86.3428 -+ std %f4,144(%r15)
86.3429 -+ std %f6,152(%r15)
86.3430 -+ lgr %r1,%r15 # Set up stack frame
86.3431 -+ aghi %r15,-160
86.3432 -+.LCFI11:
86.3433 -+ lgr %r2,%r0 # Closure
86.3434 -+ la %r3,16(%r1) # GPRs
86.3435 -+ la %r4,128(%r1) # FPRs
86.3436 -+ la %r5,160(%r1) # Overflow
86.3437 -+ stg %r1,0(%r15) # Set up back chain
86.3438 -+
86.3439 -+ brasl %r14,ffi_closure_helper_SYSV # Call helper
86.3440 -+
86.3441 -+ lg %r14,160+112(%r15)
86.3442 -+ ld %f0,160+128(%r15) # Load return registers
86.3443 -+ lg %r2,160+16(%r15)
86.3444 -+ la %r15,160(%r15)
86.3445 -+ br %r14
86.3446 -+.LFE2:
86.3447 -+
86.3448 -+.ffi_closure_SYSV_end:
86.3449 -+ .size ffi_closure_SYSV,.ffi_closure_SYSV_end-ffi_closure_SYSV
86.3450 -+
86.3451 -+
86.3452 -+
86.3453 -+ .section .eh_frame,"a",@progbits
86.3454 -+.Lframe1:
86.3455 -+ .4byte .LECIE1-.LSCIE1 # Length of Common Information Entry
86.3456 -+.LSCIE1:
86.3457 -+ .4byte 0x0 # CIE Identifier Tag
86.3458 -+ .byte 0x1 # CIE Version
86.3459 -+ .ascii "zR\0" # CIE Augmentation
86.3460 -+ .uleb128 0x1 # CIE Code Alignment Factor
86.3461 -+ .sleb128 -8 # CIE Data Alignment Factor
86.3462 -+ .byte 0xe # CIE RA Column
86.3463 -+ .uleb128 0x1 # Augmentation size
86.3464 -+ .byte 0x1b # FDE Encoding (pcrel sdata4)
86.3465 -+ .byte 0xc # DW_CFA_def_cfa
86.3466 -+ .uleb128 0xf
86.3467 -+ .uleb128 0xa0
86.3468 -+ .align 8
86.3469 -+.LECIE1:
86.3470 -+.LSFDE1:
86.3471 -+ .4byte .LEFDE1-.LASFDE1 # FDE Length
86.3472 -+.LASFDE1:
86.3473 -+ .4byte .LASFDE1-.Lframe1 # FDE CIE offset
86.3474 -+ .4byte .LFB1-. # FDE initial location
86.3475 -+ .4byte .LFE1-.LFB1 # FDE address range
86.3476 -+ .uleb128 0x0 # Augmentation size
86.3477 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3478 -+ .4byte .LCFI0-.LFB1
86.3479 -+ .byte 0x8f # DW_CFA_offset, column 0xf
86.3480 -+ .uleb128 0x5
86.3481 -+ .byte 0x8e # DW_CFA_offset, column 0xe
86.3482 -+ .uleb128 0x6
86.3483 -+ .byte 0x8d # DW_CFA_offset, column 0xd
86.3484 -+ .uleb128 0x7
86.3485 -+ .byte 0x8c # DW_CFA_offset, column 0xc
86.3486 -+ .uleb128 0x8
86.3487 -+ .byte 0x8b # DW_CFA_offset, column 0xb
86.3488 -+ .uleb128 0x9
86.3489 -+ .byte 0x8a # DW_CFA_offset, column 0xa
86.3490 -+ .uleb128 0xa
86.3491 -+ .byte 0x89 # DW_CFA_offset, column 0x9
86.3492 -+ .uleb128 0xb
86.3493 -+ .byte 0x88 # DW_CFA_offset, column 0x8
86.3494 -+ .uleb128 0xc
86.3495 -+ .byte 0x87 # DW_CFA_offset, column 0x7
86.3496 -+ .uleb128 0xd
86.3497 -+ .byte 0x86 # DW_CFA_offset, column 0x6
86.3498 -+ .uleb128 0xe
86.3499 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3500 -+ .4byte .LCFI1-.LCFI0
86.3501 -+ .byte 0xd # DW_CFA_def_cfa_register
86.3502 -+ .uleb128 0xb
86.3503 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3504 -+ .4byte .LCFI2-.LCFI1
86.3505 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.3506 -+ .uleb128 0xf0
86.3507 -+ .align 8
86.3508 -+.LEFDE1:
86.3509 -+.LSFDE2:
86.3510 -+ .4byte .LEFDE2-.LASFDE2 # FDE Length
86.3511 -+.LASFDE2:
86.3512 -+ .4byte .LASFDE2-.Lframe1 # FDE CIE offset
86.3513 -+ .4byte .LFB2-. # FDE initial location
86.3514 -+ .4byte .LFE2-.LFB2 # FDE address range
86.3515 -+ .uleb128 0x0 # Augmentation size
86.3516 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3517 -+ .4byte .LCFI10-.LFB2
86.3518 -+ .byte 0x8f # DW_CFA_offset, column 0xf
86.3519 -+ .uleb128 0x5
86.3520 -+ .byte 0x8e # DW_CFA_offset, column 0xe
86.3521 -+ .uleb128 0x6
86.3522 -+ .byte 0x4 # DW_CFA_advance_loc4
86.3523 -+ .4byte .LCFI11-.LCFI10
86.3524 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.3525 -+ .uleb128 0x140
86.3526 -+ .align 8
86.3527 -+.LEFDE2:
86.3528 -+
86.3529 -+#endif
86.3530 -+
86.3531 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/sh/ffi.c gcc/libffi/src/sh/ffi.c
86.3532 ---- gcc-3.2.2.orig/libffi/src/sh/ffi.c Thu Jan 1 09:00:00 1970
86.3533 -+++ gcc/libffi/src/sh/ffi.c Fri Jul 19 10:08:43 2002
86.3534 -@@ -0,0 +1,722 @@
86.3535 -+/* -----------------------------------------------------------------------
86.3536 -+ ffi.c - Copyright (c) 2002 Kaz Kojima
86.3537 -+
86.3538 -+ SuperH Foreign Function Interface
86.3539 -+
86.3540 -+ Permission is hereby granted, free of charge, to any person obtaining
86.3541 -+ a copy of this software and associated documentation files (the
86.3542 -+ ``Software''), to deal in the Software without restriction, including
86.3543 -+ without limitation the rights to use, copy, modify, merge, publish,
86.3544 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.3545 -+ permit persons to whom the Software is furnished to do so, subject to
86.3546 -+ the following conditions:
86.3547 -+
86.3548 -+ The above copyright notice and this permission notice shall be included
86.3549 -+ in all copies or substantial portions of the Software.
86.3550 -+
86.3551 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.3552 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.3553 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.3554 -+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.3555 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.3556 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.3557 -+ OTHER DEALINGS IN THE SOFTWARE.
86.3558 -+ ----------------------------------------------------------------------- */
86.3559 -+
86.3560 -+#include <ffi.h>
86.3561 -+#include <ffi_common.h>
86.3562 -+
86.3563 -+#include <stdlib.h>
86.3564 -+
86.3565 -+#define NGREGARG 4
86.3566 -+#if defined(__SH4__)
86.3567 -+#define NFREGARG 8
86.3568 -+#endif
86.3569 -+
86.3570 -+#if defined(__HITACHI__)
86.3571 -+#define STRUCT_VALUE_ADDRESS_WITH_ARG 1
86.3572 -+#else
86.3573 -+#define STRUCT_VALUE_ADDRESS_WITH_ARG 0
86.3574 -+#endif
86.3575 -+
86.3576 -+/* If the structure has essentialy an unique element, return its type. */
86.3577 -+static int
86.3578 -+simple_type (ffi_type *arg)
86.3579 -+{
86.3580 -+ if (arg->type != FFI_TYPE_STRUCT)
86.3581 -+ return arg->type;
86.3582 -+ else if (arg->elements[1])
86.3583 -+ return FFI_TYPE_STRUCT;
86.3584 -+
86.3585 -+ return simple_type (arg->elements[0]);
86.3586 -+}
86.3587 -+
86.3588 -+static int
86.3589 -+return_type (ffi_type *arg)
86.3590 -+{
86.3591 -+ unsigned short type;
86.3592 -+
86.3593 -+ if (arg->type != FFI_TYPE_STRUCT)
86.3594 -+ return arg->type;
86.3595 -+
86.3596 -+ type = simple_type (arg->elements[0]);
86.3597 -+ if (! arg->elements[1])
86.3598 -+ {
86.3599 -+ switch (type)
86.3600 -+ {
86.3601 -+ case FFI_TYPE_SINT8:
86.3602 -+ case FFI_TYPE_UINT8:
86.3603 -+ case FFI_TYPE_SINT16:
86.3604 -+ case FFI_TYPE_UINT16:
86.3605 -+ case FFI_TYPE_SINT32:
86.3606 -+ case FFI_TYPE_UINT32:
86.3607 -+ return FFI_TYPE_INT;
86.3608 -+
86.3609 -+ default:
86.3610 -+ return type;
86.3611 -+ }
86.3612 -+ }
86.3613 -+
86.3614 -+ /* gcc uses r0/r1 pair for some kind of structures. */
86.3615 -+ if (arg->size <= 2 * sizeof (int))
86.3616 -+ {
86.3617 -+ int i = 0;
86.3618 -+ ffi_type *e;
86.3619 -+
86.3620 -+ while ((e = arg->elements[i++]))
86.3621 -+ {
86.3622 -+ type = simple_type (e);
86.3623 -+ switch (type)
86.3624 -+ {
86.3625 -+ case FFI_TYPE_SINT32:
86.3626 -+ case FFI_TYPE_UINT32:
86.3627 -+ case FFI_TYPE_INT:
86.3628 -+ case FFI_TYPE_FLOAT:
86.3629 -+ return FFI_TYPE_UINT64;
86.3630 -+
86.3631 -+ default:
86.3632 -+ break;
86.3633 -+ }
86.3634 -+ }
86.3635 -+ }
86.3636 -+
86.3637 -+ return FFI_TYPE_STRUCT;
86.3638 -+}
86.3639 -+
86.3640 -+/* ffi_prep_args is called by the assembly routine once stack space
86.3641 -+ has been allocated for the function's arguments */
86.3642 -+
86.3643 -+/*@-exportheader@*/
86.3644 -+void ffi_prep_args(char *stack, extended_cif *ecif)
86.3645 -+/*@=exportheader@*/
86.3646 -+{
86.3647 -+ register unsigned int i;
86.3648 -+ register int tmp;
86.3649 -+ register unsigned int avn;
86.3650 -+ register void **p_argv;
86.3651 -+ register char *argp;
86.3652 -+ register ffi_type **p_arg;
86.3653 -+ int greg, ireg;
86.3654 -+#if defined(__SH4__)
86.3655 -+ int freg = 0;
86.3656 -+#endif
86.3657 -+
86.3658 -+ tmp = 0;
86.3659 -+ argp = stack;
86.3660 -+
86.3661 -+ if (return_type (ecif->cif->rtype) == FFI_TYPE_STRUCT)
86.3662 -+ {
86.3663 -+ *(void **) argp = ecif->rvalue;
86.3664 -+ argp += 4;
86.3665 -+ ireg = STRUCT_VALUE_ADDRESS_WITH_ARG ? 1 : 0;
86.3666 -+ }
86.3667 -+ else
86.3668 -+ ireg = 0;
86.3669 -+
86.3670 -+ /* Set arguments for registers. */
86.3671 -+ greg = ireg;
86.3672 -+ avn = ecif->cif->nargs;
86.3673 -+ p_argv = ecif->avalue;
86.3674 -+
86.3675 -+ for (i = 0, p_arg = ecif->cif->arg_types; i < avn; i++, p_arg++, p_argv++)
86.3676 -+ {
86.3677 -+ size_t z;
86.3678 -+
86.3679 -+ z = (*p_arg)->size;
86.3680 -+ if (z < sizeof(int))
86.3681 -+ {
86.3682 -+ if (greg++ >= NGREGARG)
86.3683 -+ continue;
86.3684 -+
86.3685 -+ z = sizeof(int);
86.3686 -+ switch ((*p_arg)->type)
86.3687 -+ {
86.3688 -+ case FFI_TYPE_SINT8:
86.3689 -+ *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
86.3690 -+ break;
86.3691 -+
86.3692 -+ case FFI_TYPE_UINT8:
86.3693 -+ *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
86.3694 -+ break;
86.3695 -+
86.3696 -+ case FFI_TYPE_SINT16:
86.3697 -+ *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
86.3698 -+ break;
86.3699 -+
86.3700 -+ case FFI_TYPE_UINT16:
86.3701 -+ *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
86.3702 -+ break;
86.3703 -+
86.3704 -+ case FFI_TYPE_STRUCT:
86.3705 -+ *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
86.3706 -+ break;
86.3707 -+
86.3708 -+ default:
86.3709 -+ FFI_ASSERT(0);
86.3710 -+ }
86.3711 -+ argp += z;
86.3712 -+ }
86.3713 -+ else if (z == sizeof(int))
86.3714 -+ {
86.3715 -+#if defined(__SH4__)
86.3716 -+ if ((*p_arg)->type == FFI_TYPE_FLOAT)
86.3717 -+ {
86.3718 -+ if (freg++ >= NFREGARG)
86.3719 -+ continue;
86.3720 -+ }
86.3721 -+ else
86.3722 -+#endif
86.3723 -+ {
86.3724 -+ if (greg++ >= NGREGARG)
86.3725 -+ continue;
86.3726 -+ }
86.3727 -+ *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
86.3728 -+ argp += z;
86.3729 -+ }
86.3730 -+#if defined(__SH4__)
86.3731 -+ else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
86.3732 -+ {
86.3733 -+ if (freg + 1 >= NFREGARG)
86.3734 -+ continue;
86.3735 -+ freg = (freg + 1) & ~1;
86.3736 -+ freg += 2;
86.3737 -+ memcpy (argp, *p_argv, z);
86.3738 -+ argp += z;
86.3739 -+ }
86.3740 -+#endif
86.3741 -+ else
86.3742 -+ {
86.3743 -+ int n = (z + sizeof (int) - 1) / sizeof (int);
86.3744 -+#if defined(__SH4__)
86.3745 -+ if (greg + n - 1 >= NGREGARG)
86.3746 -+ continue;
86.3747 -+ greg += n;
86.3748 -+#else
86.3749 -+ if (greg >= NGREGARG)
86.3750 -+ continue;
86.3751 -+ else if (greg + n - 1 >= NGREGARG)
86.3752 -+ greg = NGREGARG;
86.3753 -+ else
86.3754 -+ greg += n;
86.3755 -+#endif
86.3756 -+ memcpy (argp, *p_argv, z);
86.3757 -+ argp += z;
86.3758 -+ }
86.3759 -+ }
86.3760 -+
86.3761 -+ /* Set arguments on stack. */
86.3762 -+ greg = ireg;
86.3763 -+#if defined(__SH4__)
86.3764 -+ freg = 0;
86.3765 -+#endif
86.3766 -+ p_argv = ecif->avalue;
86.3767 -+
86.3768 -+ for (i = 0, p_arg = ecif->cif->arg_types; i < avn; i++, p_arg++, p_argv++)
86.3769 -+ {
86.3770 -+ size_t z;
86.3771 -+
86.3772 -+ z = (*p_arg)->size;
86.3773 -+ if (z < sizeof(int))
86.3774 -+ {
86.3775 -+ if (greg++ < NGREGARG)
86.3776 -+ continue;
86.3777 -+
86.3778 -+ z = sizeof(int);
86.3779 -+ switch ((*p_arg)->type)
86.3780 -+ {
86.3781 -+ case FFI_TYPE_SINT8:
86.3782 -+ *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv);
86.3783 -+ break;
86.3784 -+
86.3785 -+ case FFI_TYPE_UINT8:
86.3786 -+ *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv);
86.3787 -+ break;
86.3788 -+
86.3789 -+ case FFI_TYPE_SINT16:
86.3790 -+ *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv);
86.3791 -+ break;
86.3792 -+
86.3793 -+ case FFI_TYPE_UINT16:
86.3794 -+ *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv);
86.3795 -+ break;
86.3796 -+
86.3797 -+ case FFI_TYPE_STRUCT:
86.3798 -+ *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
86.3799 -+ break;
86.3800 -+
86.3801 -+ default:
86.3802 -+ FFI_ASSERT(0);
86.3803 -+ }
86.3804 -+ argp += z;
86.3805 -+ }
86.3806 -+ else if (z == sizeof(int))
86.3807 -+ {
86.3808 -+#if defined(__SH4__)
86.3809 -+ if ((*p_arg)->type == FFI_TYPE_FLOAT)
86.3810 -+ {
86.3811 -+ if (freg++ < NFREGARG)
86.3812 -+ continue;
86.3813 -+ }
86.3814 -+ else
86.3815 -+#endif
86.3816 -+ {
86.3817 -+ if (greg++ < NGREGARG)
86.3818 -+ continue;
86.3819 -+ }
86.3820 -+ *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv);
86.3821 -+ argp += z;
86.3822 -+ }
86.3823 -+#if defined(__SH4__)
86.3824 -+ else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
86.3825 -+ {
86.3826 -+ if (freg + 1 < NFREGARG)
86.3827 -+ {
86.3828 -+ freg = (freg + 1) & ~1;
86.3829 -+ freg += 2;
86.3830 -+ continue;
86.3831 -+ }
86.3832 -+ memcpy (argp, *p_argv, z);
86.3833 -+ argp += z;
86.3834 -+ }
86.3835 -+#endif
86.3836 -+ else
86.3837 -+ {
86.3838 -+ int n = (z + sizeof (int) - 1) / sizeof (int);
86.3839 -+ if (greg + n - 1 < NGREGARG)
86.3840 -+ {
86.3841 -+ greg += n;
86.3842 -+ continue;
86.3843 -+ }
86.3844 -+#if (! defined(__SH4__))
86.3845 -+ else if (greg < NGREGARG)
86.3846 -+ {
86.3847 -+ greg = NGREGARG;
86.3848 -+ continue;
86.3849 -+ }
86.3850 -+#endif
86.3851 -+ memcpy (argp, *p_argv, z);
86.3852 -+ argp += z;
86.3853 -+ }
86.3854 -+ }
86.3855 -+
86.3856 -+ return;
86.3857 -+}
86.3858 -+
86.3859 -+/* Perform machine dependent cif processing */
86.3860 -+ffi_status ffi_prep_cif_machdep(ffi_cif *cif)
86.3861 -+{
86.3862 -+ int i, j;
86.3863 -+ int size, type;
86.3864 -+ int n, m;
86.3865 -+ int greg;
86.3866 -+#if defined(__SH4__)
86.3867 -+ int freg = 0;
86.3868 -+#endif
86.3869 -+
86.3870 -+ cif->flags = 0;
86.3871 -+
86.3872 -+ greg = ((return_type (cif->rtype) == FFI_TYPE_STRUCT) &&
86.3873 -+ STRUCT_VALUE_ADDRESS_WITH_ARG) ? 1 : 0;
86.3874 -+
86.3875 -+#if defined(__SH4__)
86.3876 -+ for (i = j = 0; i < cif->nargs && j < 12; i++)
86.3877 -+ {
86.3878 -+ type = (cif->arg_types)[i]->type;
86.3879 -+ switch (type)
86.3880 -+ {
86.3881 -+ case FFI_TYPE_FLOAT:
86.3882 -+ if (freg >= NFREGARG)
86.3883 -+ continue;
86.3884 -+ freg++;
86.3885 -+ cif->flags += ((cif->arg_types)[i]->type) << (2 * j);
86.3886 -+ j++;
86.3887 -+ break;
86.3888 -+
86.3889 -+ case FFI_TYPE_DOUBLE:
86.3890 -+ if ((freg + 1) >= NFREGARG)
86.3891 -+ continue;
86.3892 -+ freg = (freg + 1) & ~1;
86.3893 -+ freg += 2;
86.3894 -+ cif->flags += ((cif->arg_types)[i]->type) << (2 * j);
86.3895 -+ j++;
86.3896 -+ break;
86.3897 -+
86.3898 -+ default:
86.3899 -+ size = (cif->arg_types)[i]->size;
86.3900 -+ n = (size + sizeof (int) - 1) / sizeof (int);
86.3901 -+ if (greg + n - 1 >= NGREGARG)
86.3902 -+ continue;
86.3903 -+ greg += n;
86.3904 -+ for (m = 0; m < n; m++)
86.3905 -+ cif->flags += FFI_TYPE_INT << (2 * j++);
86.3906 -+ break;
86.3907 -+ }
86.3908 -+ }
86.3909 -+#else
86.3910 -+ for (i = j = 0; i < cif->nargs && j < 4; i++)
86.3911 -+ {
86.3912 -+ size = (cif->arg_types)[i]->size;
86.3913 -+ n = (size + sizeof (int) - 1) / sizeof (int);
86.3914 -+ if (greg >= NGREGARG)
86.3915 -+ continue;
86.3916 -+ else if (greg + n - 1 >= NGREGARG)
86.3917 -+ greg = NGREGARG;
86.3918 -+ else
86.3919 -+ greg += n;
86.3920 -+ for (m = 0; m < n; m++)
86.3921 -+ cif->flags += FFI_TYPE_INT << (2 * j++);
86.3922 -+ }
86.3923 -+#endif
86.3924 -+
86.3925 -+ /* Set the return type flag */
86.3926 -+ switch (cif->rtype->type)
86.3927 -+ {
86.3928 -+ case FFI_TYPE_STRUCT:
86.3929 -+ cif->flags += (unsigned) (return_type (cif->rtype)) << 24;
86.3930 -+ break;
86.3931 -+
86.3932 -+ case FFI_TYPE_VOID:
86.3933 -+ case FFI_TYPE_FLOAT:
86.3934 -+ case FFI_TYPE_DOUBLE:
86.3935 -+ case FFI_TYPE_SINT64:
86.3936 -+ case FFI_TYPE_UINT64:
86.3937 -+ cif->flags += (unsigned) cif->rtype->type << 24;
86.3938 -+ break;
86.3939 -+
86.3940 -+ default:
86.3941 -+ cif->flags += FFI_TYPE_INT << 24;
86.3942 -+ break;
86.3943 -+ }
86.3944 -+
86.3945 -+ return FFI_OK;
86.3946 -+}
86.3947 -+
86.3948 -+/*@-declundef@*/
86.3949 -+/*@-exportheader@*/
86.3950 -+extern void ffi_call_SYSV(void (*)(char *, extended_cif *),
86.3951 -+ /*@out@*/ extended_cif *,
86.3952 -+ unsigned, unsigned,
86.3953 -+ /*@out@*/ unsigned *,
86.3954 -+ void (*fn)());
86.3955 -+/*@=declundef@*/
86.3956 -+/*@=exportheader@*/
86.3957 -+
86.3958 -+void ffi_call(/*@dependent@*/ ffi_cif *cif,
86.3959 -+ void (*fn)(),
86.3960 -+ /*@out@*/ void *rvalue,
86.3961 -+ /*@dependent@*/ void **avalue)
86.3962 -+{
86.3963 -+ extended_cif ecif;
86.3964 -+
86.3965 -+ ecif.cif = cif;
86.3966 -+ ecif.avalue = avalue;
86.3967 -+
86.3968 -+ /* If the return value is a struct and we don't have a return */
86.3969 -+ /* value address then we need to make one */
86.3970 -+
86.3971 -+ if ((rvalue == NULL) &&
86.3972 -+ (cif->rtype->type == FFI_TYPE_STRUCT))
86.3973 -+ {
86.3974 -+ /*@-sysunrecog@*/
86.3975 -+ ecif.rvalue = alloca(cif->rtype->size);
86.3976 -+ /*@=sysunrecog@*/
86.3977 -+ }
86.3978 -+ else
86.3979 -+ ecif.rvalue = rvalue;
86.3980 -+
86.3981 -+
86.3982 -+ switch (cif->abi)
86.3983 -+ {
86.3984 -+ case FFI_SYSV:
86.3985 -+ /*@-usedef@*/
86.3986 -+ ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes,
86.3987 -+ cif->flags, ecif.rvalue, fn);
86.3988 -+ /*@=usedef@*/
86.3989 -+ break;
86.3990 -+ default:
86.3991 -+ FFI_ASSERT(0);
86.3992 -+ break;
86.3993 -+ }
86.3994 -+}
86.3995 -+
86.3996 -+extern void ffi_closure_SYSV (void);
86.3997 -+#if defined(__SH4__)
86.3998 -+extern void __ic_invalidate (void *line);
86.3999 -+#endif
86.4000 -+
86.4001 -+ffi_status
86.4002 -+ffi_prep_closure (ffi_closure* closure,
86.4003 -+ ffi_cif* cif,
86.4004 -+ void (*fun)(ffi_cif*, void*, void**, void*),
86.4005 -+ void *user_data)
86.4006 -+{
86.4007 -+ unsigned int *tramp;
86.4008 -+
86.4009 -+ FFI_ASSERT (cif->abi == FFI_GCC_SYSV);
86.4010 -+
86.4011 -+ tramp = (unsigned int *) &closure->tramp[0];
86.4012 -+#ifdef __LITTLE_ENDIAN__
86.4013 -+ tramp[0] = 0xd301d202;
86.4014 -+ tramp[1] = 0x0009422b;
86.4015 -+#else
86.4016 -+ tramp[0] = 0xd202d301;
86.4017 -+ tramp[1] = 0x422b0009;
86.4018 -+#endif
86.4019 -+ *(void **) &tramp[2] = (void *)closure; /* ctx */
86.4020 -+ *(void **) &tramp[3] = (void *)ffi_closure_SYSV; /* funaddr */
86.4021 -+
86.4022 -+ closure->cif = cif;
86.4023 -+ closure->fun = fun;
86.4024 -+ closure->user_data = user_data;
86.4025 -+
86.4026 -+#if defined(__SH4__)
86.4027 -+ /* Flush the icache. */
86.4028 -+ __ic_invalidate(&closure->tramp[0]);
86.4029 -+#endif
86.4030 -+
86.4031 -+ return FFI_OK;
86.4032 -+}
86.4033 -+
86.4034 -+/* Basically the trampoline invokes ffi_closure_SYSV, and on
86.4035 -+ * entry, r3 holds the address of the closure.
86.4036 -+ * After storing the registers that could possibly contain
86.4037 -+ * parameters to be passed into the stack frame and setting
86.4038 -+ * up space for a return value, ffi_closure_SYSV invokes the
86.4039 -+ * following helper function to do most of the work.
86.4040 -+ */
86.4041 -+
86.4042 -+#ifdef __LITTLE_ENDIAN__
86.4043 -+#define OFS_INT8 0
86.4044 -+#define OFS_INT16 2
86.4045 -+#else
86.4046 -+#define OFS_INT8 3
86.4047 -+#define OFS_INT16 2
86.4048 -+#endif
86.4049 -+
86.4050 -+int
86.4051 -+ffi_closure_helper_SYSV (ffi_closure *closure, void *rvalue,
86.4052 -+ unsigned long *pgr, unsigned long *pfr,
86.4053 -+ unsigned long *pst)
86.4054 -+{
86.4055 -+ void **avalue;
86.4056 -+ ffi_type **p_arg;
86.4057 -+ int i, avn;
86.4058 -+ int ireg, greg = 0;
86.4059 -+#if defined(__SH4__)
86.4060 -+ int freg = 0;
86.4061 -+#endif
86.4062 -+ ffi_cif *cif;
86.4063 -+ double temp;
86.4064 -+
86.4065 -+ cif = closure->cif;
86.4066 -+ avalue = alloca(cif->nargs * sizeof(void *));
86.4067 -+
86.4068 -+ /* Copy the caller's structure return value address so that the closure
86.4069 -+ returns the data directly to the caller. */
86.4070 -+ if (cif->rtype->type == FFI_TYPE_STRUCT)
86.4071 -+ {
86.4072 -+ rvalue = *pgr++;
86.4073 -+ ireg = STRUCT_VALUE_ADDRESS_WITH_ARG ? 1 : 0;
86.4074 -+ }
86.4075 -+ else
86.4076 -+ ireg = 0;
86.4077 -+
86.4078 -+ cif = closure->cif;
86.4079 -+ greg = ireg;
86.4080 -+ avn = cif->nargs;
86.4081 -+
86.4082 -+ /* Grab the addresses of the arguments from the stack frame. */
86.4083 -+ for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
86.4084 -+ {
86.4085 -+ size_t z;
86.4086 -+
86.4087 -+ z = (*p_arg)->size;
86.4088 -+ if (z < sizeof(int))
86.4089 -+ {
86.4090 -+ if (greg++ >= NGREGARG)
86.4091 -+ continue;
86.4092 -+
86.4093 -+ z = sizeof(int);
86.4094 -+ switch ((*p_arg)->type)
86.4095 -+ {
86.4096 -+ case FFI_TYPE_SINT8:
86.4097 -+ case FFI_TYPE_UINT8:
86.4098 -+ avalue[i] = (((char *)pgr) + OFS_INT8);
86.4099 -+ break;
86.4100 -+
86.4101 -+ case FFI_TYPE_SINT16:
86.4102 -+ case FFI_TYPE_UINT16:
86.4103 -+ avalue[i] = (((char *)pgr) + OFS_INT16);
86.4104 -+ break;
86.4105 -+
86.4106 -+ case FFI_TYPE_STRUCT:
86.4107 -+ avalue[i] = pgr;
86.4108 -+ break;
86.4109 -+
86.4110 -+ default:
86.4111 -+ FFI_ASSERT(0);
86.4112 -+ }
86.4113 -+ pgr++;
86.4114 -+ }
86.4115 -+ else if (z == sizeof(int))
86.4116 -+ {
86.4117 -+#if defined(__SH4__)
86.4118 -+ if ((*p_arg)->type == FFI_TYPE_FLOAT)
86.4119 -+ {
86.4120 -+ if (freg++ >= NFREGARG)
86.4121 -+ continue;
86.4122 -+ avalue[i] = pfr;
86.4123 -+ pfr++;
86.4124 -+ }
86.4125 -+ else
86.4126 -+#endif
86.4127 -+ {
86.4128 -+ if (greg++ >= NGREGARG)
86.4129 -+ continue;
86.4130 -+ avalue[i] = pgr;
86.4131 -+ pgr++;
86.4132 -+ }
86.4133 -+ }
86.4134 -+#if defined(__SH4__)
86.4135 -+ else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
86.4136 -+ {
86.4137 -+ if (freg + 1 >= NFREGARG)
86.4138 -+ continue;
86.4139 -+ freg = (freg + 1) & ~1;
86.4140 -+ freg += 2;
86.4141 -+ avalue[i] = pfr;
86.4142 -+ pfr += 2;
86.4143 -+ }
86.4144 -+#endif
86.4145 -+ else
86.4146 -+ {
86.4147 -+ int n = (z + sizeof (int) - 1) / sizeof (int);
86.4148 -+#if defined(__SH4__)
86.4149 -+ if (greg + n - 1 >= NGREGARG)
86.4150 -+ continue;
86.4151 -+ greg += n;
86.4152 -+#else
86.4153 -+ if (greg >= NGREGARG)
86.4154 -+ continue;
86.4155 -+ else if (greg + n - 1 >= NGREGARG)
86.4156 -+ greg = NGREGARG;
86.4157 -+ else
86.4158 -+ greg += n;
86.4159 -+#endif
86.4160 -+ avalue[i] = pgr;
86.4161 -+ pgr += n;
86.4162 -+ }
86.4163 -+ }
86.4164 -+
86.4165 -+ greg = ireg;
86.4166 -+#if defined(__SH4__)
86.4167 -+ freg = 0;
86.4168 -+#endif
86.4169 -+
86.4170 -+ for (i = 0, p_arg = cif->arg_types; i < avn; i++, p_arg++)
86.4171 -+ {
86.4172 -+ size_t z;
86.4173 -+
86.4174 -+ z = (*p_arg)->size;
86.4175 -+ if (z < sizeof(int))
86.4176 -+ {
86.4177 -+ if (greg++ < NGREGARG)
86.4178 -+ continue;
86.4179 -+
86.4180 -+ z = sizeof(int);
86.4181 -+ switch ((*p_arg)->type)
86.4182 -+ {
86.4183 -+ case FFI_TYPE_SINT8:
86.4184 -+ case FFI_TYPE_UINT8:
86.4185 -+ avalue[i] = (((char *)pst) + OFS_INT8);
86.4186 -+ break;
86.4187 -+
86.4188 -+ case FFI_TYPE_SINT16:
86.4189 -+ case FFI_TYPE_UINT16:
86.4190 -+ avalue[i] = (((char *)pst) + OFS_INT16);
86.4191 -+ break;
86.4192 -+
86.4193 -+ case FFI_TYPE_STRUCT:
86.4194 -+ avalue[i] = pst;
86.4195 -+ break;
86.4196 -+
86.4197 -+ default:
86.4198 -+ FFI_ASSERT(0);
86.4199 -+ }
86.4200 -+ pst++;
86.4201 -+ }
86.4202 -+ else if (z == sizeof(int))
86.4203 -+ {
86.4204 -+#if defined(__SH4__)
86.4205 -+ if ((*p_arg)->type == FFI_TYPE_FLOAT)
86.4206 -+ {
86.4207 -+ if (freg++ < NFREGARG)
86.4208 -+ continue;
86.4209 -+ }
86.4210 -+ else
86.4211 -+#endif
86.4212 -+ {
86.4213 -+ if (greg++ < NGREGARG)
86.4214 -+ continue;
86.4215 -+ }
86.4216 -+ avalue[i] = pst;
86.4217 -+ pst++;
86.4218 -+ }
86.4219 -+#if defined(__SH4__)
86.4220 -+ else if ((*p_arg)->type == FFI_TYPE_DOUBLE)
86.4221 -+ {
86.4222 -+ if (freg + 1 < NFREGARG)
86.4223 -+ {
86.4224 -+ freg = (freg + 1) & ~1;
86.4225 -+ freg += 2;
86.4226 -+ continue;
86.4227 -+ }
86.4228 -+ avalue[i] = pst;
86.4229 -+ pst += 2;
86.4230 -+ }
86.4231 -+#endif
86.4232 -+ else
86.4233 -+ {
86.4234 -+ int n = (z + sizeof (int) - 1) / sizeof (int);
86.4235 -+ if (greg + n - 1 < NGREGARG)
86.4236 -+ {
86.4237 -+ greg += n;
86.4238 -+ continue;
86.4239 -+ }
86.4240 -+#if (! defined(__SH4__))
86.4241 -+ else if (greg < NGREGARG)
86.4242 -+ {
86.4243 -+ greg = NGREGARG;
86.4244 -+ continue;
86.4245 -+ }
86.4246 -+#endif
86.4247 -+ avalue[i] = pst;
86.4248 -+ pst += n;
86.4249 -+ }
86.4250 -+ }
86.4251 -+
86.4252 -+ (closure->fun) (cif, rvalue, avalue, closure->user_data);
86.4253 -+
86.4254 -+ /* Tell ffi_closure_osf how to perform return type promotions. */
86.4255 -+ return cif->rtype->type;
86.4256 -+}
86.4257 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/sh/sysv.S gcc/libffi/src/sh/sysv.S
86.4258 ---- gcc-3.2.2.orig/libffi/src/sh/sysv.S Thu Jan 1 09:00:00 1970
86.4259 -+++ gcc/libffi/src/sh/sysv.S Tue Dec 17 03:22:48 2002
86.4260 -@@ -0,0 +1,773 @@
86.4261 -+/* -----------------------------------------------------------------------
86.4262 -+ sysv.S - Copyright (c) 2002 Kaz Kojima
86.4263 -+
86.4264 -+ SuperH Foreign Function Interface
86.4265 -+
86.4266 -+ Permission is hereby granted, free of charge, to any person obtaining
86.4267 -+ a copy of this software and associated documentation files (the
86.4268 -+ ``Software''), to deal in the Software without restriction, including
86.4269 -+ without limitation the rights to use, copy, modify, merge, publish,
86.4270 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.4271 -+ permit persons to whom the Software is furnished to do so, subject to
86.4272 -+ the following conditions:
86.4273 -+
86.4274 -+ The above copyright notice and this permission notice shall be included
86.4275 -+ in all copies or substantial portions of the Software.
86.4276 -+
86.4277 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.4278 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.4279 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.4280 -+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.4281 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.4282 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.4283 -+ OTHER DEALINGS IN THE SOFTWARE.
86.4284 -+ ----------------------------------------------------------------------- */
86.4285 -+
86.4286 -+#define LIBFFI_ASM
86.4287 -+#include <ffi.h>
86.4288 -+#ifdef HAVE_MACHINE_ASM_H
86.4289 -+#include <machine/asm.h>
86.4290 -+#else
86.4291 -+/* XXX these lose for some platforms, I'm sure. */
86.4292 -+#define CNAME(x) x
86.4293 -+#define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
86.4294 -+#endif
86.4295 -+
86.4296 -+#if defined(__HITACHI__)
86.4297 -+#define STRUCT_VALUE_ADDRESS_WITH_ARG 1
86.4298 -+#else
86.4299 -+#define STRUCT_VALUE_ADDRESS_WITH_ARG 0
86.4300 -+#endif
86.4301 -+
86.4302 -+.text
86.4303 -+
86.4304 -+ # r4: ffi_prep_args
86.4305 -+ # r5: &ecif
86.4306 -+ # r6: bytes
86.4307 -+ # r7: flags
86.4308 -+ # sp+0: rvalue
86.4309 -+ # sp+4: fn
86.4310 -+
86.4311 -+ # This assumes we are using gas.
86.4312 -+ENTRY(ffi_call_SYSV)
86.4313 -+ # Save registers
86.4314 -+.LFB1:
86.4315 -+ mov.l r8,@-r15
86.4316 -+.LCFI0:
86.4317 -+ mov.l r9,@-r15
86.4318 -+.LCFI1:
86.4319 -+ mov.l r10,@-r15
86.4320 -+.LCFI2:
86.4321 -+ mov.l r12,@-r15
86.4322 -+.LCFI3:
86.4323 -+ mov.l r14,@-r15
86.4324 -+.LCFI4:
86.4325 -+ sts.l pr,@-r15
86.4326 -+.LCFI5:
86.4327 -+ mov r15,r14
86.4328 -+.LCFI6:
86.4329 -+#if defined(__SH4__)
86.4330 -+ mov r6,r8
86.4331 -+ mov r7,r9
86.4332 -+
86.4333 -+ sub r6,r15
86.4334 -+ add #-16,r15
86.4335 -+ mov #~7,r0
86.4336 -+ and r0,r15
86.4337 -+
86.4338 -+ mov r4,r0
86.4339 -+ jsr @r0
86.4340 -+ mov r15,r4
86.4341 -+
86.4342 -+ mov r9,r1
86.4343 -+ shlr8 r9
86.4344 -+ shlr8 r9
86.4345 -+ shlr8 r9
86.4346 -+
86.4347 -+ mov #FFI_TYPE_STRUCT,r2
86.4348 -+ cmp/eq r2,r9
86.4349 -+ bf 1f
86.4350 -+#if STRUCT_VALUE_ADDRESS_WITH_ARG
86.4351 -+ mov.l @r15+,r4
86.4352 -+ bra 2f
86.4353 -+ mov #5,r2
86.4354 -+#else
86.4355 -+ mov.l @r15+,r10
86.4356 -+#endif
86.4357 -+1:
86.4358 -+ mov #4,r2
86.4359 -+2:
86.4360 -+ mov #4,r3
86.4361 -+
86.4362 -+L_pass:
86.4363 -+ cmp/pl r8
86.4364 -+ bf L_call_it
86.4365 -+
86.4366 -+ mov r1,r0
86.4367 -+ and #3,r0
86.4368 -+
86.4369 -+L_pass_d:
86.4370 -+ cmp/eq #FFI_TYPE_DOUBLE,r0
86.4371 -+ bf L_pass_f
86.4372 -+
86.4373 -+ mov r3,r0
86.4374 -+ and #1,r0
86.4375 -+ tst r0,r0
86.4376 -+ bt 1f
86.4377 -+ add #1,r3
86.4378 -+1:
86.4379 -+ mov r15,r0
86.4380 -+ and #7,r0
86.4381 -+ tst r0,r0
86.4382 -+ bt 2f
86.4383 -+ add #4,r15
86.4384 -+2:
86.4385 -+ mov #12,r0
86.4386 -+ cmp/hs r0,r3
86.4387 -+ bt/s 3f
86.4388 -+ shlr2 r1
86.4389 -+ bsr L_pop_d
86.4390 -+ nop
86.4391 -+3:
86.4392 -+ add #2,r3
86.4393 -+ bra L_pass
86.4394 -+ add #-8,r8
86.4395 -+
86.4396 -+L_pop_d:
86.4397 -+ mov r3,r0
86.4398 -+ add r0,r0
86.4399 -+ add r3,r0
86.4400 -+ add #-12,r0
86.4401 -+ braf r0
86.4402 -+ nop
86.4403 -+#ifdef __LITTLE_ENDIAN__
86.4404 -+ fmov.s @r15+,fr5
86.4405 -+ rts
86.4406 -+ fmov.s @r15+,fr4
86.4407 -+ fmov.s @r15+,fr7
86.4408 -+ rts
86.4409 -+ fmov.s @r15+,fr6
86.4410 -+ fmov.s @r15+,fr9
86.4411 -+ rts
86.4412 -+ fmov.s @r15+,fr8
86.4413 -+ fmov.s @r15+,fr11
86.4414 -+ rts
86.4415 -+ fmov.s @r15+,fr10
86.4416 -+#else
86.4417 -+ fmov.s @r15+,fr4
86.4418 -+ rts
86.4419 -+ fmov.s @r15+,fr5
86.4420 -+ fmov.s @r15+,fr6
86.4421 -+ rts
86.4422 -+ fmov.s @r15+,fr7
86.4423 -+ fmov.s @r15+,fr8
86.4424 -+ rts
86.4425 -+ fmov.s @r15+,fr9
86.4426 -+ fmov.s @r15+,fr10
86.4427 -+ rts
86.4428 -+ fmov.s @r15+,fr11
86.4429 -+#endif
86.4430 -+
86.4431 -+L_pass_f:
86.4432 -+ cmp/eq #FFI_TYPE_FLOAT,r0
86.4433 -+ bf L_pass_i
86.4434 -+
86.4435 -+ mov #12,r0
86.4436 -+ cmp/hs r0,r3
86.4437 -+ bt/s 2f
86.4438 -+ shlr2 r1
86.4439 -+ bsr L_pop_f
86.4440 -+ nop
86.4441 -+2:
86.4442 -+ add #1,r3
86.4443 -+ bra L_pass
86.4444 -+ add #-4,r8
86.4445 -+
86.4446 -+L_pop_f:
86.4447 -+ mov r3,r0
86.4448 -+ shll2 r0
86.4449 -+ add #-16,r0
86.4450 -+ braf r0
86.4451 -+ nop
86.4452 -+#ifdef __LITTLE_ENDIAN__
86.4453 -+ rts
86.4454 -+ fmov.s @r15+,fr5
86.4455 -+ rts
86.4456 -+ fmov.s @r15+,fr4
86.4457 -+ rts
86.4458 -+ fmov.s @r15+,fr7
86.4459 -+ rts
86.4460 -+ fmov.s @r15+,fr6
86.4461 -+ rts
86.4462 -+ fmov.s @r15+,fr9
86.4463 -+ rts
86.4464 -+ fmov.s @r15+,fr8
86.4465 -+ rts
86.4466 -+ fmov.s @r15+,fr11
86.4467 -+ rts
86.4468 -+ fmov.s @r15+,fr10
86.4469 -+#else
86.4470 -+ rts
86.4471 -+ fmov.s @r15+,fr4
86.4472 -+ rts
86.4473 -+ fmov.s @r15+,fr5
86.4474 -+ rts
86.4475 -+ fmov.s @r15+,fr6
86.4476 -+ rts
86.4477 -+ fmov.s @r15+,fr7
86.4478 -+ rts
86.4479 -+ fmov.s @r15+,fr8
86.4480 -+ rts
86.4481 -+ fmov.s @r15+,fr9
86.4482 -+ rts
86.4483 -+ fmov.s @r15+,fr10
86.4484 -+ rts
86.4485 -+ fmov.s @r15+,fr11
86.4486 -+#endif
86.4487 -+
86.4488 -+L_pass_i:
86.4489 -+ cmp/eq #FFI_TYPE_INT,r0
86.4490 -+ bf L_call_it
86.4491 -+
86.4492 -+ mov #8,r0
86.4493 -+ cmp/hs r0,r2
86.4494 -+ bt/s 2f
86.4495 -+ shlr2 r1
86.4496 -+ bsr L_pop_i
86.4497 -+ nop
86.4498 -+2:
86.4499 -+ add #1,r2
86.4500 -+ bra L_pass
86.4501 -+ add #-4,r8
86.4502 -+
86.4503 -+L_pop_i:
86.4504 -+ mov r2,r0
86.4505 -+ shll2 r0
86.4506 -+ add #-16,r0
86.4507 -+ braf r0
86.4508 -+ nop
86.4509 -+ rts
86.4510 -+ mov.l @r15+,r4
86.4511 -+ rts
86.4512 -+ mov.l @r15+,r5
86.4513 -+ rts
86.4514 -+ mov.l @r15+,r6
86.4515 -+ rts
86.4516 -+ mov.l @r15+,r7
86.4517 -+
86.4518 -+L_call_it:
86.4519 -+ # call function
86.4520 -+#if (! STRUCT_VALUE_ADDRESS_WITH_ARG)
86.4521 -+ mov r10, r2
86.4522 -+#endif
86.4523 -+ mov.l @(28,r14),r1
86.4524 -+ jsr @r1
86.4525 -+ nop
86.4526 -+
86.4527 -+L_ret_d:
86.4528 -+ mov #FFI_TYPE_DOUBLE,r2
86.4529 -+ cmp/eq r2,r9
86.4530 -+ bf L_ret_ll
86.4531 -+
86.4532 -+ mov.l @(24,r14),r1
86.4533 -+#ifdef __LITTLE_ENDIAN__
86.4534 -+ fmov.s fr1,@r1
86.4535 -+ add #4,r1
86.4536 -+ bra L_epilogue
86.4537 -+ fmov.s fr0,@r1
86.4538 -+#else
86.4539 -+ fmov.s fr0,@r1
86.4540 -+ add #4,r1
86.4541 -+ bra L_epilogue
86.4542 -+ fmov.s fr1,@r1
86.4543 -+#endif
86.4544 -+
86.4545 -+L_ret_ll:
86.4546 -+ mov #FFI_TYPE_SINT64,r2
86.4547 -+ cmp/eq r2,r9
86.4548 -+ bt/s 1f
86.4549 -+ mov #FFI_TYPE_UINT64,r2
86.4550 -+ cmp/eq r2,r9
86.4551 -+ bf L_ret_f
86.4552 -+
86.4553 -+1:
86.4554 -+ mov.l @(24,r14),r2
86.4555 -+ mov.l r0,@r2
86.4556 -+ bra L_epilogue
86.4557 -+ mov.l r1,@(4,r2)
86.4558 -+
86.4559 -+L_ret_f:
86.4560 -+ mov #FFI_TYPE_FLOAT,r2
86.4561 -+ cmp/eq r2,r9
86.4562 -+ bf L_ret_i
86.4563 -+
86.4564 -+ mov.l @(24,r14),r1
86.4565 -+ bra L_epilogue
86.4566 -+ fmov.s fr0,@r1
86.4567 -+
86.4568 -+L_ret_i:
86.4569 -+ mov #FFI_TYPE_INT,r2
86.4570 -+ cmp/eq r2,r9
86.4571 -+ bf L_epilogue
86.4572 -+
86.4573 -+ mov.l @(24,r14),r1
86.4574 -+ bra L_epilogue
86.4575 -+ mov.l r0,@r1
86.4576 -+
86.4577 -+L_epilogue:
86.4578 -+ # Remove the space we pushed for the args
86.4579 -+ mov r14,r15
86.4580 -+
86.4581 -+ lds.l @r15+,pr
86.4582 -+ mov.l @r15+,r14
86.4583 -+ mov.l @r15+,r12
86.4584 -+ mov.l @r15+,r10
86.4585 -+ mov.l @r15+,r9
86.4586 -+ rts
86.4587 -+ mov.l @r15+,r8
86.4588 -+#else
86.4589 -+ mov r6,r8
86.4590 -+ mov r7,r9
86.4591 -+
86.4592 -+ sub r6,r15
86.4593 -+ add #-16,r15
86.4594 -+ mov #~7,r0
86.4595 -+ and r0,r15
86.4596 -+
86.4597 -+ mov r4,r0
86.4598 -+ jsr @r0
86.4599 -+ mov r15,r4
86.4600 -+
86.4601 -+ mov r9,r3
86.4602 -+ shlr8 r9
86.4603 -+ shlr8 r9
86.4604 -+ shlr8 r9
86.4605 -+
86.4606 -+ mov #FFI_TYPE_STRUCT,r2
86.4607 -+ cmp/eq r2,r9
86.4608 -+ bf 1f
86.4609 -+#if STRUCT_VALUE_ADDRESS_WITH_ARG
86.4610 -+ mov.l @r15+,r4
86.4611 -+ bra 2f
86.4612 -+ mov #5,r2
86.4613 -+#else
86.4614 -+ mov.l @r15+,r10
86.4615 -+#endif
86.4616 -+1:
86.4617 -+ mov #4,r2
86.4618 -+2:
86.4619 -+
86.4620 -+L_pass:
86.4621 -+ cmp/pl r8
86.4622 -+ bf L_call_it
86.4623 -+
86.4624 -+ mov r3,r0
86.4625 -+ and #3,r0
86.4626 -+
86.4627 -+L_pass_d:
86.4628 -+ cmp/eq #FFI_TYPE_DOUBLE,r0
86.4629 -+ bf L_pass_i
86.4630 -+
86.4631 -+ mov r15,r0
86.4632 -+ and #7,r0
86.4633 -+ tst r0,r0
86.4634 -+ bt 1f
86.4635 -+ add #4,r15
86.4636 -+1:
86.4637 -+ mov #8,r0
86.4638 -+ cmp/hs r0,r2
86.4639 -+ bt/s 2f
86.4640 -+ shlr2 r3
86.4641 -+ bsr L_pop_d
86.4642 -+ nop
86.4643 -+2:
86.4644 -+ add #2,r2
86.4645 -+ bra L_pass
86.4646 -+ add #-8,r8
86.4647 -+
86.4648 -+L_pop_d:
86.4649 -+ mov r2,r0
86.4650 -+ add r0,r0
86.4651 -+ add r2,r0
86.4652 -+ add #-12,r0
86.4653 -+ add r0,r0
86.4654 -+ braf r0
86.4655 -+ nop
86.4656 -+ mov.l @r15+,r4
86.4657 -+ rts
86.4658 -+ mov.l @r15+,r5
86.4659 -+ mov.l @r15+,r5
86.4660 -+ rts
86.4661 -+ mov.l @r15+,r6
86.4662 -+ mov.l @r15+,r6
86.4663 -+ rts
86.4664 -+ mov.l @r15+,r7
86.4665 -+ rts
86.4666 -+ mov.l @r15+,r7
86.4667 -+
86.4668 -+L_pass_i:
86.4669 -+ mov #8,r0
86.4670 -+ cmp/hs r0,r2
86.4671 -+ bt/s 2f
86.4672 -+ shlr2 r3
86.4673 -+ bsr L_pop_i
86.4674 -+ nop
86.4675 -+2:
86.4676 -+ add #1,r2
86.4677 -+ bra L_pass
86.4678 -+ add #-4,r8
86.4679 -+
86.4680 -+L_pop_i:
86.4681 -+ mov r2,r0
86.4682 -+ shll2 r0
86.4683 -+ add #-16,r0
86.4684 -+ braf r0
86.4685 -+ nop
86.4686 -+ rts
86.4687 -+ mov.l @r15+,r4
86.4688 -+ rts
86.4689 -+ mov.l @r15+,r5
86.4690 -+ rts
86.4691 -+ mov.l @r15+,r6
86.4692 -+ rts
86.4693 -+ mov.l @r15+,r7
86.4694 -+
86.4695 -+L_call_it:
86.4696 -+ # call function
86.4697 -+#if (! STRUCT_VALUE_ADDRESS_WITH_ARG)
86.4698 -+ mov r10, r2
86.4699 -+#endif
86.4700 -+ mov.l @(28,r14),r1
86.4701 -+ jsr @r1
86.4702 -+ nop
86.4703 -+
86.4704 -+L_ret_d:
86.4705 -+ mov #FFI_TYPE_DOUBLE,r2
86.4706 -+ cmp/eq r2,r9
86.4707 -+ bf L_ret_ll
86.4708 -+
86.4709 -+ mov.l @(24,r14),r2
86.4710 -+ mov.l r0,@r2
86.4711 -+ bra L_epilogue
86.4712 -+ mov.l r1,@(4,r2)
86.4713 -+
86.4714 -+L_ret_ll:
86.4715 -+ mov #FFI_TYPE_SINT64,r2
86.4716 -+ cmp/eq r2,r9
86.4717 -+ bt/s 1f
86.4718 -+ mov #FFI_TYPE_UINT64,r2
86.4719 -+ cmp/eq r2,r9
86.4720 -+ bf L_ret_i
86.4721 -+
86.4722 -+1:
86.4723 -+ mov.l @(24,r14),r2
86.4724 -+ mov.l r0,@r2
86.4725 -+ bra L_epilogue
86.4726 -+ mov.l r1,@(4,r2)
86.4727 -+
86.4728 -+L_ret_i:
86.4729 -+ mov #FFI_TYPE_FLOAT,r2
86.4730 -+ cmp/eq r2,r9
86.4731 -+ bt 1f
86.4732 -+ mov #FFI_TYPE_INT,r2
86.4733 -+ cmp/eq r2,r9
86.4734 -+ bf L_epilogue
86.4735 -+1:
86.4736 -+ mov.l @(24,r14),r1
86.4737 -+ bra L_epilogue
86.4738 -+ mov.l r0,@r1
86.4739 -+
86.4740 -+L_epilogue:
86.4741 -+ # Remove the space we pushed for the args
86.4742 -+ mov r14,r15
86.4743 -+
86.4744 -+ lds.l @r15+,pr
86.4745 -+ mov.l @r15+,r14
86.4746 -+ mov.l @r15+,r12
86.4747 -+ mov.l @r15+,r10
86.4748 -+ mov.l @r15+,r9
86.4749 -+ rts
86.4750 -+ mov.l @r15+,r8
86.4751 -+#endif
86.4752 -+.LFE1:
86.4753 -+.ffi_call_SYSV_end:
86.4754 -+ .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV)
86.4755 -+
86.4756 -+.globl ffi_closure_helper_SYSV
86.4757 -+
86.4758 -+ENTRY(ffi_closure_SYSV)
86.4759 -+.LFB2:
86.4760 -+ mov.l r14,@-r15
86.4761 -+.LCFI7:
86.4762 -+ sts.l pr,@-r15
86.4763 -+
86.4764 -+ /* Stack layout:
86.4765 -+ ...
86.4766 -+ 32 bytes (floating register parameters, SH-4 only)
86.4767 -+ 16 bytes (register parameters)
86.4768 -+ 4 bytes (result)
86.4769 -+ 4 bytes (5th arg)
86.4770 -+ <- new stack pointer
86.4771 -+ */
86.4772 -+.LCFI8:
86.4773 -+#if defined(__SH4__)
86.4774 -+ add #-56,r15
86.4775 -+#else
86.4776 -+ add #-24,r15
86.4777 -+#endif
86.4778 -+.LCFI9:
86.4779 -+ mov r15,r14
86.4780 -+.LCFIA:
86.4781 -+ mov r14,r1
86.4782 -+ add #24,r1
86.4783 -+ mov.l r7,@-r1
86.4784 -+ mov.l r6,@-r1
86.4785 -+ mov.l r5,@-r1
86.4786 -+ mov.l r4,@-r1
86.4787 -+ mov r1,r6
86.4788 -+
86.4789 -+#if defined(__SH4__)
86.4790 -+ mov r14,r1
86.4791 -+ add #56,r1
86.4792 -+#ifdef __LITTLE_ENDIAN__
86.4793 -+ fmov.s fr10,@-r1
86.4794 -+ fmov.s fr11,@-r1
86.4795 -+ fmov.s fr8,@-r1
86.4796 -+ fmov.s fr9,@-r1
86.4797 -+ fmov.s fr6,@-r1
86.4798 -+ fmov.s fr7,@-r1
86.4799 -+ fmov.s fr4,@-r1
86.4800 -+ fmov.s fr5,@-r1
86.4801 -+#else
86.4802 -+ fmov.s fr11,@-r1
86.4803 -+ fmov.s fr10,@-r1
86.4804 -+ fmov.s fr9,@-r1
86.4805 -+ fmov.s fr8,@-r1
86.4806 -+ fmov.s fr7,@-r1
86.4807 -+ fmov.s fr6,@-r1
86.4808 -+ fmov.s fr5,@-r1
86.4809 -+ fmov.s fr4,@-r1
86.4810 -+#endif
86.4811 -+ mov r1,r7
86.4812 -+#endif
86.4813 -+
86.4814 -+ mov r14,r1
86.4815 -+ add #4,r1
86.4816 -+ mov r1,r5
86.4817 -+
86.4818 -+ mov r14,r1
86.4819 -+#if defined(__SH4__)
86.4820 -+ add #64,r1
86.4821 -+#else
86.4822 -+ add #32,r1
86.4823 -+#endif
86.4824 -+ mov.l r1,@r14
86.4825 -+
86.4826 -+ mov.l L_helper,r0
86.4827 -+ jsr @r0
86.4828 -+ mov r3,r4
86.4829 -+
86.4830 -+ shll r0
86.4831 -+ mov r0,r1
86.4832 -+ mova L_table,r0
86.4833 -+ add r1,r0
86.4834 -+ mov.w @r0,r0
86.4835 -+ mov r14,r2
86.4836 -+ braf r0
86.4837 -+ add #4,r2
86.4838 -+0:
86.4839 -+ .align 2
86.4840 -+L_helper:
86.4841 -+ .long ffi_closure_helper_SYSV
86.4842 -+L_table:
86.4843 -+ .short L_case_v - 0b /* FFI_TYPE_VOID */
86.4844 -+ .short L_case_i - 0b /* FFI_TYPE_INT */
86.4845 -+#if defined(__SH4__)
86.4846 -+ .short L_case_f - 0b /* FFI_TYPE_FLOAT */
86.4847 -+ .short L_case_d - 0b /* FFI_TYPE_DOUBLE */
86.4848 -+ .short L_case_d - 0b /* FFI_TYPE_LONGDOUBLE */
86.4849 -+#else
86.4850 -+ .short L_case_i - 0b /* FFI_TYPE_FLOAT */
86.4851 -+ .short L_case_ll - 0b /* FFI_TYPE_DOUBLE */
86.4852 -+ .short L_case_ll - 0b /* FFI_TYPE_LONGDOUBLE */
86.4853 -+#endif
86.4854 -+ .short L_case_uq - 0b /* FFI_TYPE_UINT8 */
86.4855 -+ .short L_case_q - 0b /* FFI_TYPE_SINT8 */
86.4856 -+ .short L_case_uh - 0b /* FFI_TYPE_UINT16 */
86.4857 -+ .short L_case_h - 0b /* FFI_TYPE_SINT16 */
86.4858 -+ .short L_case_i - 0b /* FFI_TYPE_UINT32 */
86.4859 -+ .short L_case_i - 0b /* FFI_TYPE_SINT32 */
86.4860 -+ .short L_case_ll - 0b /* FFI_TYPE_UINT64 */
86.4861 -+ .short L_case_ll - 0b /* FFI_TYPE_SINT64 */
86.4862 -+ .short L_case_v - 0b /* FFI_TYPE_STRUCT */
86.4863 -+ .short L_case_i - 0b /* FFI_TYPE_POINTER */
86.4864 -+
86.4865 -+#if defined(__SH4__)
86.4866 -+L_case_d:
86.4867 -+#ifdef __LITTLE_ENDIAN__
86.4868 -+ fmov.s @r2+,fr1
86.4869 -+ bra L_case_v
86.4870 -+ fmov.s @r2,fr0
86.4871 -+#else
86.4872 -+ fmov.s @r2+,fr0
86.4873 -+ bra L_case_v
86.4874 -+ fmov.s @r2,fr1
86.4875 -+#endif
86.4876 -+
86.4877 -+L_case_f:
86.4878 -+ bra L_case_v
86.4879 -+ fmov.s @r2,fr0
86.4880 -+#endif
86.4881 -+
86.4882 -+L_case_ll:
86.4883 -+ mov.l @r2+,r0
86.4884 -+ bra L_case_v
86.4885 -+ mov.l @r2,r1
86.4886 -+
86.4887 -+L_case_i:
86.4888 -+ bra L_case_v
86.4889 -+ mov.l @r2,r0
86.4890 -+
86.4891 -+L_case_q:
86.4892 -+#ifdef __LITTLE_ENDIAN__
86.4893 -+#else
86.4894 -+ add #3,r2
86.4895 -+#endif
86.4896 -+ bra L_case_v
86.4897 -+ mov.b @r2,r0
86.4898 -+
86.4899 -+L_case_uq:
86.4900 -+#ifdef __LITTLE_ENDIAN__
86.4901 -+#else
86.4902 -+ add #3,r2
86.4903 -+#endif
86.4904 -+ mov.b @r2,r0
86.4905 -+ bra L_case_v
86.4906 -+ extu.b r0,r0
86.4907 -+
86.4908 -+L_case_h:
86.4909 -+#ifdef __LITTLE_ENDIAN__
86.4910 -+#else
86.4911 -+ add #2,r2
86.4912 -+#endif
86.4913 -+ bra L_case_v
86.4914 -+ mov.w @r2,r0
86.4915 -+
86.4916 -+L_case_uh:
86.4917 -+#ifdef __LITTLE_ENDIAN__
86.4918 -+#else
86.4919 -+ add #2,r2
86.4920 -+#endif
86.4921 -+ mov.w @r2,r0
86.4922 -+ extu.w r0,r0
86.4923 -+ /* fall through */
86.4924 -+
86.4925 -+L_case_v:
86.4926 -+#if defined(__SH4__)
86.4927 -+ add #56,r15
86.4928 -+#else
86.4929 -+ add #24,r15
86.4930 -+#endif
86.4931 -+ lds.l @r15+,pr
86.4932 -+ rts
86.4933 -+ mov.l @r15+,r14
86.4934 -+.LFE2:
86.4935 -+.ffi_closure_SYSV_end:
86.4936 -+ .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
86.4937 -+
86.4938 -+ .section ".eh_frame","aw",@progbits
86.4939 -+__FRAME_BEGIN__:
86.4940 -+ .4byte .LECIE1-.LSCIE1 /* Length of Common Information Entry */
86.4941 -+.LSCIE1:
86.4942 -+ .4byte 0x0 /* CIE Identifier Tag */
86.4943 -+ .byte 0x1 /* CIE Version */
86.4944 -+ .byte 0x0 /* CIE Augmentation */
86.4945 -+ .byte 0x1 /* uleb128 0x1; CIE Code Alignment Factor */
86.4946 -+ .byte 0x7c /* sleb128 -4; CIE Data Alignment Factor */
86.4947 -+ .byte 0x11 /* CIE RA Column */
86.4948 -+ .byte 0xc /* DW_CFA_def_cfa */
86.4949 -+ .byte 0xf /* uleb128 0xf */
86.4950 -+ .byte 0x0 /* uleb128 0x0 */
86.4951 -+ .align 2
86.4952 -+.LECIE1:
86.4953 -+.LSFDE1:
86.4954 -+ .4byte .LEFDE1-.LASFDE1 /* FDE Length */
86.4955 -+.LASFDE1:
86.4956 -+ .4byte .LASFDE1-__FRAME_BEGIN__ /* FDE CIE offset */
86.4957 -+ .4byte .LFB1 /* FDE initial location */
86.4958 -+ .4byte .LFE1-.LFB1 /* FDE address range */
86.4959 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4960 -+ .4byte .LCFI0-.LFB1
86.4961 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4962 -+ .byte 0x4 /* uleb128 0x4 */
86.4963 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4964 -+ .4byte .LCFI1-.LCFI0
86.4965 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4966 -+ .byte 0x8 /* uleb128 0x4 */
86.4967 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4968 -+ .4byte .LCFI2-.LCFI1
86.4969 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4970 -+ .byte 0xc /* uleb128 0x4 */
86.4971 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4972 -+ .4byte .LCFI3-.LCFI2
86.4973 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4974 -+ .byte 0x10 /* uleb128 0x4 */
86.4975 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4976 -+ .4byte .LCFI4-.LCFI3
86.4977 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4978 -+ .byte 0x14 /* uleb128 0x4 */
86.4979 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4980 -+ .4byte .LCFI5-.LCFI4
86.4981 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.4982 -+ .byte 0x18 /* uleb128 0x4 */
86.4983 -+ .byte 0x91 /* DW_CFA_offset, column 0x11 */
86.4984 -+ .byte 0x6 /* uleb128 0x6 */
86.4985 -+ .byte 0x8e /* DW_CFA_offset, column 0xe */
86.4986 -+ .byte 0x5 /* uleb128 0x5 */
86.4987 -+ .byte 0x8c /* DW_CFA_offset, column 0xc */
86.4988 -+ .byte 0x4 /* uleb128 0x4 */
86.4989 -+ .byte 0x8a /* DW_CFA_offset, column 0xa */
86.4990 -+ .byte 0x3 /* uleb128 0x3 */
86.4991 -+ .byte 0x89 /* DW_CFA_offset, column 0x9 */
86.4992 -+ .byte 0x2 /* uleb128 0x2 */
86.4993 -+ .byte 0x88 /* DW_CFA_offset, column 0x8 */
86.4994 -+ .byte 0x1 /* uleb128 0x1 */
86.4995 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.4996 -+ .4byte .LCFI6-.LCFI5
86.4997 -+ .byte 0xd /* DW_CFA_def_cfa_register */
86.4998 -+ .byte 0xe /* uleb128 0xe */
86.4999 -+ .align 2
86.5000 -+.LEFDE1:
86.5001 -+
86.5002 -+.LSFDE3:
86.5003 -+ .4byte .LEFDE3-.LASFDE3 /* FDE Length */
86.5004 -+.LASFDE3:
86.5005 -+ .4byte .LASFDE3-__FRAME_BEGIN__ /* FDE CIE offset */
86.5006 -+ .4byte .LFB2 /* FDE initial location */
86.5007 -+ .4byte .LFE2-.LFB2 /* FDE address range */
86.5008 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.5009 -+ .4byte .LCFI7-.LFB2
86.5010 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.5011 -+ .byte 0x4 /* uleb128 0x4 */
86.5012 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.5013 -+ .4byte .LCFI8-.LCFI7
86.5014 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.5015 -+ .byte 0x8 /* uleb128 0x8 */
86.5016 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.5017 -+ .4byte .LCFI9-.LCFI8
86.5018 -+ .byte 0xe /* DW_CFA_def_cfa_offset */
86.5019 -+#if defined(__SH4__)
86.5020 -+ .byte 8+56 /* uleb128 8+56 */
86.5021 -+#else
86.5022 -+ .byte 8+24 /* uleb128 8+24 */
86.5023 -+#endif
86.5024 -+ .byte 0x91 /* DW_CFA_offset, column 0x11 */
86.5025 -+ .byte 0x2
86.5026 -+ .byte 0x8e /* DW_CFA_offset, column 0xe */
86.5027 -+ .byte 0x1
86.5028 -+ .byte 0x4 /* DW_CFA_advance_loc4 */
86.5029 -+ .4byte .LCFIA-.LCFI9
86.5030 -+ .byte 0xd /* DW_CFA_def_cfa_register */
86.5031 -+ .byte 0xe /* uleb128 0xe */
86.5032 -+ .align 2
86.5033 -+.LEFDE3:
86.5034 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/sparc/ffi.c gcc/libffi/src/sparc/ffi.c
86.5035 ---- gcc-3.2.2.orig/libffi/src/sparc/ffi.c Sat Mar 3 07:21:23 2001
86.5036 -+++ gcc/libffi/src/sparc/ffi.c Sat Jan 4 08:08:56 2003
86.5037 -@@ -1,5 +1,5 @@
86.5038 - /* -----------------------------------------------------------------------
86.5039 -- ffi.c - Copyright (c) 1996 Cygnus Solutions
86.5040 -+ ffi.c - Copyright (c) 1996, 2003 Cygnus Solutions
86.5041 -
86.5042 - Sparc Foreign Function Interface
86.5043 -
86.5044 -@@ -28,20 +28,22 @@
86.5045 -
86.5046 - #include <stdlib.h>
86.5047 -
86.5048 -+#ifdef SPARC64
86.5049 -+extern void ffi_closure_v9(void);
86.5050 -+#else
86.5051 -+extern void ffi_closure_v8(void);
86.5052 -+#endif
86.5053 -+
86.5054 - /* ffi_prep_args is called by the assembly routine once stack space
86.5055 - has been allocated for the function's arguments */
86.5056 -
86.5057 - void ffi_prep_args_v8(char *stack, extended_cif *ecif)
86.5058 - {
86.5059 - int i;
86.5060 -- int tmp;
86.5061 -- int avn;
86.5062 - void **p_argv;
86.5063 - char *argp;
86.5064 - ffi_type **p_arg;
86.5065 -
86.5066 -- tmp = 0;
86.5067 --
86.5068 - /* Skip 16 words for the window save area */
86.5069 - argp = stack + 16*sizeof(int);
86.5070 -
86.5071 -@@ -66,18 +68,12 @@
86.5072 - ((int*)argp)[5] = 0;
86.5073 - #endif
86.5074 -
86.5075 -- avn = ecif->cif->nargs;
86.5076 - p_argv = ecif->avalue;
86.5077 -
86.5078 -- for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types;
86.5079 -- i && avn;
86.5080 -- i--, p_arg++)
86.5081 -+ for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; i; i--, p_arg++)
86.5082 - {
86.5083 - size_t z;
86.5084 -
86.5085 -- if (avn)
86.5086 -- {
86.5087 -- avn--;
86.5088 - if ((*p_arg)->type == FFI_TYPE_STRUCT
86.5089 - #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
86.5090 - || (*p_arg)->type == FFI_TYPE_LONGDOUBLE
86.5091 -@@ -122,7 +118,6 @@
86.5092 - }
86.5093 - p_argv++;
86.5094 - argp += z;
86.5095 -- }
86.5096 - }
86.5097 -
86.5098 - return;
86.5099 -@@ -420,3 +415,101 @@
86.5100 - }
86.5101 -
86.5102 - }
86.5103 -+
86.5104 -+ffi_status
86.5105 -+ffi_prep_closure (ffi_closure* closure,
86.5106 -+ ffi_cif* cif,
86.5107 -+ void (*fun)(ffi_cif*, void*, void**, void*),
86.5108 -+ void *user_data)
86.5109 -+{
86.5110 -+ unsigned int *tramp = (unsigned int *) &closure->tramp[0];
86.5111 -+ unsigned long fn;
86.5112 -+ unsigned long ctx = (unsigned long) closure;
86.5113 -+
86.5114 -+#ifdef SPARC64
86.5115 -+ /* Trampoline address is equal to the closure address. We take advantage
86.5116 -+ of that to reduce the trampoline size by 8 bytes. */
86.5117 -+ FFI_ASSERT (cif->abi == FFI_V9);
86.5118 -+ fn = (unsigned long) ffi_closure_v9;
86.5119 -+ tramp[0] = 0x83414000; /* rd %pc, %g1 */
86.5120 -+ tramp[1] = 0xca586010; /* ldx [%g1+16], %g5 */
86.5121 -+ tramp[2] = 0x81c14000; /* jmp %g5 */
86.5122 -+ tramp[3] = 0x01000000; /* nop */
86.5123 -+ *((unsigned long *) &tramp[4]) = fn;
86.5124 -+#else
86.5125 -+ FFI_ASSERT (cif->abi == FFI_V8);
86.5126 -+ fn = (unsigned long) ffi_closure_v8;
86.5127 -+ tramp[0] = 0x03000000 | fn >> 10; /* sethi %hi(fn), %g1 */
86.5128 -+ tramp[1] = 0x05000000 | ctx >> 10; /* sethi %hi(ctx), %g2 */
86.5129 -+ tramp[2] = 0x81c06000 | (fn & 0x3ff); /* jmp %g1+%lo(fn) */
86.5130 -+ tramp[3] = 0x8410a000 | (ctx & 0x3ff);/* or %g2, %lo(ctx) */
86.5131 -+#endif
86.5132 -+
86.5133 -+ closure->cif = cif;
86.5134 -+ closure->fun = fun;
86.5135 -+ closure->user_data = user_data;
86.5136 -+
86.5137 -+ /* Flush the Icache. FIXME: alignment isn't certain, assume 8 bytes */
86.5138 -+#ifdef SPARC64
86.5139 -+ asm volatile ("flush %0" : : "r" (closure) : "memory");
86.5140 -+ asm volatile ("flush %0" : : "r" (((char *) closure) + 8) : "memory");
86.5141 -+#else
86.5142 -+ asm volatile ("iflush %0" : : "r" (closure) : "memory");
86.5143 -+ asm volatile ("iflush %0" : : "r" (((char *) closure) + 8) : "memory");
86.5144 -+#endif
86.5145 -+
86.5146 -+ return FFI_OK;
86.5147 -+}
86.5148 -+
86.5149 -+int
86.5150 -+ffi_closure_sparc_inner(ffi_closure *closure,
86.5151 -+ void *rvalue, unsigned long *gpr, double *fpr)
86.5152 -+{
86.5153 -+ ffi_cif *cif;
86.5154 -+ void **avalue;
86.5155 -+ ffi_type **arg_types;
86.5156 -+ int i, avn, argn;
86.5157 -+
86.5158 -+ cif = closure->cif;
86.5159 -+ avalue = alloca(cif->nargs * sizeof(void *));
86.5160 -+
86.5161 -+ argn = 0;
86.5162 -+
86.5163 -+ /* Copy the caller's structure return address to that the closure
86.5164 -+ returns the data directly to the caller. */
86.5165 -+ if (cif->flags == FFI_TYPE_STRUCT)
86.5166 -+ {
86.5167 -+ rvalue = (void *) gpr[0];
86.5168 -+ argn = 1;
86.5169 -+ }
86.5170 -+
86.5171 -+ i = 0;
86.5172 -+ avn = cif->nargs;
86.5173 -+ arg_types = cif->arg_types;
86.5174 -+
86.5175 -+ /* Grab the addresses of the arguments from the stack frame. */
86.5176 -+ while (i < avn)
86.5177 -+ {
86.5178 -+ /* Assume big-endian. FIXME */
86.5179 -+ argn += ALIGN(arg_types[i]->size, SIZEOF_ARG) / SIZEOF_ARG;
86.5180 -+
86.5181 -+#ifdef SPARC64
86.5182 -+ if (i < 6 && (arg_types[i]->type == FFI_TYPE_FLOAT
86.5183 -+ || arg_types[i]->type == FFI_TYPE_DOUBLE
86.5184 -+#if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
86.5185 -+ || arg_types[i]->type == FFI_TYPE_LONGDOUBLE
86.5186 -+#endif
86.5187 -+ ))
86.5188 -+ avalue[i] = ((char *) &fpr[argn]) - arg_types[i]->size;
86.5189 -+ else
86.5190 -+#endif
86.5191 -+ avalue[i] = ((char *) &gpr[argn]) - arg_types[i]->size;
86.5192 -+ i++;
86.5193 -+ }
86.5194 -+
86.5195 -+ /* Invoke the closure. */
86.5196 -+ (closure->fun) (cif, rvalue, avalue, closure->user_data);
86.5197 -+
86.5198 -+ /* Tell ffi_closure_sparc how to perform return type promotions. */
86.5199 -+ return cif->rtype->type;
86.5200 -+}
86.5201 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/sparc/v8.S gcc/libffi/src/sparc/v8.S
86.5202 ---- gcc-3.2.2.orig/libffi/src/sparc/v8.S Mon Apr 29 05:12:04 2002
86.5203 -+++ gcc/libffi/src/sparc/v8.S Sat Jan 4 08:08:56 2003
86.5204 -@@ -1,5 +1,5 @@
86.5205 - /* -----------------------------------------------------------------------
86.5206 -- v8.S - Copyright (c) 1996, 1997 Cygnus Solutions
86.5207 -+ v8.S - Copyright (c) 1996, 1997, 2003 Cygnus Solutions
86.5208 -
86.5209 - Sparc Foreign Function Interface
86.5210 -
86.5211 -@@ -94,6 +94,72 @@
86.5212 - .ffi_call_V8_end:
86.5213 - .size ffi_call_V8,.ffi_call_V8_end-ffi_call_V8
86.5214 -
86.5215 -+
86.5216 -+#define STACKFRAME 104 /* 16*4 register window +
86.5217 -+ 1*4 struct return +
86.5218 -+ 6*4 args backing store +
86.5219 -+ 3*4 locals */
86.5220 -+
86.5221 -+/* ffi_closure_v8(...)
86.5222 -+
86.5223 -+ Receives the closure argument in %g2. */
86.5224 -+
86.5225 -+ .text
86.5226 -+ .align 8
86.5227 -+ .globl ffi_closure_v8
86.5228 -+
86.5229 -+ffi_closure_v8:
86.5230 -+ .register %g2, #scratch
86.5231 -+.LLFB2:
86.5232 -+ save %sp, -STACKFRAME, %sp
86.5233 -+.LLCFI1:
86.5234 -+
86.5235 -+ ! Store all of the potential argument registers in va_list format.
86.5236 -+ st %i0, [%fp+68+0]
86.5237 -+ st %i1, [%fp+68+4]
86.5238 -+ st %i2, [%fp+68+8]
86.5239 -+ st %i3, [%fp+68+12]
86.5240 -+ st %i4, [%fp+68+16]
86.5241 -+ st %i5, [%fp+68+20]
86.5242 -+
86.5243 -+ ! Call ffi_closure_sparc_inner to do the bulk of the work.
86.5244 -+ mov %g2, %o0
86.5245 -+ add %fp, -8, %o1
86.5246 -+ add %fp, 68, %o2
86.5247 -+ call ffi_closure_sparc_inner
86.5248 -+ mov 0, %o3
86.5249 -+
86.5250 -+ ! Load up the return value in the proper type.
86.5251 -+ cmp %o0, FFI_TYPE_VOID
86.5252 -+ be done1
86.5253 -+
86.5254 -+ cmp %o0, FFI_TYPE_FLOAT
86.5255 -+ be,a done1
86.5256 -+ ld [%fp-8], %f0
86.5257 -+
86.5258 -+ cmp %o0, FFI_TYPE_DOUBLE
86.5259 -+ be,a done1
86.5260 -+ ldd [%fp-8], %f0
86.5261 -+
86.5262 -+ cmp %o0, FFI_TYPE_SINT64
86.5263 -+ be,a integer
86.5264 -+ ld [%fp-4], %i1
86.5265 -+
86.5266 -+ cmp %o0, FFI_TYPE_UINT64
86.5267 -+ be,a integer
86.5268 -+ ld [%fp-4], %i1
86.5269 -+
86.5270 -+integer:
86.5271 -+ ld [%fp-8], %i0
86.5272 -+
86.5273 -+done1:
86.5274 -+ ret
86.5275 -+ restore
86.5276 -+.LLFE2:
86.5277 -+
86.5278 -+.ffi_closure_v8_end:
86.5279 -+ .size ffi_closure_v8,.ffi_closure_v8_end-ffi_closure_v8
86.5280 -+
86.5281 - #ifdef SPARC64
86.5282 - #define WS 8
86.5283 - #define nword xword
86.5284 -@@ -148,3 +214,26 @@
86.5285 - .byte 0x1f ! uleb128 0x1f
86.5286 - .align WS
86.5287 - .LLEFDE1:
86.5288 -+.LLSFDE2:
86.5289 -+ .uaword .LLEFDE2-.LLASFDE2 ! FDE Length
86.5290 -+.LLASFDE2:
86.5291 -+ .uaword .LLASFDE2-.LLframe1 ! FDE CIE offset
86.5292 -+#ifdef HAVE_AS_SPARC_UA_PCREL
86.5293 -+ .uaword %r_disp32(.LLFB2)
86.5294 -+ .uaword .LLFE2-.LLFB2 ! FDE address range
86.5295 -+#else
86.5296 -+ .align WS
86.5297 -+ .nword .LLFB2
86.5298 -+ .uanword .LLFE2-.LLFB2 ! FDE address range
86.5299 -+#endif
86.5300 -+ .byte 0x0 ! uleb128 0x0; Augmentation size
86.5301 -+ .byte 0x4 ! DW_CFA_advance_loc4
86.5302 -+ .uaword .LLCFI1-.LLFB2
86.5303 -+ .byte 0xd ! DW_CFA_def_cfa_register
86.5304 -+ .byte 0x1e ! uleb128 0x1e
86.5305 -+ .byte 0x2d ! DW_CFA_GNU_window_save
86.5306 -+ .byte 0x9 ! DW_CFA_register
86.5307 -+ .byte 0xf ! uleb128 0xf
86.5308 -+ .byte 0x1f ! uleb128 0x1f
86.5309 -+ .align WS
86.5310 -+.LLEFDE2:
86.5311 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/sparc/v9.S gcc/libffi/src/sparc/v9.S
86.5312 ---- gcc-3.2.2.orig/libffi/src/sparc/v9.S Mon Apr 29 05:12:04 2002
86.5313 -+++ gcc/libffi/src/sparc/v9.S Sat Jan 4 08:08:56 2003
86.5314 -@@ -1,5 +1,5 @@
86.5315 - /* -----------------------------------------------------------------------
86.5316 -- v9.S - Copyright (c) 2000 Cygnus Solutions
86.5317 -+ v9.S - Copyright (c) 2000, 2003 Cygnus Solutions
86.5318 -
86.5319 - Sparc 64bit Foreign Function Interface
86.5320 -
86.5321 -@@ -99,7 +99,7 @@
86.5322 - cmp %i3, FFI_TYPE_STRUCT
86.5323 - be,pn %icc, dostruct
86.5324 -
86.5325 -- cmp %i3, FFI_TYPE_LONGDOUBLE
86.5326 -+ cmp %i3, FFI_TYPE_LONGDOUBLE
86.5327 - bne,pt %icc, done
86.5328 - nop
86.5329 - std %f0, [%i4+0]
86.5330 -@@ -125,6 +125,88 @@
86.5331 - .ffi_call_V9_end:
86.5332 - .size ffi_call_V9,.ffi_call_V9_end-ffi_call_V9
86.5333 -
86.5334 -+
86.5335 -+#define STACKFRAME 240 /* 16*8 register window +
86.5336 -+ 6*8 args backing store +
86.5337 -+ 8*8 locals */
86.5338 -+#define FP %fp+STACK_BIAS
86.5339 -+
86.5340 -+/* ffi_closure_v9(...)
86.5341 -+
86.5342 -+ Receives the closure argument in %g1. */
86.5343 -+
86.5344 -+ .text
86.5345 -+ .align 8
86.5346 -+ .globl ffi_closure_v9
86.5347 -+
86.5348 -+ffi_closure_v9:
86.5349 -+.LLFB2:
86.5350 -+ save %sp, -STACKFRAME, %sp
86.5351 -+.LLCFI1:
86.5352 -+
86.5353 -+ ! Store all of the potential argument registers in va_list format.
86.5354 -+ stx %i0, [FP+128+0]
86.5355 -+ stx %i1, [FP+128+8]
86.5356 -+ stx %i2, [FP+128+16]
86.5357 -+ stx %i3, [FP+128+24]
86.5358 -+ stx %i4, [FP+128+32]
86.5359 -+ stx %i5, [FP+128+40]
86.5360 -+
86.5361 -+ ! Store possible floating point argument registers too.
86.5362 -+ std %f0, [FP-48]
86.5363 -+ std %f2, [FP-40]
86.5364 -+ std %f4, [FP-32]
86.5365 -+ std %f6, [FP-24]
86.5366 -+ std %f8, [FP-16]
86.5367 -+ std %f10, [FP-8]
86.5368 -+
86.5369 -+ ! Call ffi_closure_sparc_inner to do the bulk of the work.
86.5370 -+ mov %g1, %o0
86.5371 -+ add %fp, STACK_BIAS-64, %o1
86.5372 -+ add %fp, STACK_BIAS+128, %o2
86.5373 -+ call ffi_closure_sparc_inner
86.5374 -+ add %fp, STACK_BIAS-48, %o3
86.5375 -+
86.5376 -+ ! Load up the return value in the proper type.
86.5377 -+ cmp %o0, FFI_TYPE_VOID
86.5378 -+ be,pn %icc, done1
86.5379 -+
86.5380 -+ cmp %o0, FFI_TYPE_FLOAT
86.5381 -+ be,a,pn %icc, done1
86.5382 -+ ld [FP-64], %f0
86.5383 -+
86.5384 -+ cmp %o0, FFI_TYPE_DOUBLE
86.5385 -+ be,a,pn %icc, done1
86.5386 -+ ldd [FP-64], %f0
86.5387 -+
86.5388 -+ cmp %o0, FFI_TYPE_LONGDOUBLE
86.5389 -+ be,a,pn %icc, longdouble1
86.5390 -+ ldd [FP-64], %f0
86.5391 -+
86.5392 -+ cmp %o0, FFI_TYPE_STRUCT
86.5393 -+ be,pn %icc, struct1
86.5394 -+
86.5395 -+ ! FFI_TYPE_UINT64 | FFI_TYPE_SINT64 | FFI_TYPE_POINTER
86.5396 -+ ldx [FP-64], %i0
86.5397 -+
86.5398 -+done1:
86.5399 -+ ret
86.5400 -+ restore
86.5401 -+
86.5402 -+struct1:
86.5403 -+ ldx [FP-56], %i2
86.5404 -+ ret
86.5405 -+ restore
86.5406 -+
86.5407 -+longdouble1:
86.5408 -+ ldd [FP-56], %f2
86.5409 -+ ret
86.5410 -+ restore
86.5411 -+.LLFE2:
86.5412 -+
86.5413 -+.ffi_closure_v9_end:
86.5414 -+ .size ffi_closure_v9,.ffi_closure_v9_end-ffi_closure_v9
86.5415 -+
86.5416 - .section ".eh_frame",#alloc,#write
86.5417 - .LLframe1:
86.5418 - .uaword .LLECIE1-.LLSCIE1 ! Length of Common Information Entry
86.5419 -@@ -169,5 +251,27 @@
86.5420 - .byte 0x1f ! uleb128 0x1f
86.5421 - .align 8
86.5422 - .LLEFDE1:
86.5423 --
86.5424 -+.LLSFDE2:
86.5425 -+ .uaword .LLEFDE2-.LLASFDE2 ! FDE Length
86.5426 -+.LLASFDE2:
86.5427 -+ .uaword .LLASFDE2-.LLframe1 ! FDE CIE offset
86.5428 -+#ifdef HAVE_AS_SPARC_UA_PCREL
86.5429 -+ .uaword %r_disp32(.LLFB2)
86.5430 -+ .uaword .LLFE2-.LLFB2 ! FDE address range
86.5431 -+#else
86.5432 -+ .align 8
86.5433 -+ .xword .LLFB2
86.5434 -+ .uaxword .LLFE2-.LLFB2 ! FDE address range
86.5435 -+#endif
86.5436 -+ .byte 0x0 ! uleb128 0x0; Augmentation size
86.5437 -+ .byte 0x4 ! DW_CFA_advance_loc4
86.5438 -+ .uaword .LLCFI1-.LLFB2
86.5439 -+ .byte 0xd ! DW_CFA_def_cfa_register
86.5440 -+ .byte 0x1e ! uleb128 0x1e
86.5441 -+ .byte 0x2d ! DW_CFA_GNU_window_save
86.5442 -+ .byte 0x9 ! DW_CFA_register
86.5443 -+ .byte 0xf ! uleb128 0xf
86.5444 -+ .byte 0x1f ! uleb128 0x1f
86.5445 -+ .align 8
86.5446 -+.LLEFDE2:
86.5447 - #endif
86.5448 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/types.c gcc/libffi/src/types.c
86.5449 ---- gcc-3.2.2.orig/libffi/src/types.c Tue Mar 27 11:39:16 2001
86.5450 -+++ gcc/libffi/src/types.c Wed Nov 27 07:24:05 2002
86.5451 -@@ -42,7 +42,8 @@
86.5452 - FFI_INTEGRAL_TYPEDEF(sint32, 4, 4, FFI_TYPE_SINT32);
86.5453 - FFI_INTEGRAL_TYPEDEF(float, 4, 4, FFI_TYPE_FLOAT);
86.5454 -
86.5455 --#if defined ALPHA || defined SPARC64
86.5456 -+#if defined ALPHA || defined SPARC64 || defined X86_64 || defined S390X \
86.5457 -+ || defined IA64
86.5458 -
86.5459 - FFI_INTEGRAL_TYPEDEF(pointer, 8, 8, FFI_TYPE_POINTER);
86.5460 -
86.5461 -@@ -52,22 +53,12 @@
86.5462 -
86.5463 - #endif
86.5464 -
86.5465 --#ifdef X86
86.5466 -+#if defined X86 || defined X86_WIN32 || defined ARM || defined M68K
86.5467 -
86.5468 - FFI_INTEGRAL_TYPEDEF(uint64, 8, 4, FFI_TYPE_UINT64);
86.5469 - FFI_INTEGRAL_TYPEDEF(sint64, 8, 4, FFI_TYPE_SINT64);
86.5470 -
86.5471 --#elif defined X86_WIN32
86.5472 --
86.5473 --FFI_INTEGRAL_TYPEDEF(uint64, 8, 4, FFI_TYPE_UINT64);
86.5474 --FFI_INTEGRAL_TYPEDEF(sint64, 8, 4, FFI_TYPE_SINT64);
86.5475 --
86.5476 --#elif defined ARM
86.5477 --
86.5478 --FFI_INTEGRAL_TYPEDEF(uint64, 8, 4, FFI_TYPE_UINT64);
86.5479 --FFI_INTEGRAL_TYPEDEF(sint64, 8, 4, FFI_TYPE_SINT64);
86.5480 --
86.5481 --#elif defined M68K
86.5482 -+#elif defined SH
86.5483 -
86.5484 - FFI_INTEGRAL_TYPEDEF(uint64, 8, 4, FFI_TYPE_UINT64);
86.5485 - FFI_INTEGRAL_TYPEDEF(sint64, 8, 4, FFI_TYPE_SINT64);
86.5486 -@@ -80,12 +71,7 @@
86.5487 - #endif
86.5488 -
86.5489 -
86.5490 --#ifdef X86
86.5491 --
86.5492 --FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE);
86.5493 --FFI_INTEGRAL_TYPEDEF(longdouble, 12, 4, FFI_TYPE_LONGDOUBLE);
86.5494 --
86.5495 --#elif defined X86_WIN32
86.5496 -+#if defined X86 || defined X86_WIN32 || defined M68K
86.5497 -
86.5498 - FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE);
86.5499 - FFI_INTEGRAL_TYPEDEF(longdouble, 12, 4, FFI_TYPE_LONGDOUBLE);
86.5500 -@@ -95,25 +81,25 @@
86.5501 - FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE);
86.5502 - FFI_INTEGRAL_TYPEDEF(longdouble, 8, 4, FFI_TYPE_LONGDOUBLE);
86.5503 -
86.5504 --#elif defined M68K
86.5505 -+#elif defined SH
86.5506 -
86.5507 - FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE);
86.5508 --FFI_INTEGRAL_TYPEDEF(longdouble, 12, 4, FFI_TYPE_LONGDOUBLE);
86.5509 -+FFI_INTEGRAL_TYPEDEF(longdouble, 8, 4, FFI_TYPE_LONGDOUBLE);
86.5510 -
86.5511 - #elif defined SPARC
86.5512 -
86.5513 - FFI_INTEGRAL_TYPEDEF(double, 8, 8, FFI_TYPE_DOUBLE);
86.5514 --
86.5515 - #ifdef SPARC64
86.5516 --
86.5517 - FFI_INTEGRAL_TYPEDEF(longdouble, 16, 16, FFI_TYPE_LONGDOUBLE);
86.5518 --
86.5519 - #else
86.5520 --
86.5521 - FFI_INTEGRAL_TYPEDEF(longdouble, 16, 8, FFI_TYPE_LONGDOUBLE);
86.5522 --
86.5523 - #endif
86.5524 -
86.5525 -+#elif defined X86_64
86.5526 -+
86.5527 -+FFI_INTEGRAL_TYPEDEF(double, 8, 8, FFI_TYPE_DOUBLE);
86.5528 -+FFI_INTEGRAL_TYPEDEF(longdouble, 16, 16, FFI_TYPE_LONGDOUBLE);
86.5529 -+
86.5530 - #else
86.5531 -
86.5532 - FFI_INTEGRAL_TYPEDEF(double, 8, 8, FFI_TYPE_DOUBLE);
86.5533 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/x86/ffi.c gcc/libffi/src/x86/ffi.c
86.5534 ---- gcc-3.2.2.orig/libffi/src/x86/ffi.c Tue May 28 18:22:08 2002
86.5535 -+++ gcc/libffi/src/x86/ffi.c Fri Dec 6 10:16:45 2002
86.5536 -@@ -1,5 +1,8 @@
86.5537 - /* -----------------------------------------------------------------------
86.5538 -- ffi.c - Copyright (c) 1996, 1998, 1999 Cygnus Solutions
86.5539 -+ ffi.c - Copyright (c) 1996, 1998, 1999, 2001 Red Hat, Inc.
86.5540 -+ Copyright (c) 2002 Ranjit Mathew
86.5541 -+ Copyright (c) 2002 Bo Thorsen
86.5542 -+ Copyright (c) 2002 Roger Sayle
86.5543 -
86.5544 - x86 Foreign Function Interface
86.5545 -
86.5546 -@@ -23,6 +26,8 @@
86.5547 - OTHER DEALINGS IN THE SOFTWARE.
86.5548 - ----------------------------------------------------------------------- */
86.5549 -
86.5550 -+#ifndef __x86_64__
86.5551 -+
86.5552 - #include <ffi.h>
86.5553 - #include <ffi_common.h>
86.5554 -
86.5555 -@@ -36,12 +41,10 @@
86.5556 - /*@=exportheader@*/
86.5557 - {
86.5558 - register unsigned int i;
86.5559 -- register int tmp;
86.5560 - register void **p_argv;
86.5561 - register char *argp;
86.5562 - register ffi_type **p_arg;
86.5563 -
86.5564 -- tmp = 0;
86.5565 - argp = stack;
86.5566 -
86.5567 - if (ecif->cif->rtype->type == FFI_TYPE_STRUCT)
86.5568 -@@ -148,6 +151,18 @@
86.5569 - /*@=declundef@*/
86.5570 - /*@=exportheader@*/
86.5571 -
86.5572 -+#ifdef X86_WIN32
86.5573 -+/*@-declundef@*/
86.5574 -+/*@-exportheader@*/
86.5575 -+extern void ffi_call_STDCALL(void (*)(char *, extended_cif *),
86.5576 -+ /*@out@*/ extended_cif *,
86.5577 -+ unsigned, unsigned,
86.5578 -+ /*@out@*/ unsigned *,
86.5579 -+ void (*fn)());
86.5580 -+/*@=declundef@*/
86.5581 -+/*@=exportheader@*/
86.5582 -+#endif /* X86_WIN32 */
86.5583 -+
86.5584 - void ffi_call(/*@dependent@*/ ffi_cif *cif,
86.5585 - void (*fn)(),
86.5586 - /*@out@*/ void *rvalue,
86.5587 -@@ -180,6 +195,14 @@
86.5588 - cif->flags, ecif.rvalue, fn);
86.5589 - /*@=usedef@*/
86.5590 - break;
86.5591 -+#ifdef X86_WIN32
86.5592 -+ case FFI_STDCALL:
86.5593 -+ /*@-usedef@*/
86.5594 -+ ffi_call_STDCALL(ffi_prep_args, &ecif, cif->bytes,
86.5595 -+ cif->flags, ecif.rvalue, fn);
86.5596 -+ /*@=usedef@*/
86.5597 -+ break;
86.5598 -+#endif /* X86_WIN32 */
86.5599 - default:
86.5600 - FFI_ASSERT(0);
86.5601 - break;
86.5602 -@@ -266,12 +289,10 @@
86.5603 - /*@=exportheader@*/
86.5604 - {
86.5605 - register unsigned int i;
86.5606 -- register int tmp;
86.5607 - register void **p_argv;
86.5608 - register char *argp;
86.5609 - register ffi_type **p_arg;
86.5610 -
86.5611 -- tmp = 0;
86.5612 - argp = stack;
86.5613 -
86.5614 - if ( cif->rtype->type == FFI_TYPE_STRUCT ) {
86.5615 -@@ -281,13 +302,14 @@
86.5616 -
86.5617 - p_argv = avalue;
86.5618 -
86.5619 -- for (i = cif->nargs, p_arg = cif->arg_types; i != 0; i--, p_arg++)
86.5620 -+ for (i = cif->nargs, p_arg = cif->arg_types; (i != 0); i--, p_arg++)
86.5621 - {
86.5622 - size_t z;
86.5623 -
86.5624 - /* Align if necessary */
86.5625 -- if (((*p_arg)->alignment - 1) & (unsigned) argp)
86.5626 -+ if (((*p_arg)->alignment - 1) & (unsigned) argp) {
86.5627 - argp = (char *) ALIGN(argp, (*p_arg)->alignment);
86.5628 -+ }
86.5629 -
86.5630 - z = (*p_arg)->size;
86.5631 -
86.5632 -@@ -298,7 +320,7 @@
86.5633 - p_argv++;
86.5634 - argp += z;
86.5635 - }
86.5636 --
86.5637 -+
86.5638 - return;
86.5639 - }
86.5640 -
86.5641 -@@ -449,6 +471,15 @@
86.5642 - /*@out@*/ unsigned *,
86.5643 - void (*fn)());
86.5644 -
86.5645 -+#ifdef X86_WIN32
86.5646 -+extern void
86.5647 -+ffi_call_STDCALL(void (*)(char *, extended_cif *),
86.5648 -+ /*@out@*/ extended_cif *,
86.5649 -+ unsigned, unsigned,
86.5650 -+ /*@out@*/ unsigned *,
86.5651 -+ void (*fn)());
86.5652 -+#endif /* X86_WIN32 */
86.5653 -+
86.5654 - void
86.5655 - ffi_raw_call(/*@dependent@*/ ffi_cif *cif,
86.5656 - void (*fn)(),
86.5657 -@@ -483,6 +514,14 @@
86.5658 - cif->flags, ecif.rvalue, fn);
86.5659 - /*@=usedef@*/
86.5660 - break;
86.5661 -+#ifdef X86_WIN32
86.5662 -+ case FFI_STDCALL:
86.5663 -+ /*@-usedef@*/
86.5664 -+ ffi_call_STDCALL(ffi_prep_args_raw, &ecif, cif->bytes,
86.5665 -+ cif->flags, ecif.rvalue, fn);
86.5666 -+ /*@=usedef@*/
86.5667 -+ break;
86.5668 -+#endif /* X86_WIN32 */
86.5669 - default:
86.5670 - FFI_ASSERT(0);
86.5671 - break;
86.5672 -@@ -490,3 +529,5 @@
86.5673 - }
86.5674 -
86.5675 - #endif
86.5676 -+
86.5677 -+#endif /* __x86_64__ */
86.5678 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/x86/ffi64.c gcc/libffi/src/x86/ffi64.c
86.5679 ---- gcc-3.2.2.orig/libffi/src/x86/ffi64.c Thu Jan 1 09:00:00 1970
86.5680 -+++ gcc/libffi/src/x86/ffi64.c Wed Jan 29 00:54:28 2003
86.5681 -@@ -0,0 +1,706 @@
86.5682 -+/* -----------------------------------------------------------------------
86.5683 -+ ffi.c - Copyright (c) 2002 Bo Thorsen <bo@suse.de>
86.5684 -+
86.5685 -+ x86-64 Foreign Function Interface
86.5686 -+
86.5687 -+ Permission is hereby granted, free of charge, to any person obtaining
86.5688 -+ a copy of this software and associated documentation files (the
86.5689 -+ ``Software''), to deal in the Software without restriction, including
86.5690 -+ without limitation the rights to use, copy, modify, merge, publish,
86.5691 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.5692 -+ permit persons to whom the Software is furnished to do so, subject to
86.5693 -+ the following conditions:
86.5694 -+
86.5695 -+ The above copyright notice and this permission notice shall be included
86.5696 -+ in all copies or substantial portions of the Software.
86.5697 -+
86.5698 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.5699 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.5700 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.5701 -+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.5702 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.5703 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.5704 -+ OTHER DEALINGS IN THE SOFTWARE.
86.5705 -+ ----------------------------------------------------------------------- */
86.5706 -+
86.5707 -+#include <ffi.h>
86.5708 -+#include <ffi_common.h>
86.5709 -+
86.5710 -+#include <stdlib.h>
86.5711 -+#include <stdarg.h>
86.5712 -+
86.5713 -+/* ffi_prep_args is called by the assembly routine once stack space
86.5714 -+ has been allocated for the function's arguments */
86.5715 -+
86.5716 -+#ifdef __x86_64__
86.5717 -+
86.5718 -+#define MAX_GPR_REGS 6
86.5719 -+#define MAX_SSE_REGS 8
86.5720 -+typedef struct
86.5721 -+{
86.5722 -+ /* Registers for argument passing. */
86.5723 -+ long gpr[MAX_GPR_REGS];
86.5724 -+ __int128_t sse[MAX_SSE_REGS];
86.5725 -+
86.5726 -+ /* Stack space for arguments. */
86.5727 -+ char argspace[0];
86.5728 -+} stackLayout;
86.5729 -+
86.5730 -+/* All reference to register classes here is identical to the code in
86.5731 -+ gcc/config/i386/i386.c. Do *not* change one without the other. */
86.5732 -+
86.5733 -+/* Register class used for passing given 64bit part of the argument.
86.5734 -+ These represent classes as documented by the PS ABI, with the exception
86.5735 -+ of SSESF, SSEDF classes, that are basically SSE class, just gcc will
86.5736 -+ use SF or DFmode move instead of DImode to avoid reformating penalties.
86.5737 -+
86.5738 -+ Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
86.5739 -+ whenever possible (upper half does contain padding).
86.5740 -+ */
86.5741 -+enum x86_64_reg_class
86.5742 -+ {
86.5743 -+ X86_64_NO_CLASS,
86.5744 -+ X86_64_INTEGER_CLASS,
86.5745 -+ X86_64_INTEGERSI_CLASS,
86.5746 -+ X86_64_SSE_CLASS,
86.5747 -+ X86_64_SSESF_CLASS,
86.5748 -+ X86_64_SSEDF_CLASS,
86.5749 -+ X86_64_SSEUP_CLASS,
86.5750 -+ X86_64_X87_CLASS,
86.5751 -+ X86_64_X87UP_CLASS,
86.5752 -+ X86_64_MEMORY_CLASS
86.5753 -+ };
86.5754 -+
86.5755 -+#define MAX_CLASSES 4
86.5756 -+
86.5757 -+/* x86-64 register passing implementation. See x86-64 ABI for details. Goal
86.5758 -+ of this code is to classify each 8bytes of incoming argument by the register
86.5759 -+ class and assign registers accordingly. */
86.5760 -+
86.5761 -+/* Return the union class of CLASS1 and CLASS2.
86.5762 -+ See the x86-64 PS ABI for details. */
86.5763 -+
86.5764 -+static enum x86_64_reg_class
86.5765 -+merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
86.5766 -+{
86.5767 -+ /* Rule #1: If both classes are equal, this is the resulting class. */
86.5768 -+ if (class1 == class2)
86.5769 -+ return class1;
86.5770 -+
86.5771 -+ /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
86.5772 -+ the other class. */
86.5773 -+ if (class1 == X86_64_NO_CLASS)
86.5774 -+ return class2;
86.5775 -+ if (class2 == X86_64_NO_CLASS)
86.5776 -+ return class1;
86.5777 -+
86.5778 -+ /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */
86.5779 -+ if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
86.5780 -+ return X86_64_MEMORY_CLASS;
86.5781 -+
86.5782 -+ /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */
86.5783 -+ if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
86.5784 -+ || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
86.5785 -+ return X86_64_INTEGERSI_CLASS;
86.5786 -+ if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
86.5787 -+ || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
86.5788 -+ return X86_64_INTEGER_CLASS;
86.5789 -+
86.5790 -+ /* Rule #5: If one of the classes is X87 or X87UP class, MEMORY is used. */
86.5791 -+ if (class1 == X86_64_X87_CLASS || class1 == X86_64_X87UP_CLASS
86.5792 -+ || class2 == X86_64_X87_CLASS || class2 == X86_64_X87UP_CLASS)
86.5793 -+ return X86_64_MEMORY_CLASS;
86.5794 -+
86.5795 -+ /* Rule #6: Otherwise class SSE is used. */
86.5796 -+ return X86_64_SSE_CLASS;
86.5797 -+}
86.5798 -+
86.5799 -+/* Classify the argument of type TYPE and mode MODE.
86.5800 -+ CLASSES will be filled by the register class used to pass each word
86.5801 -+ of the operand. The number of words is returned. In case the parameter
86.5802 -+ should be passed in memory, 0 is returned. As a special case for zero
86.5803 -+ sized containers, classes[0] will be NO_CLASS and 1 is returned.
86.5804 -+
86.5805 -+ See the x86-64 PS ABI for details.
86.5806 -+*/
86.5807 -+static int
86.5808 -+classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
86.5809 -+ int *byte_offset)
86.5810 -+{
86.5811 -+ /* First, align to the right place. */
86.5812 -+ *byte_offset = ALIGN(*byte_offset, type->alignment);
86.5813 -+
86.5814 -+ switch (type->type)
86.5815 -+ {
86.5816 -+ case FFI_TYPE_UINT8:
86.5817 -+ case FFI_TYPE_SINT8:
86.5818 -+ case FFI_TYPE_UINT16:
86.5819 -+ case FFI_TYPE_SINT16:
86.5820 -+ case FFI_TYPE_UINT32:
86.5821 -+ case FFI_TYPE_SINT32:
86.5822 -+ case FFI_TYPE_UINT64:
86.5823 -+ case FFI_TYPE_SINT64:
86.5824 -+ case FFI_TYPE_POINTER:
86.5825 -+ if (((*byte_offset) % 8 + type->size) <= 4)
86.5826 -+ classes[0] = X86_64_INTEGERSI_CLASS;
86.5827 -+ else
86.5828 -+ classes[0] = X86_64_INTEGER_CLASS;
86.5829 -+ return 1;
86.5830 -+ case FFI_TYPE_FLOAT:
86.5831 -+ if (((*byte_offset) % 8) == 0)
86.5832 -+ classes[0] = X86_64_SSESF_CLASS;
86.5833 -+ else
86.5834 -+ classes[0] = X86_64_SSE_CLASS;
86.5835 -+ return 1;
86.5836 -+ case FFI_TYPE_DOUBLE:
86.5837 -+ classes[0] = X86_64_SSEDF_CLASS;
86.5838 -+ return 1;
86.5839 -+ case FFI_TYPE_LONGDOUBLE:
86.5840 -+ classes[0] = X86_64_X87_CLASS;
86.5841 -+ classes[1] = X86_64_X87UP_CLASS;
86.5842 -+ return 2;
86.5843 -+ case FFI_TYPE_STRUCT:
86.5844 -+ {
86.5845 -+ const int UNITS_PER_WORD = 8;
86.5846 -+ int words = (type->size + UNITS_PER_WORD - 1) / UNITS_PER_WORD;
86.5847 -+ ffi_type **ptr;
86.5848 -+ int i;
86.5849 -+ enum x86_64_reg_class subclasses[MAX_CLASSES];
86.5850 -+
86.5851 -+ /* If the struct is larger than 16 bytes, pass it on the stack. */
86.5852 -+ if (type->size > 16)
86.5853 -+ return 0;
86.5854 -+
86.5855 -+ for (i = 0; i < words; i++)
86.5856 -+ classes[i] = X86_64_NO_CLASS;
86.5857 -+
86.5858 -+ /* Merge the fields of structure. */
86.5859 -+ for (ptr=type->elements; (*ptr)!=NULL; ptr++)
86.5860 -+ {
86.5861 -+ int num;
86.5862 -+
86.5863 -+ num = classify_argument (*ptr, subclasses, byte_offset);
86.5864 -+ if (num == 0)
86.5865 -+ return 0;
86.5866 -+ for (i = 0; i < num; i++)
86.5867 -+ {
86.5868 -+ int pos = *byte_offset / 8;
86.5869 -+ classes[i + pos] =
86.5870 -+ merge_classes (subclasses[i], classes[i + pos]);
86.5871 -+ }
86.5872 -+
86.5873 -+ if ((*ptr)->type != FFI_TYPE_STRUCT)
86.5874 -+ *byte_offset += (*ptr)->size;
86.5875 -+ }
86.5876 -+
86.5877 -+ /* Final merger cleanup. */
86.5878 -+ for (i = 0; i < words; i++)
86.5879 -+ {
86.5880 -+ /* If one class is MEMORY, everything should be passed in
86.5881 -+ memory. */
86.5882 -+ if (classes[i] == X86_64_MEMORY_CLASS)
86.5883 -+ return 0;
86.5884 -+
86.5885 -+ /* The X86_64_SSEUP_CLASS should be always preceded by
86.5886 -+ X86_64_SSE_CLASS. */
86.5887 -+ if (classes[i] == X86_64_SSEUP_CLASS
86.5888 -+ && (i == 0 || classes[i - 1] != X86_64_SSE_CLASS))
86.5889 -+ classes[i] = X86_64_SSE_CLASS;
86.5890 -+
86.5891 -+ /* X86_64_X87UP_CLASS should be preceded by X86_64_X87_CLASS. */
86.5892 -+ if (classes[i] == X86_64_X87UP_CLASS
86.5893 -+ && (i == 0 || classes[i - 1] != X86_64_X87_CLASS))
86.5894 -+ classes[i] = X86_64_SSE_CLASS;
86.5895 -+ }
86.5896 -+ return words;
86.5897 -+ }
86.5898 -+
86.5899 -+ default:
86.5900 -+ FFI_ASSERT(0);
86.5901 -+ }
86.5902 -+ return 0; /* Never reached. */
86.5903 -+}
86.5904 -+
86.5905 -+/* Examine the argument and return set number of register required in each
86.5906 -+ class. Return 0 iff parameter should be passed in memory. */
86.5907 -+static int
86.5908 -+examine_argument (ffi_type *type, int in_return, int *int_nregs,int *sse_nregs)
86.5909 -+{
86.5910 -+ enum x86_64_reg_class class[MAX_CLASSES];
86.5911 -+ int offset = 0;
86.5912 -+ int n;
86.5913 -+
86.5914 -+ n = classify_argument (type, class, &offset);
86.5915 -+
86.5916 -+ if (n == 0)
86.5917 -+ return 0;
86.5918 -+
86.5919 -+ *int_nregs = 0;
86.5920 -+ *sse_nregs = 0;
86.5921 -+ for (n--; n>=0; n--)
86.5922 -+ switch (class[n])
86.5923 -+ {
86.5924 -+ case X86_64_INTEGER_CLASS:
86.5925 -+ case X86_64_INTEGERSI_CLASS:
86.5926 -+ (*int_nregs)++;
86.5927 -+ break;
86.5928 -+ case X86_64_SSE_CLASS:
86.5929 -+ case X86_64_SSESF_CLASS:
86.5930 -+ case X86_64_SSEDF_CLASS:
86.5931 -+ (*sse_nregs)++;
86.5932 -+ break;
86.5933 -+ case X86_64_NO_CLASS:
86.5934 -+ case X86_64_SSEUP_CLASS:
86.5935 -+ break;
86.5936 -+ case X86_64_X87_CLASS:
86.5937 -+ case X86_64_X87UP_CLASS:
86.5938 -+ if (!in_return)
86.5939 -+ return 0;
86.5940 -+ break;
86.5941 -+ default:
86.5942 -+ abort ();
86.5943 -+ }
86.5944 -+ return 1;
86.5945 -+}
86.5946 -+
86.5947 -+/* Functions to load floats and double to an SSE register placeholder. */
86.5948 -+extern void float2sse (float, __int128_t *);
86.5949 -+extern void double2sse (double, __int128_t *);
86.5950 -+extern void floatfloat2sse (void *, __int128_t *);
86.5951 -+
86.5952 -+/* Functions to put the floats and doubles back. */
86.5953 -+extern float sse2float (__int128_t *);
86.5954 -+extern double sse2double (__int128_t *);
86.5955 -+extern void sse2floatfloat(__int128_t *, void *);
86.5956 -+
86.5957 -+/*@-exportheader@*/
86.5958 -+void
86.5959 -+ffi_prep_args (stackLayout *stack, extended_cif *ecif)
86.5960 -+/*@=exportheader@*/
86.5961 -+{
86.5962 -+ int gprcount, ssecount, i, g, s;
86.5963 -+ void **p_argv;
86.5964 -+ void *argp = &stack->argspace;
86.5965 -+ ffi_type **p_arg;
86.5966 -+
86.5967 -+ /* First check if the return value should be passed in memory. If so,
86.5968 -+ pass the pointer as the first argument. */
86.5969 -+ gprcount = ssecount = 0;
86.5970 -+ if (ecif->cif->rtype->type != FFI_TYPE_VOID
86.5971 -+ && examine_argument (ecif->cif->rtype, 1, &g, &s) == 0)
86.5972 -+ (void *)stack->gpr[gprcount++] = ecif->rvalue;
86.5973 -+
86.5974 -+ for (i=ecif->cif->nargs, p_arg=ecif->cif->arg_types, p_argv = ecif->avalue;
86.5975 -+ i!=0; i--, p_arg++, p_argv++)
86.5976 -+ {
86.5977 -+ int in_register = 0;
86.5978 -+
86.5979 -+ switch ((*p_arg)->type)
86.5980 -+ {
86.5981 -+ case FFI_TYPE_SINT8:
86.5982 -+ case FFI_TYPE_SINT16:
86.5983 -+ case FFI_TYPE_SINT32:
86.5984 -+ case FFI_TYPE_SINT64:
86.5985 -+ case FFI_TYPE_UINT8:
86.5986 -+ case FFI_TYPE_UINT16:
86.5987 -+ case FFI_TYPE_UINT32:
86.5988 -+ case FFI_TYPE_UINT64:
86.5989 -+ case FFI_TYPE_POINTER:
86.5990 -+ if (gprcount < MAX_GPR_REGS)
86.5991 -+ {
86.5992 -+ stack->gpr[gprcount] = 0;
86.5993 -+ stack->gpr[gprcount++] = *(long long *)(*p_argv);
86.5994 -+ in_register = 1;
86.5995 -+ }
86.5996 -+ break;
86.5997 -+
86.5998 -+ case FFI_TYPE_FLOAT:
86.5999 -+ if (ssecount < MAX_SSE_REGS)
86.6000 -+ {
86.6001 -+ float2sse (*(float *)(*p_argv), &stack->sse[ssecount++]);
86.6002 -+ in_register = 1;
86.6003 -+ }
86.6004 -+ break;
86.6005 -+
86.6006 -+ case FFI_TYPE_DOUBLE:
86.6007 -+ if (ssecount < MAX_SSE_REGS)
86.6008 -+ {
86.6009 -+ double2sse (*(double *)(*p_argv), &stack->sse[ssecount++]);
86.6010 -+ in_register = 1;
86.6011 -+ }
86.6012 -+ break;
86.6013 -+ }
86.6014 -+
86.6015 -+ if (in_register)
86.6016 -+ continue;
86.6017 -+
86.6018 -+ /* Either all places in registers where filled, or this is a
86.6019 -+ type that potentially goes into a memory slot. */
86.6020 -+ if (examine_argument (*p_arg, 0, &g, &s) == 0
86.6021 -+ || gprcount + g > MAX_GPR_REGS || ssecount + s > MAX_SSE_REGS)
86.6022 -+ {
86.6023 -+ /* Pass this argument in memory. */
86.6024 -+ argp = (void *)ALIGN(argp, (*p_arg)->alignment);
86.6025 -+ memcpy (argp, *p_argv, (*p_arg)->size);
86.6026 -+ argp += (*p_arg)->size;
86.6027 -+ }
86.6028 -+ else
86.6029 -+ {
86.6030 -+ /* All easy cases are eliminated. Now fire the big guns. */
86.6031 -+
86.6032 -+ enum x86_64_reg_class classes[MAX_CLASSES];
86.6033 -+ int offset = 0, j, num;
86.6034 -+ void *a;
86.6035 -+
86.6036 -+ num = classify_argument (*p_arg, classes, &offset);
86.6037 -+ for (j=0, a=*p_argv; j<num; j++, a+=8)
86.6038 -+ {
86.6039 -+ switch (classes[j])
86.6040 -+ {
86.6041 -+ case X86_64_INTEGER_CLASS:
86.6042 -+ case X86_64_INTEGERSI_CLASS:
86.6043 -+ stack->gpr[gprcount++] = *(long long *)a;
86.6044 -+ break;
86.6045 -+ case X86_64_SSE_CLASS:
86.6046 -+ floatfloat2sse (a, &stack->sse[ssecount++]);
86.6047 -+ break;
86.6048 -+ case X86_64_SSESF_CLASS:
86.6049 -+ float2sse (*(float *)a, &stack->sse[ssecount++]);
86.6050 -+ break;
86.6051 -+ case X86_64_SSEDF_CLASS:
86.6052 -+ double2sse (*(double *)a, &stack->sse[ssecount++]);
86.6053 -+ break;
86.6054 -+ default:
86.6055 -+ abort();
86.6056 -+ }
86.6057 -+ }
86.6058 -+ }
86.6059 -+ }
86.6060 -+}
86.6061 -+
86.6062 -+/* Perform machine dependent cif processing. */
86.6063 -+ffi_status
86.6064 -+ffi_prep_cif_machdep (ffi_cif *cif)
86.6065 -+{
86.6066 -+ int gprcount, ssecount, i, g, s;
86.6067 -+
86.6068 -+ gprcount = ssecount = 0;
86.6069 -+
86.6070 -+ /* Reset the byte count. We handle this size estimation here. */
86.6071 -+ cif->bytes = 0;
86.6072 -+
86.6073 -+ /* If the return value should be passed in memory, pass the pointer
86.6074 -+ as the first argument. The actual memory isn't allocated here. */
86.6075 -+ if (cif->rtype->type != FFI_TYPE_VOID
86.6076 -+ && examine_argument (cif->rtype, 1, &g, &s) == 0)
86.6077 -+ gprcount = 1;
86.6078 -+
86.6079 -+ /* Go over all arguments and determine the way they should be passed.
86.6080 -+ If it's in a register and there is space for it, let that be so. If
86.6081 -+ not, add it's size to the stack byte count. */
86.6082 -+ for (i=0; i<cif->nargs; i++)
86.6083 -+ {
86.6084 -+ if (examine_argument (cif->arg_types[i], 0, &g, &s) == 0
86.6085 -+ || gprcount + g > MAX_GPR_REGS || ssecount + s > MAX_SSE_REGS)
86.6086 -+ {
86.6087 -+ /* This is passed in memory. First align to the basic type. */
86.6088 -+ cif->bytes = ALIGN(cif->bytes, cif->arg_types[i]->alignment);
86.6089 -+
86.6090 -+ /* Stack arguments are *always* at least 8 byte aligned. */
86.6091 -+ cif->bytes = ALIGN(cif->bytes, 8);
86.6092 -+
86.6093 -+ /* Now add the size of this argument. */
86.6094 -+ cif->bytes += cif->arg_types[i]->size;
86.6095 -+ }
86.6096 -+ else
86.6097 -+ {
86.6098 -+ gprcount += g;
86.6099 -+ ssecount += s;
86.6100 -+ }
86.6101 -+ }
86.6102 -+
86.6103 -+ /* Set the flag for the closures return. */
86.6104 -+ switch (cif->rtype->type)
86.6105 -+ {
86.6106 -+ case FFI_TYPE_VOID:
86.6107 -+ case FFI_TYPE_STRUCT:
86.6108 -+ case FFI_TYPE_SINT64:
86.6109 -+ case FFI_TYPE_FLOAT:
86.6110 -+ case FFI_TYPE_DOUBLE:
86.6111 -+ case FFI_TYPE_LONGDOUBLE:
86.6112 -+ cif->flags = (unsigned) cif->rtype->type;
86.6113 -+ break;
86.6114 -+
86.6115 -+ case FFI_TYPE_UINT64:
86.6116 -+ cif->flags = FFI_TYPE_SINT64;
86.6117 -+ break;
86.6118 -+
86.6119 -+ default:
86.6120 -+ cif->flags = FFI_TYPE_INT;
86.6121 -+ break;
86.6122 -+ }
86.6123 -+
86.6124 -+ return FFI_OK;
86.6125 -+}
86.6126 -+
86.6127 -+typedef struct
86.6128 -+{
86.6129 -+ long gpr[2];
86.6130 -+ __int128_t sse[2];
86.6131 -+ long double st0;
86.6132 -+} return_value;
86.6133 -+
86.6134 -+void
86.6135 -+ffi_fill_return_value (return_value *rv, extended_cif *ecif)
86.6136 -+{
86.6137 -+ enum x86_64_reg_class classes[MAX_CLASSES];
86.6138 -+ int i = 0, num;
86.6139 -+ long *gpr = rv->gpr;
86.6140 -+ __int128_t *sse = rv->sse;
86.6141 -+ signed char sc;
86.6142 -+ signed short ss;
86.6143 -+
86.6144 -+ /* This is needed because of the way x86-64 handles signed short
86.6145 -+ integers. */
86.6146 -+ switch (ecif->cif->rtype->type)
86.6147 -+ {
86.6148 -+ case FFI_TYPE_SINT8:
86.6149 -+ sc = *(signed char *)gpr;
86.6150 -+ *(long long *)ecif->rvalue = (long long)sc;
86.6151 -+ return;
86.6152 -+ case FFI_TYPE_SINT16:
86.6153 -+ ss = *(signed short *)gpr;
86.6154 -+ *(long long *)ecif->rvalue = (long long)ss;
86.6155 -+ return;
86.6156 -+ default:
86.6157 -+ /* Just continue. */
86.6158 -+ ;
86.6159 -+ }
86.6160 -+
86.6161 -+ num = classify_argument (ecif->cif->rtype, classes, &i);
86.6162 -+
86.6163 -+ if (num == 0)
86.6164 -+ /* Return in memory. */
86.6165 -+ ecif->rvalue = (void *) rv->gpr[0];
86.6166 -+ else if (num == 2 && classes[0] == X86_64_X87_CLASS &&
86.6167 -+ classes[1] == X86_64_X87UP_CLASS)
86.6168 -+ /* This is a long double (this is easiest to handle this way instead
86.6169 -+ of an eightbyte at a time as in the loop below. */
86.6170 -+ *((long double *)ecif->rvalue) = rv->st0;
86.6171 -+ else
86.6172 -+ {
86.6173 -+ void *a;
86.6174 -+
86.6175 -+ for (i=0, a=ecif->rvalue; i<num; i++, a+=8)
86.6176 -+ {
86.6177 -+ switch (classes[i])
86.6178 -+ {
86.6179 -+ case X86_64_INTEGER_CLASS:
86.6180 -+ case X86_64_INTEGERSI_CLASS:
86.6181 -+ *(long long *)a = *gpr;
86.6182 -+ gpr++;
86.6183 -+ break;
86.6184 -+ case X86_64_SSE_CLASS:
86.6185 -+ sse2floatfloat (sse++, a);
86.6186 -+ break;
86.6187 -+ case X86_64_SSESF_CLASS:
86.6188 -+ *(float *)a = sse2float (sse++);
86.6189 -+ break;
86.6190 -+ case X86_64_SSEDF_CLASS:
86.6191 -+ *(double *)a = sse2double (sse++);
86.6192 -+ break;
86.6193 -+ default:
86.6194 -+ abort();
86.6195 -+ }
86.6196 -+ }
86.6197 -+ }
86.6198 -+}
86.6199 -+
86.6200 -+/*@-declundef@*/
86.6201 -+/*@-exportheader@*/
86.6202 -+extern void ffi_call_UNIX64(void (*)(stackLayout *, extended_cif *),
86.6203 -+ void (*) (return_value *, extended_cif *),
86.6204 -+ /*@out@*/ extended_cif *,
86.6205 -+ unsigned, /*@out@*/ unsigned *, void (*fn)());
86.6206 -+/*@=declundef@*/
86.6207 -+/*@=exportheader@*/
86.6208 -+
86.6209 -+void ffi_call(/*@dependent@*/ ffi_cif *cif,
86.6210 -+ void (*fn)(),
86.6211 -+ /*@out@*/ void *rvalue,
86.6212 -+ /*@dependent@*/ void **avalue)
86.6213 -+{
86.6214 -+ extended_cif ecif;
86.6215 -+ int dummy;
86.6216 -+
86.6217 -+ ecif.cif = cif;
86.6218 -+ ecif.avalue = avalue;
86.6219 -+
86.6220 -+ /* If the return value is a struct and we don't have a return */
86.6221 -+ /* value address then we need to make one */
86.6222 -+
86.6223 -+ if ((rvalue == NULL) &&
86.6224 -+ (examine_argument (cif->rtype, 1, &dummy, &dummy) == 0))
86.6225 -+ {
86.6226 -+ /*@-sysunrecog@*/
86.6227 -+ ecif.rvalue = alloca(cif->rtype->size);
86.6228 -+ /*@=sysunrecog@*/
86.6229 -+ }
86.6230 -+ else
86.6231 -+ ecif.rvalue = rvalue;
86.6232 -+
86.6233 -+ /* Stack must always be 16byte aligned. Make it so. */
86.6234 -+ cif->bytes = ALIGN(cif->bytes, 16);
86.6235 -+
86.6236 -+ switch (cif->abi)
86.6237 -+ {
86.6238 -+ case FFI_SYSV:
86.6239 -+ /* Calling 32bit code from 64bit is not possible */
86.6240 -+ FFI_ASSERT(0);
86.6241 -+ break;
86.6242 -+
86.6243 -+ case FFI_UNIX64:
86.6244 -+ /*@-usedef@*/
86.6245 -+ ffi_call_UNIX64 (ffi_prep_args, ffi_fill_return_value, &ecif,
86.6246 -+ cif->bytes, ecif.rvalue, fn);
86.6247 -+ /*@=usedef@*/
86.6248 -+ break;
86.6249 -+
86.6250 -+ default:
86.6251 -+ FFI_ASSERT(0);
86.6252 -+ break;
86.6253 -+ }
86.6254 -+}
86.6255 -+
86.6256 -+extern void ffi_closure_UNIX64(void);
86.6257 -+
86.6258 -+ffi_status
86.6259 -+ffi_prep_closure (ffi_closure* closure,
86.6260 -+ ffi_cif* cif,
86.6261 -+ void (*fun)(ffi_cif*, void*, void**, void*),
86.6262 -+ void *user_data)
86.6263 -+{
86.6264 -+ volatile unsigned short *tramp;
86.6265 -+
86.6266 -+ /* FFI_ASSERT (cif->abi == FFI_OSF); */
86.6267 -+
86.6268 -+ tramp = (volatile unsigned short *) &closure->tramp[0];
86.6269 -+ tramp[0] = 0xbb49; /* mov <code>, %r11 */
86.6270 -+ tramp[5] = 0xba49; /* mov <data>, %r10 */
86.6271 -+ tramp[10] = 0xff49; /* jmp *%r11 */
86.6272 -+ tramp[11] = 0x00e3;
86.6273 -+ *(void * volatile *) &tramp[1] = ffi_closure_UNIX64;
86.6274 -+ *(void * volatile *) &tramp[6] = closure;
86.6275 -+
86.6276 -+ closure->cif = cif;
86.6277 -+ closure->fun = fun;
86.6278 -+ closure->user_data = user_data;
86.6279 -+
86.6280 -+ return FFI_OK;
86.6281 -+}
86.6282 -+
86.6283 -+int
86.6284 -+ffi_closure_UNIX64_inner(ffi_closure *closure, va_list l, void *rp)
86.6285 -+{
86.6286 -+ ffi_cif *cif;
86.6287 -+ void **avalue;
86.6288 -+ ffi_type **arg_types;
86.6289 -+ long i, avn, argn;
86.6290 -+
86.6291 -+ cif = closure->cif;
86.6292 -+ avalue = alloca(cif->nargs * sizeof(void *));
86.6293 -+
86.6294 -+ argn = 0;
86.6295 -+
86.6296 -+ i = 0;
86.6297 -+ avn = cif->nargs;
86.6298 -+ arg_types = cif->arg_types;
86.6299 -+
86.6300 -+ /* Grab the addresses of the arguments from the stack frame. */
86.6301 -+ while (i < avn)
86.6302 -+ {
86.6303 -+ switch (arg_types[i]->type)
86.6304 -+ {
86.6305 -+ case FFI_TYPE_SINT8:
86.6306 -+ case FFI_TYPE_UINT8:
86.6307 -+ case FFI_TYPE_SINT16:
86.6308 -+ case FFI_TYPE_UINT16:
86.6309 -+ case FFI_TYPE_SINT32:
86.6310 -+ case FFI_TYPE_UINT32:
86.6311 -+ case FFI_TYPE_SINT64:
86.6312 -+ case FFI_TYPE_UINT64:
86.6313 -+ case FFI_TYPE_POINTER:
86.6314 -+ {
86.6315 -+ if (l->gp_offset > 48-8)
86.6316 -+ {
86.6317 -+ avalue[i] = l->overflow_arg_area;
86.6318 -+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
86.6319 -+ }
86.6320 -+ else
86.6321 -+ {
86.6322 -+ avalue[i] = (char *)l->reg_save_area + l->gp_offset;
86.6323 -+ l->gp_offset += 8;
86.6324 -+ }
86.6325 -+ }
86.6326 -+ break;
86.6327 -+
86.6328 -+ case FFI_TYPE_STRUCT:
86.6329 -+ /* FIXME */
86.6330 -+ FFI_ASSERT(0);
86.6331 -+ break;
86.6332 -+
86.6333 -+ case FFI_TYPE_DOUBLE:
86.6334 -+ {
86.6335 -+ if (l->fp_offset > 176-16)
86.6336 -+ {
86.6337 -+ avalue[i] = l->overflow_arg_area;
86.6338 -+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
86.6339 -+ }
86.6340 -+ else
86.6341 -+ {
86.6342 -+ avalue[i] = (char *)l->reg_save_area + l->fp_offset;
86.6343 -+ l->fp_offset += 16;
86.6344 -+ }
86.6345 -+ }
86.6346 -+#if DEBUG_FFI
86.6347 -+ fprintf (stderr, "double arg %d = %g\n", i, *(double *)avalue[i]);
86.6348 -+#endif
86.6349 -+ break;
86.6350 -+
86.6351 -+ case FFI_TYPE_FLOAT:
86.6352 -+ {
86.6353 -+ if (l->fp_offset > 176-16)
86.6354 -+ {
86.6355 -+ avalue[i] = l->overflow_arg_area;
86.6356 -+ l->overflow_arg_area = (char *)l->overflow_arg_area + 8;
86.6357 -+ }
86.6358 -+ else
86.6359 -+ {
86.6360 -+ avalue[i] = (char *)l->reg_save_area + l->fp_offset;
86.6361 -+ l->fp_offset += 16;
86.6362 -+ }
86.6363 -+ }
86.6364 -+#if DEBUG_FFI
86.6365 -+ fprintf (stderr, "float arg %d = %g\n", i, *(float *)avalue[i]);
86.6366 -+#endif
86.6367 -+ break;
86.6368 -+
86.6369 -+ default:
86.6370 -+ FFI_ASSERT(0);
86.6371 -+ }
86.6372 -+
86.6373 -+ argn += ALIGN(arg_types[i]->size, SIZEOF_ARG) / SIZEOF_ARG;
86.6374 -+ i++;
86.6375 -+ }
86.6376 -+
86.6377 -+ /* Invoke the closure. */
86.6378 -+ (closure->fun) (cif, rp, avalue, closure->user_data);
86.6379 -+
86.6380 -+ /* FIXME: Structs not supported. */
86.6381 -+ FFI_ASSERT(cif->rtype->type != FFI_TYPE_STRUCT);
86.6382 -+
86.6383 -+ /* Tell ffi_closure_UNIX64 how to perform return type promotions. */
86.6384 -+
86.6385 -+ return cif->rtype->type;
86.6386 -+}
86.6387 -+#endif /* ifndef __x86_64__ */
86.6388 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/x86/sysv.S gcc/libffi/src/x86/sysv.S
86.6389 ---- gcc-3.2.2.orig/libffi/src/x86/sysv.S Tue Jul 17 02:10:53 2001
86.6390 -+++ gcc/libffi/src/x86/sysv.S Fri Jul 19 08:08:31 2002
86.6391 -@@ -1,5 +1,5 @@
86.6392 - /* -----------------------------------------------------------------------
86.6393 -- sysv.S - Copyright (c) 1996, 1998, 2001 Cygnus Solutions
86.6394 -+ sysv.S - Copyright (c) 1996, 1998, 2001, 2002 Cygnus Solutions
86.6395 -
86.6396 - X86 Foreign Function Interface
86.6397 -
86.6398 -@@ -23,6 +23,8 @@
86.6399 - OTHER DEALINGS IN THE SOFTWARE.
86.6400 - ----------------------------------------------------------------------- */
86.6401 -
86.6402 -+#ifndef __x86_64__
86.6403 -+
86.6404 - #define LIBFFI_ASM
86.6405 - #include <ffi.h>
86.6406 -
86.6407 -@@ -163,3 +165,5 @@
86.6408 - .align 4
86.6409 - .LEFDE1:
86.6410 - .set .LLFDE1,.LEFDE1-.LSFDE1
86.6411 -+
86.6412 -+#endif /* ifndef __x86_64__ */
86.6413 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/x86/unix64.S gcc/libffi/src/x86/unix64.S
86.6414 ---- gcc-3.2.2.orig/libffi/src/x86/unix64.S Thu Jan 1 09:00:00 1970
86.6415 -+++ gcc/libffi/src/x86/unix64.S Wed Jan 29 00:54:28 2003
86.6416 -@@ -0,0 +1,302 @@
86.6417 -+/* -----------------------------------------------------------------------
86.6418 -+ unix64.S - Copyright (c) 2002 Bo Thorsen <bo@suse.de>
86.6419 -+
86.6420 -+ x86-64 Foreign Function Interface
86.6421 -+
86.6422 -+ Permission is hereby granted, free of charge, to any person obtaining
86.6423 -+ a copy of this software and associated documentation files (the
86.6424 -+ ``Software''), to deal in the Software without restriction, including
86.6425 -+ without limitation the rights to use, copy, modify, merge, publish,
86.6426 -+ distribute, sublicense, and/or sell copies of the Software, and to
86.6427 -+ permit persons to whom the Software is furnished to do so, subject to
86.6428 -+ the following conditions:
86.6429 -+
86.6430 -+ The above copyright notice and this permission notice shall be included
86.6431 -+ in all copies or substantial portions of the Software.
86.6432 -+
86.6433 -+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
86.6434 -+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
86.6435 -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
86.6436 -+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
86.6437 -+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
86.6438 -+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
86.6439 -+ OTHER DEALINGS IN THE SOFTWARE.
86.6440 -+ ----------------------------------------------------------------------- */
86.6441 -+
86.6442 -+#ifdef __x86_64__
86.6443 -+#define LIBFFI_ASM
86.6444 -+#include <ffi.h>
86.6445 -+
86.6446 -+ .section .rodata
86.6447 -+.LC0:
86.6448 -+ .string "asm in progress %lld\n"
86.6449 -+.LC1:
86.6450 -+ .string "asm in progress\n"
86.6451 -+.text
86.6452 -+ .align 2
86.6453 -+.globl ffi_call_UNIX64
86.6454 -+ .type ffi_call_UNIX64,@function
86.6455 -+
86.6456 -+ffi_call_UNIX64:
86.6457 -+.LFB1:
86.6458 -+ pushq %rbp
86.6459 -+.LCFI0:
86.6460 -+ movq %rsp, %rbp
86.6461 -+.LCFI1:
86.6462 -+ /* Save all arguments */
86.6463 -+ subq $48, %rsp
86.6464 -+.LCFI2:
86.6465 -+ movq %rdi, -8(%rbp) /* ffi_prep_args */
86.6466 -+ movq %rsi, -16(%rbp) /* ffi_fill_return_value */
86.6467 -+ movq %rdx, -24(%rbp) /* ecif */
86.6468 -+ movq %rcx, -32(%rbp) /* cif->bytes */
86.6469 -+ movq %r8, -40(%rbp) /* ecif.rvalue */
86.6470 -+ movq %r9, -48(%rbp) /* fn */
86.6471 -+
86.6472 -+ /* Make room for all of the new args and the register args */
86.6473 -+ addl $176, %ecx
86.6474 -+.LCFI3:
86.6475 -+ subq %rcx, %rsp
86.6476 -+.LCFI4:
86.6477 -+ /* Setup the call to ffi_prep_args. */
86.6478 -+ movq %rdi, %rax /* &ffi_prep_args */
86.6479 -+ movq %rsp, %rdi /* stackLayout */
86.6480 -+ movq %rdx, %rsi /* ecif */
86.6481 -+ call *%rax /* ffi_prep_args(stackLayout, ecif);*/
86.6482 -+
86.6483 -+ /* ffi_prep_args have put all the register contents into the */
86.6484 -+ /* stackLayout struct. Now put the register values in place. */
86.6485 -+ movq (%rsp), %rdi
86.6486 -+ movq 8(%rsp), %rsi
86.6487 -+ movq 16(%rsp), %rdx
86.6488 -+ movq 24(%rsp), %rcx
86.6489 -+ movq 32(%rsp), %r8
86.6490 -+ movq 40(%rsp), %r9
86.6491 -+ movaps 48(%rsp), %xmm0
86.6492 -+ movaps 64(%rsp), %xmm1
86.6493 -+ movaps 80(%rsp), %xmm2
86.6494 -+ movaps 96(%rsp), %xmm3
86.6495 -+ movaps 112(%rsp), %xmm4
86.6496 -+ movaps 128(%rsp), %xmm5
86.6497 -+ movaps 144(%rsp), %xmm6
86.6498 -+ movaps 160(%rsp), %xmm7
86.6499 -+
86.6500 -+ /* Remove space for stackLayout so stack arguments are placed
86.6501 -+ correctly for the call. */
86.6502 -+.LCFI5:
86.6503 -+ addq $176, %rsp
86.6504 -+.LCFI6:
86.6505 -+ /* Call the user function. */
86.6506 -+ call *-48(%rbp)
86.6507 -+
86.6508 -+ /* Make stack space for the return_value struct. */
86.6509 -+ subq $64, %rsp
86.6510 -+
86.6511 -+ /* Fill in all potential return values to this struct. */
86.6512 -+ movq %rax, (%rsp)
86.6513 -+ movq %rdx, 8(%rsp)
86.6514 -+ movaps %xmm0, 16(%rsp)
86.6515 -+ movaps %xmm1, 32(%rsp)
86.6516 -+ fstpt 48(%rsp)
86.6517 -+
86.6518 -+ /* Now call ffi_fill_return_value. */
86.6519 -+ movq %rsp, %rdi /* struct return_value */
86.6520 -+ movq -24(%rbp), %rsi /* ecif */
86.6521 -+ movq -16(%rbp), %rax /* &ffi_fill_return_value */
86.6522 -+ call *%rax /* call it */
86.6523 -+
86.6524 -+ /* And the work is done. */
86.6525 -+ leave
86.6526 -+ ret
86.6527 -+.LFE1:
86.6528 -+.ffi_call_UNIX64_end:
86.6529 -+ .size ffi_call_UNIX64,.ffi_call_UNIX64_end-ffi_call_UNIX64
86.6530 -+
86.6531 -+.text
86.6532 -+ .align 2
86.6533 -+.globl float2sse
86.6534 -+ .type float2sse,@function
86.6535 -+float2sse:
86.6536 -+ /* Save the contents of this sse-float in a pointer. */
86.6537 -+ movaps %xmm0, (%rdi)
86.6538 -+ ret
86.6539 -+
86.6540 -+ .align 2
86.6541 -+.globl floatfloat2sse
86.6542 -+ .type floatfloat2sse,@function
86.6543 -+floatfloat2sse:
86.6544 -+ /* Save the contents of these two sse-floats in a pointer. */
86.6545 -+ movq (%rdi), %xmm0
86.6546 -+ movaps %xmm0, (%rsi)
86.6547 -+ ret
86.6548 -+
86.6549 -+ .align 2
86.6550 -+.globl double2sse
86.6551 -+ .type double2sse,@function
86.6552 -+double2sse:
86.6553 -+ /* Save the contents of this sse-double in a pointer. */
86.6554 -+ movaps %xmm0, (%rdi)
86.6555 -+ ret
86.6556 -+
86.6557 -+ .align 2
86.6558 -+.globl sse2float
86.6559 -+ .type sse2float,@function
86.6560 -+sse2float:
86.6561 -+ /* Save the contents of this sse-float in a pointer. */
86.6562 -+ movaps (%rdi), %xmm0
86.6563 -+ ret
86.6564 -+
86.6565 -+ .align 2
86.6566 -+.globl sse2double
86.6567 -+ .type sse2double,@function
86.6568 -+sse2double:
86.6569 -+ /* Save the contents of this pointer in a sse-double. */
86.6570 -+ movaps (%rdi), %xmm0
86.6571 -+ ret
86.6572 -+
86.6573 -+ .align 2
86.6574 -+.globl sse2floatfloat
86.6575 -+ .type sse2floatfloat,@function
86.6576 -+sse2floatfloat:
86.6577 -+ /* Save the contents of this pointer in two sse-floats. */
86.6578 -+ movaps (%rdi), %xmm0
86.6579 -+ movq %xmm0, (%rsi)
86.6580 -+ ret
86.6581 -+
86.6582 -+ .align 2
86.6583 -+.globl ffi_closure_UNIX64
86.6584 -+ .type ffi_closure_UNIX64,@function
86.6585 -+
86.6586 -+ffi_closure_UNIX64:
86.6587 -+.LFB2:
86.6588 -+ pushq %rbp
86.6589 -+.LCFI10:
86.6590 -+ movq %rsp, %rbp
86.6591 -+.LCFI11:
86.6592 -+ subq $240, %rsp
86.6593 -+.LCFI12:
86.6594 -+ movq %rdi, -176(%rbp)
86.6595 -+ movq %rsi, -168(%rbp)
86.6596 -+ movq %rdx, -160(%rbp)
86.6597 -+ movq %rcx, -152(%rbp)
86.6598 -+ movq %r8, -144(%rbp)
86.6599 -+ movq %r9, -136(%rbp)
86.6600 -+ /* FIXME: We can avoid all this stashing of XMM registers by
86.6601 -+ (in ffi_prep_closure) computing the number of
86.6602 -+ floating-point args and moving it into %rax before calling
86.6603 -+ this function. Once this is done, uncomment the next few
86.6604 -+ lines and only the essential XMM registers will be written
86.6605 -+ to memory. This is a significant saving. */
86.6606 -+/* movzbl %al, %eax */
86.6607 -+/* movq %rax, %rdx */
86.6608 -+/* leaq 0(,%rdx,4), %rax */
86.6609 -+/* leaq 2f(%rip), %rdx */
86.6610 -+/* subq %rax, %rdx */
86.6611 -+ leaq -1(%rbp), %rax
86.6612 -+/* jmp *%rdx */
86.6613 -+ movaps %xmm7, -15(%rax)
86.6614 -+ movaps %xmm6, -31(%rax)
86.6615 -+ movaps %xmm5, -47(%rax)
86.6616 -+ movaps %xmm4, -63(%rax)
86.6617 -+ movaps %xmm3, -79(%rax)
86.6618 -+ movaps %xmm2, -95(%rax)
86.6619 -+ movaps %xmm1, -111(%rax)
86.6620 -+ movaps %xmm0, -127(%rax)
86.6621 -+2:
86.6622 -+ movl %edi, -180(%rbp)
86.6623 -+ movl $0, -224(%rbp)
86.6624 -+ movl $48, -220(%rbp)
86.6625 -+ leaq 16(%rbp), %rax
86.6626 -+ movq %rax, -216(%rbp)
86.6627 -+ leaq -176(%rbp), %rdx
86.6628 -+ movq %rdx, -208(%rbp)
86.6629 -+ leaq -224(%rbp), %rsi
86.6630 -+ movq %r10, %rdi
86.6631 -+ movq %rsp, %rdx
86.6632 -+ call ffi_closure_UNIX64_inner@PLT
86.6633 -+
86.6634 -+ cmpl $FFI_TYPE_FLOAT, %eax
86.6635 -+ je 1f
86.6636 -+ cmpl $FFI_TYPE_DOUBLE, %eax
86.6637 -+ je 2f
86.6638 -+ cmpl $FFI_TYPE_LONGDOUBLE, %eax
86.6639 -+ je 3f
86.6640 -+ cmpl $FFI_TYPE_STRUCT, %eax
86.6641 -+ je 4f
86.6642 -+ popq %rax
86.6643 -+ leave
86.6644 -+ ret
86.6645 -+1:
86.6646 -+2:
86.6647 -+3:
86.6648 -+ movaps -240(%rbp), %xmm0
86.6649 -+ leave
86.6650 -+ ret
86.6651 -+4:
86.6652 -+ leave
86.6653 -+ ret
86.6654 -+.LFE2:
86.6655 -+
86.6656 -+ .section .eh_frame,"a",@progbits
86.6657 -+.Lframe0:
86.6658 -+ .long .LECIE1-.LSCIE1
86.6659 -+.LSCIE1:
86.6660 -+ .long 0x0
86.6661 -+ .byte 0x1
86.6662 -+ .string "zR"
86.6663 -+ .uleb128 0x1
86.6664 -+ .sleb128 -8
86.6665 -+ .byte 0x10
86.6666 -+ .uleb128 0x1
86.6667 -+ .byte 0x1b
86.6668 -+ .byte 0xc
86.6669 -+ .uleb128 0x7
86.6670 -+ .uleb128 0x8
86.6671 -+ .byte 0x90
86.6672 -+ .uleb128 0x1
86.6673 -+ .align 8
86.6674 -+.LECIE1:
86.6675 -+.LSFDE1:
86.6676 -+ .long .LEFDE1-.LASFDE1
86.6677 -+.LASFDE1:
86.6678 -+ .long .LASFDE1-.Lframe0
86.6679 -+
86.6680 -+ .long .LFB1-.
86.6681 -+ .long .LFE1-.LFB1
86.6682 -+ .uleb128 0x0
86.6683 -+ .byte 0x4 # DW_CFA_advance_loc4
86.6684 -+ .long .LCFI0-.LFB1
86.6685 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.6686 -+ .uleb128 0x10
86.6687 -+ .byte 0x86 # DW_CFA_offset: r6 at cfa-16
86.6688 -+ .uleb128 0x2
86.6689 -+ .byte 0x4 # DW_CFA_advance_loc4
86.6690 -+ .long .LCFI1-.LCFI0
86.6691 -+ .byte 0x86 # DW_CFA_offset: r6 at cfa-16
86.6692 -+ .uleb128 0x2
86.6693 -+ .byte 0xd # DW_CFA_def_cfa_reg: r6
86.6694 -+ .uleb128 0x6
86.6695 -+ .align 8
86.6696 -+.LEFDE1:
86.6697 -+.LSFDE3:
86.6698 -+ .long .LEFDE3-.LASFDE3 # FDE Length
86.6699 -+.LASFDE3:
86.6700 -+ .long .LASFDE3-.Lframe0 # FDE CIE offset
86.6701 -+
86.6702 -+ .long .LFB2-. # FDE initial location
86.6703 -+ .long .LFE2-.LFB2 # FDE address range
86.6704 -+ .uleb128 0x0 # Augmentation size
86.6705 -+ .byte 0x4 # DW_CFA_advance_loc4
86.6706 -+ .long .LCFI10-.LFB2
86.6707 -+ .byte 0xe # DW_CFA_def_cfa_offset
86.6708 -+ .uleb128 0x10
86.6709 -+ .byte 0x86 # DW_CFA_offset, column 0x6
86.6710 -+ .uleb128 0x2
86.6711 -+ .byte 0x4 # DW_CFA_advance_loc4
86.6712 -+ .long .LCFI11-.LCFI10
86.6713 -+ .byte 0xd # DW_CFA_def_cfa_register
86.6714 -+ .uleb128 0x6
86.6715 -+ .align 8
86.6716 -+.LEFDE3:
86.6717 -+
86.6718 -+#endif /* __x86_64__ */
86.6719 -diff -ruN --exclude=CVS gcc-3.2.2.orig/libffi/src/x86/win32.S gcc/libffi/src/x86/win32.S
86.6720 ---- gcc-3.2.2.orig/libffi/src/x86/win32.S Tue Mar 27 11:39:16 2001
86.6721 -+++ gcc/libffi/src/x86/win32.S Fri Dec 6 10:16:45 2002
86.6722 -@@ -1,5 +1,8 @@
86.6723 - /* -----------------------------------------------------------------------
86.6724 -- win32.S - Copyright (c) 1996, 1998, 2001 Cygnus Solutions
86.6725 -+ win32.S - Copyright (c) 1996, 1998, 2001, 2002 Red Hat, Inc.
86.6726 -+ Copyright (c) 2001 John Beniton
86.6727 -+ Copyright (c) 2002 Ranjit Mathew
86.6728 -+
86.6729 -
86.6730 - X86 Foreign Function Interface
86.6731 -
86.6732 -@@ -52,7 +55,10 @@
86.6733 - # Return stack to previous state and call the function
86.6734 - addl $8,%esp
86.6735 -
86.6736 -- call *28(%ebp)
86.6737 -+ # FIXME: Align the stack to a 128-bit boundary to avoid
86.6738 -+ # potential performance hits.
86.6739 -+
86.6740 -+ call *28(%ebp)
86.6741 -
86.6742 - # Remove the space we pushed for the args
86.6743 - movl 16(%ebp),%ecx
86.6744 -@@ -123,3 +129,98 @@
86.6745 - ret
86.6746 -
86.6747 - .ffi_call_SYSV_end:
86.6748 -+
86.6749 -+ # This assumes we are using gas.
86.6750 -+ .balign 16
86.6751 -+.globl _ffi_call_STDCALL
86.6752 -+
86.6753 -+_ffi_call_STDCALL:
86.6754 -+ pushl %ebp
86.6755 -+ movl %esp,%ebp
86.6756 -+
86.6757 -+ # Make room for all of the new args.
86.6758 -+ movl 16(%ebp),%ecx
86.6759 -+ subl %ecx,%esp
86.6760 -+
86.6761 -+ movl %esp,%eax
86.6762 -+
86.6763 -+ # Place all of the ffi_prep_args in position
86.6764 -+ pushl 12(%ebp)
86.6765 -+ pushl %eax
86.6766 -+ call *8(%ebp)
86.6767 -+
86.6768 -+ # Return stack to previous state and call the function
86.6769 -+ addl $8,%esp
86.6770 -+
86.6771 -+ # FIXME: Align the stack to a 128-bit boundary to avoid
86.6772 -+ # potential performance hits.
86.6773 -+
86.6774 -+ call *28(%ebp)
86.6775 -+
86.6776 -+ # stdcall functions pop arguments off the stack themselves
86.6777 -+
86.6778 -+ # Load %ecx with the return type code
86.6779 -+ movl 20(%ebp),%ecx
86.6780 -+
86.6781 -+ # If the return value pointer is NULL, assume no return value.
86.6782 -+ cmpl $0,24(%ebp)
86.6783 -+ jne sc_retint
86.6784 -+
86.6785 -+ # Even if there is no space for the return value, we are
86.6786 -+ # obliged to handle floating-point values.
86.6787 -+ cmpl $FFI_TYPE_FLOAT,%ecx
86.6788 -+ jne sc_noretval
86.6789 -+ fstp %st(0)
86.6790 -+
86.6791 -+ jmp sc_epilogue
86.6792 -+
86.6793 -+sc_retint:
86.6794 -+ cmpl $FFI_TYPE_INT,%ecx
86.6795 -+ jne sc_retfloat
86.6796 -+ # Load %ecx with the pointer to storage for the return value
86.6797 -+ movl 24(%ebp),%ecx
86.6798 -+ movl %eax,0(%ecx)
86.6799 -+ jmp sc_epilogue
86.6800 -+
86.6801 -+sc_retfloat:
86.6802 -+ cmpl $FFI_TYPE_FLOAT,%ecx
86.6803 -+ jne sc_retdouble
86.6804 -+ # Load %ecx with the pointer to storage for the return value
86.6805 -+ movl 24(%ebp),%ecx
86.6806 -+ fstps (%ecx)
86.6807 -+ jmp sc_epilogue
86.6808 -+
86.6809 -+sc_retdouble:
86.6810 -+ cmpl $FFI_TYPE_DOUBLE,%ecx
86.6811 -+ jne sc_retlongdouble
86.6812 -+ # Load %ecx with the pointer to storage for the return value
86.6813 -+ movl 24(%ebp),%ecx
86.6814 -+ fstpl (%ecx)
86.6815 -+ jmp sc_epilogue
86.6816 -+
86.6817 -+sc_retlongdouble:
86.6818 -+ cmpl $FFI_TYPE_LONGDOUBLE,%ecx
86.6819 -+ jne sc_retint64
86.6820 -+ # Load %ecx with the pointer to storage for the return value
86.6821 -+ movl 24(%ebp),%ecx
86.6822 -+ fstpt (%ecx)
86.6823 -+ jmp sc_epilogue
86.6824 -+
86.6825 -+sc_retint64:
86.6826 -+ cmpl $FFI_TYPE_SINT64,%ecx
86.6827 -+ jne sc_retstruct
86.6828 -+ # Load %ecx with the pointer to storage for the return value
86.6829 -+ movl 24(%ebp),%ecx
86.6830 -+ movl %eax,0(%ecx)
86.6831 -+ movl %edx,4(%ecx)
86.6832 -+
86.6833 -+sc_retstruct:
86.6834 -+ # Nothing to do!
86.6835 -+
86.6836 -+sc_noretval:
86.6837 -+sc_epilogue:
86.6838 -+ movl %ebp,%esp
86.6839 -+ popl %ebp
86.6840 -+ ret
86.6841 -+
86.6842 -+.ffi_call_STDCALL_end:
86.6843 ---- gcc-3.2.2.orig/libjava/configure.host Mon Jun 10 13:15:26 2002
86.6844 -+++ gcc-3.2.2/libjava/configure.host Sat Feb 15 19:57:25 2003
86.6845 -@@ -115,6 +115,12 @@
86.6846 - enable_getenv_properties_default=no
86.6847 - enable_main_args_default=no
86.6848 - ;;
86.6849 -+ sh-* | sh[34]*-*)
86.6850 -+ sysdeps_dir=sh
86.6851 -+ libgcj_flags="${libgcj_flags} -mieee"
86.6852 -+ libgcj_interpreter=yes
86.6853 -+ enable_hash_synchronization_default=yes
86.6854 -+ ;;
86.6855 - esac
86.6856 -
86.6857 - # This case statement supports generic port properties and may refine
86.6858 -@@ -126,7 +132,8 @@
86.6859 - powerpc*-linux* | \
86.6860 - alpha*-linux* | \
86.6861 - sparc*-linux* | \
86.6862 -- ia64-*)
86.6863 -+ ia64-* | \
86.6864 -+ sh-linux* | sh[34]*-linux*)
86.6865 - can_unwind_signal=yes
86.6866 - ;;
86.6867 - *-*-darwin*)
87.1 --- a/patches/gcc/3.2.3/150-ppc-asm-spec.patch Wed Oct 28 12:03:38 2009 +0100
87.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
87.3 @@ -1,54 +0,0 @@
87.4 -Based on gcc-3.4.0/gcc-3.3.3h-ppc-asm-spec.patch
87.5 -
87.6 -Fixes the following errors when building gcc for ppc7450:
87.7 -
87.8 -/tmp/ccYph3gd.s: Assembler messages:
87.9 -/tmp/ccYph3gd.s:3823: Error: Unrecognized opcode: `mfvrsave'
87.10 -/tmp/ccYph3gd.s:3857: Error: Unrecognized opcode: `stvx'
87.11 -/tmp/ccYph3gd.s:4026: Error: Unrecognized opcode: `lvx'
87.12 -/tmp/ccYph3gd.s:4027: Error: Unrecognized opcode: `mtvrsave'
87.13 -make[2]: *** [libgcc/./unwind-dw2.o] Error 1
87.14 -make[2]: Leaving directory `/opt/crosstool-0.28-rc35/build/powerpc-7450-linux-gnu/gcc-3.2.3-glibc-2.3.2/build-gcc-core/gcc'
87.15 -make[1]: *** [stmp-multilib] Error 2
87.16 -make[1]: Leaving directory `/opt/crosstool-0.28-rc35/build/powerpc-7450-linux-gnu/gcc-3.2.3-glibc-2.3.2/build-gcc-core/gcc'
87.17 -make: *** [all-gcc] Error 2
87.18 -
87.19 -Note that the "-mcpu=7450" option must appear on the "gcc" command line in
87.20 -order for "-maltivec" to be passed to the assembler. Or, "-maltivec" itself
87.21 -may be passed to the "gcc" command.
87.22 -
87.23 -Contributed by Tom Warzeka <waz@quahog.npt.nuwc.navy.mil>
87.24 -
87.25 -===================================================================
87.26 ---- gcc-3.2.3/gcc/config/rs6000/rs6000.h~ 2003-03-29 07:39:20.000000000 -0500
87.27 -+++ gcc-3.2.3/gcc/config/rs6000/rs6000.h 2004-08-23 16:33:21.000000000 -0400
87.28 -@@ -77,8 +77,8 @@
87.29 - %{mcpu=604e: -D_ARCH_PPC} \
87.30 - %{mcpu=620: -D_ARCH_PPC} \
87.31 - %{mcpu=740: -D_ARCH_PPC} \
87.32 --%{mcpu=7400: -D_ARCH_PPC} \
87.33 --%{mcpu=7450: -D_ARCH_PPC} \
87.34 -+%{mcpu=7400: -D_ARCH_PPC -D__ALTIVEC__} \
87.35 -+%{mcpu=7450: -D_ARCH_PPC -D__ALTIVEC__} \
87.36 - %{mcpu=750: -D_ARCH_PPC} \
87.37 - %{mcpu=801: -D_ARCH_PPC} \
87.38 - %{mcpu=821: -D_ARCH_PPC} \
87.39 -@@ -117,14 +117,15 @@
87.40 - %{mcpu=604e: -mppc} \
87.41 - %{mcpu=620: -mppc} \
87.42 - %{mcpu=740: -mppc} \
87.43 --%{mcpu=7400: -mppc} \
87.44 --%{mcpu=7450: -mppc} \
87.45 -+%{mcpu=7400: -mppc -maltivec} \
87.46 -+%{mcpu=7450: -mppc -maltivec} \
87.47 - %{mcpu=750: -mppc} \
87.48 - %{mcpu=801: -mppc} \
87.49 - %{mcpu=821: -mppc} \
87.50 - %{mcpu=823: -mppc} \
87.51 - %{mcpu=860: -mppc} \
87.52 --%{maltivec: -maltivec}"
87.53 -+%{maltivec: -maltivec} \
87.54 -+-many"
87.55 -
87.56 - #define CPP_DEFAULT_SPEC ""
87.57 -
88.1 --- a/patches/gcc/3.2.3/160-trap-posix.patch Wed Oct 28 12:03:38 2009 +0100
88.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
88.3 @@ -1,45 +0,0 @@
88.4 -#
88.5 -# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
88.6 -#
88.7 -# Error:
88.8 -#
88.9 -# creating libintl.h
88.10 -# Configuring etc...
88.11 -# loading cache ../config.cache
88.12 -# checking for a BSD compatible install... (cached) /usr/bin/install -c
88.13 -# creating ./config.status
88.14 -# creating Makefile
88.15 -# trap: usage: trap [-lp] [[arg] signal_spec ...]
88.16 -#
88.17 -# Description:
88.18 -#
88.19 -# non-posix conform usage of trap causes bash >= 3.0 to fail
88.20 -#
88.21 -# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
88.22 -#
88.23 -# Status:
88.24 -#
88.25 -# fixed in gcc >= 3.3.5
88.26 -# backport of gcc-3.3.5 fix
88.27 -#
88.28 -diff -ruN gcc-3.2.3-orig/configure gcc-3.2.3/configure
88.29 ---- gcc-3.2.3-orig/configure 2002-06-24 18:14:28.000000000 +0200
88.30 -+++ gcc-3.2.3/configure 2005-04-20 18:42:49.000000000 +0200
88.31 -@@ -697,7 +697,7 @@
88.32 - if test -f skip-this-dir; then
88.33 - # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
88.34 - # and reset the trap handler.
88.35 -- trap 0
88.36 -+ trap '' 0
88.37 - rm -rf Makefile* ${tmpdir}
88.38 - # Execute the final clean-up actions
88.39 - ${config_shell} skip-this-dir
88.40 -@@ -1615,7 +1615,7 @@
88.41 - # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
88.42 - # and reset the trap handler.
88.43 - rm -rf ${tmpdir}
88.44 --trap 0
88.45 -+trap '' 0
88.46 -
88.47 - exit 0
88.48 -
89.1 --- a/patches/gcc/3.2.3/170-libstdc++-v3-dg.exp.patch Wed Oct 28 12:03:38 2009 +0100
89.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
89.3 @@ -1,54 +0,0 @@
89.4 -Without this patch, the command
89.5 -
89.6 -RUNTESTFLAGS=--target=powerpc-750-linux-gnu -v -v -v -v make check-target-libstdc++-v3
89.7 -
89.8 -fails in two ways:
89.9 -1. the -L option meant to locate the testsuite directory is incorrect, and
89.10 -2. the wrong compiler is invoked, causing all sorts of havoc, not least of which
89.11 -is the native compiler is invoked when we really wanted to invoke the cross-compiler
89.12 -we just built.
89.13 -
89.14 -Here's an example log of the problem in action. Every testcase fails, this shows just one:
89.15 --------------
89.16 -Invoking the compiler as g++ -ggdb3 -DDEBUG_ASSERT -I/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite /home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc -g -O2 -DDEBUG_ASSERT -L/testsuite -lv3test -lm -o ./binders.exe
89.17 -compiler exited with status 1
89.18 -output is:
89.19 -/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h: In method `void binder2nd<mem_fun1_ref_t<void,Elem,int> >::operator ()(const Elem &) const':^M
89.20 -/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algo.h:83: instantiated from `for_each<Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> > >(Elem *, Elem *, binder2nd<mem_fun1_ref_t<void,Elem,int> >)'^M
89.21 -/home3/dank/wk/ixos/dap_interim/linux/3rdParty/crosstool/crosstool-0.12/build/powerpc-750-linux-gnu/gcc-3.3-glibc-2.2.5/gcc-3.3/libstdc++-v3/testsuite/20_util/binders.cc:43: instantiated from here^M
89.22 -/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:224: conversion from `const Elem' to `Elem &' discards qualifiers^M
89.23 -/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_function.h:622: in passing argument 1 of `mem_fun1_ref_t<void,Elem,int>::operator ()(Elem &, int) const'^M
89.24 -...
89.25 -FAIL: 20_util/binders.cc (test for excess errors)
89.26 -WARNING: 20_util/binders.cc compilation failed to produce executable
89.27 --------------
89.28 -
89.29 -And here's the patch. I'm not happy with it, and it probably gets some cases wrong,
89.30 -but it seems to work for the common native case and for my cross-compiler case.
89.31 -
89.32 ---- gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp.old Sun Jul 13 10:42:01 2003
89.33 -+++ gcc-3.3/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp Sun Jul 13 11:39:54 2003
89.34 -@@ -46,8 +46,23 @@
89.35 - global gluefile wrap_flags
89.36 - global ld_library_path
89.37 - global tool_root_dir
89.38 -+ global target_triplet
89.39 -
89.40 - set blddir [lookfor_file [get_multilibs] libstdc++-v3]
89.41 -+ if { $blddir == "" } {
89.42 -+ set multilibs [get_multilibs]
89.43 -+ # FIXME: assume multilib only one level deep
89.44 -+ set multisub [file tail $multilibs]
89.45 -+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3 in $multilibs, trying $objdir"
89.46 -+ set blddir [lookfor_file ${objdir} "$target_triplet/$multisub/libstdc++-v3"]
89.47 -+ }
89.48 -+ if { $blddir == "" } {
89.49 -+ verbose "libstdc++-v3-init: couldn't find libstdc++-v3, trying $objdir without multilibs"
89.50 -+ set blddir [lookfor_file ${objdir} "$target_triplet/libstdc++-v3"]
89.51 -+ }
89.52 -+ if { $blddir == "" } {
89.53 -+ error "Can't find libstdc++-v3"
89.54 -+ }
89.55 -
89.56 - # By default, we assume we want to run program images.
89.57 - global dg-do-what-default
90.1 --- a/patches/gcc/3.2.3/README-mips Wed Oct 28 12:03:38 2009 +0100
90.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
90.3 @@ -1,1648 +0,0 @@
90.4 -See also http://www.spinics.net/lists/mips/msg12236.html
90.5 -
90.6 -ftp://ftp.linux-mips.org/pub/linux/mips/redhat/7.3/test/SRPMS/gcc-3.2-7.1.src.rpm
90.7 -contains the following patches and spec file.
90.8 -You may wish to investigate some of these patches; I haven't.
90.9 -I think this is mostly the Red Hat 8.0 srpm for a prerelease gcc-3.2, plus a couple
90.10 -mips specific fixes, but you'd have to ask H.J.Lu or compare with the regular
90.11 -Red Hat 8.0 srpm to find out.
90.12 -In any case, the spec file is interesting reading.
90.13 -- Dan K.
90.14 -
90.15 -total 1164
90.16 - 4 boehm-gc-LINUX.patch
90.17 - 4 boehm-gc-mips.patch
90.18 - 4 contrib-touch.patch
90.19 - 8 gcc-arch.patch
90.20 - 4 gcc-c++-template.patch
90.21 - 4 gcc-copy.patch
90.22 - 4 gcc-cross-bfd.patch
90.23 - 4 gcc-cross.patch
90.24 - 4 gcc-gcj-cross.patch
90.25 - 4 gcc-libffi-mips.patch
90.26 - 4 gcc-libgcc.patch
90.27 - 480 gcc-libstdc++-glibc-2.2.patch
90.28 - 4 gcc-libstdc++-mips.patch
90.29 - 4 gcc-linux-atexit.patch
90.30 - 8 gcc-linux-crt.patch
90.31 - 4 gcc-mips-coff.patch
90.32 - 4 gcc-mips-file.patch
90.33 - 4 gcc-mips-ieee.patch
90.34 - 4 gcc-mips-return.patch
90.35 - 4 gcc-ppc-linux.patch
90.36 - 8 gcc-sizeof.patch
90.37 - 4 gcc-test-atexit.patch
90.38 - 4 gcc-testsuite-c++.patch
90.39 - 4 gcc-var.patch
90.40 - 8 gcc32-2.96-RH-compat.patch
90.41 - 4 gcc32-ada-addr2line.patch
90.42 - 8 gcc32-ada-link.patch
90.43 - 12 gcc32-attr-visibility.patch
90.44 - 4 gcc32-attr-visibility2.patch
90.45 - 4 gcc32-attr-visibility3.patch
90.46 - 4 gcc32-attr-visibility4.patch
90.47 - 4 gcc32-attr-visibility5.patch
90.48 - 8 gcc32-boehm-gc-libs.patch
90.49 - 4 gcc32-bogus-inline.patch
90.50 - 4 gcc32-c++-nrv-test.patch
90.51 - 4 gcc32-c++-pretty_function.patch
90.52 - 16 gcc32-c++-tail-pad-backout.patch
90.53 - 4 gcc32-c++-tsubst-asm.patch
90.54 - 4 gcc32-cfg-eh.patch
90.55 - 4 gcc32-debug-pr7241.patch
90.56 - 4 gcc32-doc-gcov.patch
90.57 - 4 gcc32-duplicate-decl.patch
90.58 - 4 gcc32-dwarf2-pr6381.patch
90.59 - 4 gcc32-dwarf2-pr6436-test.patch
90.60 - 4 gcc32-fde-merge-compat.patch
90.61 - 4 gcc32-fold-const-associate.patch
90.62 - 4 gcc32-fold-const2.patch
90.63 - 24 gcc32-hard-reg-sharing.patch
90.64 - 4 gcc32-hard-reg-sharing2.patch
90.65 - 4 gcc32-i386-default-momit-leaf-frame-pointer.patch
90.66 - 4 gcc32-i386-memtest-test.patch
90.67 - 4 gcc32-i386-no-default-momit-leaf-frame-pointer.patch
90.68 - 4 gcc32-i386-pic-label-thunk.patch
90.69 - 4 gcc32-i386-pr7242.patch
90.70 - 4 gcc32-i386-profile-olfp.patch
90.71 - 4 gcc32-inline-label.patch
90.72 - 4 gcc32-interface_only.patch
90.73 - 4 gcc32-java-no-rpath.patch
90.74 - 20 gcc32-libstdc++-glibc23-1.patch
90.75 - 4 gcc32-libstdc++-glibc23-2.patch
90.76 - 4 gcc32-libstdc++-glibc23-3.patch
90.77 - 4 gcc32-libstdc++-glibc23-4.patch
90.78 - 4 gcc32-loop-prefetch.patch
90.79 - 4 gcc32-pr6842.patch
90.80 - 8 gcc32-rh69989.patch
90.81 - 40 gcc32-s390-java.patch
90.82 - 4 gcc32-sparc-sll1.patch
90.83 - 4 gcc32-test-rh65771.patch
90.84 - 8 gcc32-test-rotate.patch
90.85 - 12 gcc32-tls-dwarf2.patch
90.86 - 140 gcc32-tls.patch
90.87 - 4 gcc32-tls2.patch
90.88 - 4 gcc32-tls3.patch
90.89 - 4 gcc32-tls4.patch
90.90 - 4 gcc32-tls5.patch
90.91 - 24 gcc32-tree-code.patch
90.92 - 4 gcc32-trunc_int_for_mode.patch
90.93 - 4 gcc32-typeof-asm.patch
90.94 - 4 gcc32-x86_64-libiberty-pic.patch
90.95 - 4 gcc32-x86_64-pr7559.patch
90.96 - 4 gcc32-x86_64-q_regs_operand.patch
90.97 - 4 gcc32-x86_64-rip-lowercase.patch
90.98 - 4 libjava-cross.patch
90.99 - 4 libtool-libs.patch
90.100 - 4 libtool-mips.patch
90.101 -
90.102 ----------- gcc32.spec ---------
90.103 -
90.104 -%if %{_arch} != %{_build_arch}
90.105 -%define cross_compile 1
90.106 -%else
90.107 -%define cross_compile 0
90.108 -%endif
90.109 -%{?_with_crosscompile: %{expand: %%define cross_compile 1}}
90.110 -
90.111 -%if %{cross_compile}
90.112 -%define make_check 0
90.113 -%else
90.114 -%define make_check 1
90.115 -%endif
90.116 -%{?_without_check: %{expand: %%define make_check 0}}
90.117 -%{?_with_check: %{expand: %%define make_check 1}}
90.118 -
90.119 -%define default 0
90.120 -%{?_with_default: %{expand: %%define default 1}}
90.121 -
90.122 -%define gcconly 0
90.123 -%{?_with_gcconly: %{expand: %%define gcconly 1}}
90.124 -
90.125 -%define DATE 20020903
90.126 -%define gcc_version 3.2
90.127 -%define gcc_release 7.1
90.128 -%ifarch %{ix86} alpha ia64 ppc
90.129 -%define build_ada 1
90.130 -%else
90.131 -%define build_ada 0
90.132 -%endif
90.133 -%{?_without_ada: %{expand: %%define build_ada 0}}
90.134 -%if %{cross_compile}
90.135 -%define build_ada 0
90.136 -%endif
90.137 -Summary: Various compilers (C, C++, Objective-C, Java, ...)
90.138 -%if !%{gcconly}
90.139 -Name: gcc
90.140 -Version: 3.2
90.141 -Release: %{gcc_release}
90.142 -%else
90.143 -Name: gcc-%{gcc_version}
90.144 -Version: %{gcc_release}
90.145 -Release: 1
90.146 -%endif
90.147 -Copyright: GPL
90.148 -Group: Development/Languages
90.149 -Source0: gcc-%{version}-%{DATE}.tar.bz2
90.150 -URL: http://gcc.gnu.org
90.151 -BuildRoot: %{_tmppath}/%{name}-%{version}-root
90.152 -BuildRequires: binutils >= 2.12.90.0.9-1
90.153 -BuildRequires: zlib-devel, gettext, dejagnu
90.154 -# Make sure pthread.h doesn't contain __thread tokens
90.155 -BuildRequires: glibc-devel >= 2.2.5-36.2
90.156 -%if %{build_ada}
90.157 -# Ada requires Ada to build
90.158 -BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
90.159 -%endif
90.160 -Requires: cpp = %{version}-%{release}
90.161 -# Need .eh_frame ld optimizations
90.162 -# Need proper visibility support
90.163 -Requires: binutils >= 2.12.90.0.7-1
90.164 -# Make sure gdb will understand DW_FORM_strp
90.165 -Conflicts: gdb < 5.1-2
90.166 -Requires: glibc-devel >= 2.2.5-36.2
90.167 -Requires: libgcc >= %{version}-%{release}
90.168 -%if !%{gcconly}
90.169 -Obsoletes: gcc3
90.170 -%endif
90.171 -Prereq: /sbin/install-info
90.172 -
90.173 -Patch1: gcc32-2.96-RH-compat.patch
90.174 -Patch2: gcc32-boehm-gc-libs.patch
90.175 -Patch3: gcc32-bogus-inline.patch
90.176 -Patch6: gcc32-fde-merge-compat.patch
90.177 -Patch7: gcc32-attr-visibility.patch
90.178 -Patch8: gcc32-attr-visibility2.patch
90.179 -Patch9: gcc32-duplicate-decl.patch
90.180 -Patch10: gcc32-trunc_int_for_mode.patch
90.181 -Patch11: gcc32-sparc-sll1.patch
90.182 -Patch12: gcc32-x86_64-q_regs_operand.patch
90.183 -Patch13: gcc32-dwarf2-pr6381.patch
90.184 -Patch14: gcc32-dwarf2-pr6436-test.patch
90.185 -Patch15: gcc32-c++-pretty_function.patch
90.186 -Patch16: gcc32-c++-tsubst-asm.patch
90.187 -Patch18: gcc32-i386-memtest-test.patch
90.188 -Patch19: gcc32-fold-const2.patch
90.189 -Patch21: gcc32-ada-addr2line.patch
90.190 -Patch22: gcc32-ada-link.patch
90.191 -Patch23: gcc32-java-no-rpath.patch
90.192 -Patch25: gcc32-s390-java.patch
90.193 -Patch26: gcc32-test-rotate.patch
90.194 -Patch27: gcc32-x86_64-libiberty-pic.patch
90.195 -Patch29: gcc32-test-rh65771.patch
90.196 -Patch30: gcc32-i386-default-momit-leaf-frame-pointer.patch
90.197 -Patch31: gcc32-i386-pic-label-thunk.patch
90.198 -Patch34: gcc32-pr6842.patch
90.199 -Patch35: gcc32-tls.patch
90.200 -Patch36: gcc32-i386-profile-olfp.patch
90.201 -Patch37: gcc32-tree-code.patch
90.202 -Patch38: gcc32-hard-reg-sharing.patch
90.203 -Patch39: gcc32-hard-reg-sharing2.patch
90.204 -Patch40: gcc32-c++-nrv-test.patch
90.205 -Patch41: gcc32-debug-pr7241.patch
90.206 -Patch42: gcc32-i386-pr7242.patch
90.207 -Patch43: gcc32-cfg-eh.patch
90.208 -Patch44: gcc32-attr-visibility3.patch
90.209 -Patch45: gcc32-tls2.patch
90.210 -Patch46: gcc32-fold-const-associate.patch
90.211 -Patch47: gcc32-inline-label.patch
90.212 -Patch48: gcc32-typeof-asm.patch
90.213 -Patch50: gcc32-rh69989.patch
90.214 -Patch51: gcc32-tls3.patch
90.215 -Patch52: gcc32-tls4.patch
90.216 -Patch54: gcc32-tls5.patch
90.217 -Patch55: gcc32-tls-dwarf2.patch
90.218 -Patch56: gcc32-x86_64-pr7559.patch
90.219 -Patch57: gcc32-loop-prefetch.patch
90.220 -Patch58: gcc32-doc-gcov.patch
90.221 -Patch59: gcc32-attr-visibility4.patch
90.222 -Patch60: gcc32-c++-tail-pad-backout.patch
90.223 -Patch61: gcc32-attr-visibility5.patch
90.224 -Patch62: gcc32-i386-no-default-momit-leaf-frame-pointer.patch
90.225 -Patch64: gcc32-x86_64-rip-lowercase.patch
90.226 -Patch65: gcc32-libstdc++-glibc23-1.patch
90.227 -Patch66: gcc32-libstdc++-glibc23-2.patch
90.228 -Patch67: gcc32-libstdc++-glibc23-3.patch
90.229 -Patch68: gcc32-libstdc++-glibc23-4.patch
90.230 -Patch69: gcc32-interface_only.patch
90.231 -
90.232 -%define _gnu %{nil}
90.233 -
90.234 -Patch10000: boehm-gc-mips.patch
90.235 -Patch10001: boehm-gc-LINUX.patch
90.236 -Patch10002: gcc-libffi-mips.patch
90.237 -
90.238 -Patch11000: gcc-mips-coff.patch
90.239 -Patch11001: gcc-mips-file.patch
90.240 -Patch11002: gcc-mips-ieee.patch
90.241 -Patch11003: gcc-mips-return.patch
90.242 -Patch11004: gcc-libstdc++-mips.patch
90.243 -Patch11005: libtool-mips.patch
90.244 -
90.245 -Patch12000: gcc-libgcc.patch
90.246 -
90.247 -Patch13000: gcc-ppc-linux.patch
90.248 -Patch13001: gcc-linux-crt.patch
90.249 -
90.250 -Patch14000: gcc-linux-atexit.patch
90.251 -Patch14001: gcc-test-atexit.patch
90.252 -
90.253 -Patch15000: gcc-var.patch
90.254 -Patch15001: gcc-copy.patch
90.255 -
90.256 -Patch16000: gcc-c++-template.patch
90.257 -Patch16001: gcc-testsuite-c++.patch
90.258 -
90.259 -Patch17000: gcc-cross.patch
90.260 -Patch17001: gcc-cross-bfd.patch
90.261 -Patch17002: gcc-sizeof.patch
90.262 -Patch17003: gcc-arch.patch
90.263 -
90.264 -Patch18000: libjava-cross.patch
90.265 -Patch18001: gcc-gcj-cross.patch
90.266 -
90.267 -Patch19000: contrib-touch.patch
90.268 -
90.269 -Patch20000: libtool-libs.patch
90.270 -
90.271 -Patch21000: gcc-libstdc++-glibc-2.2.patch
90.272 -
90.273 -%description
90.274 -The gcc package contains the GNU Compiler Collection version 3.2.
90.275 -You'll need this package in order to compile C code.
90.276 -
90.277 -%package -n libgcc
90.278 -Summary: GCC version 3.2 shared support library
90.279 -Group: System Environment/Libraries
90.280 -
90.281 -%description -n libgcc
90.282 -This package contains GCC shared support library which is needed
90.283 -e.g. for exception handling support.
90.284 -
90.285 -%package c++
90.286 -Summary: C++ support for GCC
90.287 -Group: Development/Languages
90.288 -Requires: gcc = %{version}-%{release}
90.289 -Requires: libstdc++ = %{version}
90.290 -Requires: libstdc++-devel = %{version}
90.291 -Obsoletes: gcc3-c++
90.292 -
90.293 -%description c++
90.294 -This package adds C++ support to the GNU Compiler Collection.
90.295 -It includes support for most of the current C++ specification,
90.296 -including templates and exception handling.
90.297 -
90.298 -%package -n libstdc++
90.299 -Summary: GNU Standard C++ Library
90.300 -Group: System Environment/Libraries
90.301 -Obsoletes: libstdc++3
90.302 -
90.303 -%description -n libstdc++
90.304 -The libstdc++ package contains a rewritten standard compliant GCC Standard
90.305 -C++ Library.
90.306 -
90.307 -%package -n libstdc++-devel
90.308 -Summary: Header files and libraries for C++ development
90.309 -Group: Development/Libraries
90.310 -Requires: libstdc++ = %{version}-%{release}
90.311 -Obsoletes: libstdc++3-devel
90.312 -
90.313 -%description -n libstdc++-devel
90.314 -This is the GNU implementation of the standard C++ libraries. This
90.315 -package includes the header files and libraries needed for C++
90.316 -development. This includes rewritten implementation of STL.
90.317 -
90.318 -%package objc
90.319 -Summary: Objective-C support for GCC
90.320 -Group: Development/Languages
90.321 -Requires: gcc = %{version}-%{release}
90.322 -Requires: libobjc = %{version}-%{release}
90.323 -Obsoletes: gcc3-objc
90.324 -
90.325 -%description objc
90.326 -gcc-objc provides Objective-C support for the GCC.
90.327 -Mainly used on systems running NeXTSTEP, Objective-C is an
90.328 -object-oriented derivative of the C language.
90.329 -
90.330 -%package -n libobjc
90.331 -Summary: Objective-C runtime
90.332 -Group: System Environment/Libraries
90.333 -
90.334 -%description -n libobjc
90.335 -This package contains Objective-C shared library which is needed to run
90.336 -Objective-C dynamically linked programs.
90.337 -
90.338 -%package g77
90.339 -Summary: Fortran 77 support
90.340 -Group: Development/Languages
90.341 -Requires: gcc = %{version}-%{release}
90.342 -Requires: libf2c = %{version}-%{release}
90.343 -Prereq: /sbin/install-info
90.344 -Obsoletes: gcc3-g77
90.345 -
90.346 -%description g77
90.347 -The gcc-g77 package provides support for compiling Fortran 77
90.348 -programs with the GNU Compiler Collection.
90.349 -
90.350 -%package -n libf2c
90.351 -Summary: Fortran 77 runtime
90.352 -Group: System Environment/Libraries
90.353 -
90.354 -%description -n libf2c
90.355 -This package contains Fortran 77 shared library which is needed to run
90.356 -Fortran 77 dynamically linked programs.
90.357 -
90.358 -%package java
90.359 -Summary: Java support for GCC
90.360 -Group: Development/Languages
90.361 -Requires: gcc = %{version}-%{release}
90.362 -Requires: libgcj >= %{version}, libgcj-devel >= %{version}
90.363 -Obsoletes: gcc3-java
90.364 -Prereq: /sbin/install-info
90.365 -
90.366 -%description java
90.367 -This package adds support for compiling Java(tm) programs and
90.368 -bytecode into native code.
90.369 -
90.370 -%package -n libgcj
90.371 -Summary: Java runtime library for gcc
90.372 -Group: System Environment/Libraries
90.373 -Requires: zip >= 2.1
90.374 -Obsoletes: gcc-libgcj
90.375 -Obsoletes: libgcj3
90.376 -# Kaffe includes jar too
90.377 -Conflicts: kaffe
90.378 -
90.379 -%description -n libgcj
90.380 -The Java(tm) runtime library. You will need this package to run your Java
90.381 -programs compiled using the Java compiler from GNU Compiler Collection (gcj).
90.382 -
90.383 -%package -n libgcj-devel
90.384 -Summary: Libraries for Java development using GCC
90.385 -Group: Development/Languages
90.386 -Requires: zip >= 2.1, libgcj = %{version}
90.387 -Obsoletes: libgcj3-devel
90.388 -
90.389 -%description -n libgcj-devel
90.390 -The Java(tm) static libraries and C header files. You will need this
90.391 -package to compile your Java programs using the GCC Java compiler (gcj).
90.392 -
90.393 -%package -n cpp
90.394 -Summary: The C Preprocessor.
90.395 -Group: Development/Languages
90.396 -Prereq: /sbin/install-info
90.397 -%ifarch ia64
90.398 -Obsoletes: gnupro
90.399 -%endif
90.400 -
90.401 -%description -n cpp
90.402 -Cpp is the GNU C-Compatible Compiler Preprocessor.
90.403 -Cpp is a macro processor which is used automatically
90.404 -by the C compiler to transform your program before actual
90.405 -compilation. It is called a macro processor because it allows
90.406 -you to define macros, abbreviations for longer
90.407 -constructs.
90.408 -
90.409 -The C preprocessor provides four separate functionalities: the
90.410 -inclusion of header files (files of declarations that can be
90.411 -substituted into your program); macro expansion (you can define macros,
90.412 -and the C preprocessor will replace the macros with their definitions
90.413 -throughout the program); conditional compilation (using special
90.414 -preprocessing directives, you can include or exclude parts of the
90.415 -program according to various conditions); and line control (if you use
90.416 -a program to combine or rearrange source files into an intermediate
90.417 -file which is then compiled, you can use line control to inform the
90.418 -compiler about where each source line originated).
90.419 -
90.420 -You should install this package if you are a C programmer and you use
90.421 -macros.
90.422 -
90.423 -%package gnat
90.424 -Summary: Ada 95 support for GCC
90.425 -Group: Development/Languages
90.426 -Requires: gcc = %{version}-%{release}, libgnat = %{version}-%{release}
90.427 -Obsoletes: gnat-devel, gcc3-gnat
90.428 -Prereq: /sbin/install-info
90.429 -
90.430 -%description gnat
90.431 -GNAT is a GNU Ada 95 front-end to GCC. This package includes development tools,
90.432 -the documents and Ada 95 compiler.
90.433 -
90.434 -%package -n libgnat
90.435 -Summary: GNU Ada 95 runtime shared libraries
90.436 -Group: System Environment/Libraries
90.437 -Obsoletes: gnat libgnat3
90.438 -
90.439 -%description -n libgnat
90.440 -GNAT is a GNU Ada 95 front-end to GCC. This package includes shared libraries,
90.441 -which are required to run programs compiled with the GNAT.
90.442 -
90.443 -%prep
90.444 -%setup -q -n gcc-%{version}-%{DATE}
90.445 -%patch1 -p0 -b .2.96-RH-compat~
90.446 -%patch2 -p0 -b .boehm-gc-libs~
90.447 -%patch3 -p0 -b .bogus-inline~
90.448 -%patch6 -p0 -b .fde-merge-compat~
90.449 -%patch7 -p0 -b .attr-visibility~
90.450 -%patch8 -p0 -b .attr-visibility2~
90.451 -%patch9 -p0 -b .duplicate-decl~
90.452 -%patch10 -p0 -b .trunc_int_for_mode~
90.453 -%patch11 -p0 -b .sparc-sll1~
90.454 -%patch12 -p0 -b .x86_64-q_regs_operand~
90.455 -%patch13 -p0 -b .dwarf2-pr6381~
90.456 -%patch14 -p0 -b .dwarf2-pr6436-test~
90.457 -%patch15 -p0 -b .c++-pretty_function~
90.458 -%patch16 -p0 -b .c++-tsubst-asm~
90.459 -%patch18 -p0 -b .i386-memtest-test~
90.460 -%patch19 -p0 -b .fold-const2~
90.461 -%patch21 -p0 -b .ada-addr2line~
90.462 -%patch22 -p0 -b .ada-link~
90.463 -%patch23 -p0 -b .java-no-rpath~
90.464 -%patch25 -p0 -b .s390-java~
90.465 -%patch26 -p0 -b .test-rotate~
90.466 -%patch27 -p0 -b .x86_64-libiberty-pic~
90.467 -%patch29 -p0 -b .test-rh65771~
90.468 -%patch30 -p0 -b .i386-default-momit-leaf-frame-pointer~
90.469 -%patch31 -p0 -b .i386-pic-label-thunk~
90.470 -%patch34 -p0 -b .pr6842~
90.471 -%patch35 -p0 -b .tls~
90.472 -%patch36 -p0 -b .i386-profile-olfp~
90.473 -%patch37 -p0 -b .tree-code~
90.474 -%patch38 -p0 -b .hard-reg-sharing~
90.475 -%patch39 -p0 -b .hard-reg-sharing2~
90.476 -%patch40 -p0 -b .c++-nrv-test~
90.477 -%patch41 -p0 -b .debug-pr7241~
90.478 -%patch42 -p0 -b .i386-pr7242~
90.479 -%patch43 -p0 -b .cfg-eh~
90.480 -%patch44 -p0 -b .attr-visibility3~
90.481 -%patch45 -p0 -b .tls2~
90.482 -%patch46 -p0 -b .fold-const-associate~
90.483 -%patch47 -p0 -b .inline-label~
90.484 -%patch48 -p0 -b .typeof-asm~
90.485 -%patch50 -p0 -b .rh69989~
90.486 -%patch51 -p0 -b .tls3~
90.487 -%patch52 -p0 -b .tls4~
90.488 -%patch54 -p0 -b .tls5~
90.489 -%patch55 -p0 -b .tls-dwarf2~
90.490 -%patch56 -p0 -b .x86_64-pr7559~
90.491 -%patch57 -p0 -b .loop-prefetch~
90.492 -%patch58 -p0 -b .doc-gcov~
90.493 -%patch59 -p0 -b .attr-visibility4~
90.494 -%patch60 -p0 -b .c++-tail-pad-backout~
90.495 -%patch61 -p0 -b .attr-visibility5~
90.496 -%patch62 -p0 -b .i386-no-default-momit-leaf-frame-pointer~
90.497 -%patch64 -p0 -b .x86_64-rip-lowercase~
90.498 -%patch65 -p0 -b .libstdc++-glibc23-1~
90.499 -%patch66 -p0 -b .libstdc++-glibc23-2~
90.500 -%patch67 -p0 -b .libstdc++-glibc23-3~
90.501 -%patch68 -p0 -b .libstdc++-glibc23-4~
90.502 -%patch69 -p0 -b .interface_only
90.503 -
90.504 -%patch10000 -p0 -b .mips
90.505 -%patch10001 -p0 -b .LINUX
90.506 -%patch10002 -p0 -b .mips
90.507 -pushd boehm-gc
90.508 -autoconf
90.509 -popd
90.510 -pushd libffi
90.511 -autoconf
90.512 -# Ignore the error from automake
90.513 -automake --cygnus Makefile || :
90.514 -popd
90.515 -
90.516 -%patch11000 -p0 -b .coff
90.517 -%patch11001 -p0 -b .file
90.518 -%patch11002 -p0 -b .ieee
90.519 -%patch11003 -p0 -b .return
90.520 -%patch11004 -p0 -b .mips
90.521 -%patch11005 -p1 -b .mips
90.522 -
90.523 -%patch12000 -p0 -b .libgcc
90.524 -
90.525 -%patch13000 -p0 -b .ppc
90.526 -%patch13001 -p0 -b .crt
90.527 -
90.528 -%patch14000 -p0 -b .order
90.529 -%patch14001 -p0 -b .order
90.530 -
90.531 -%patch15000 -p0 -b .var
90.532 -%patch15001 -p0 -b .copy
90.533 -
90.534 -%patch16000 -p0 -b .template
90.535 -%patch16001 -p0 -b .template
90.536 -
90.537 -%patch17000 -p1 -b .cross
90.538 -%patch17001 -p0 -b .cross-bfd
90.539 -%patch17002 -p1 -b .sizeof
90.540 -%patch17003 -p0 -b .arch
90.541 -pushd gcc
90.542 -autoheader
90.543 -autoconf
90.544 -popd
90.545 -pushd fastjar
90.546 -aclocal
90.547 -autoconf
90.548 -popd
90.549 -pushd libffi
90.550 -aclocal
90.551 -autoconf
90.552 -popd
90.553 -
90.554 -%patch18000 -p0 -b .cross
90.555 -%patch18001 -p0 -b .build
90.556 -pushd libjava
90.557 -autoconf
90.558 -automake --foreign Makefile
90.559 -popd
90.560 -
90.561 -%patch19000 -p0 -b .touch
90.562 -
90.563 -%patch20000 -p0 -b .libs
90.564 -
90.565 -%patch21000 -p0 -b .glibc-2.2
90.566 -pushd libstdc++-v3
90.567 -autoconf
90.568 -popd
90.569 -
90.570 -perl -pi -e 's/3\.2\.1/3.2/' gcc/version.c gcc/f/version.c gcc/ada/gnatvsn.ads
90.571 -perl -pi -e 's/"%{gcc_version}"/"%{gcc_version} \(release\)"/' gcc/version.c
90.572 -perl -pi -e 's/\((prerelease|experimental|release)\)/\(Red Hat Linux 8.0 %{version}-%{gcc_release}\)/' gcc/version.c gcc/f/version.c
90.573 -perl -pi -e 's/\((prerelease|experimental|release)\)/\(%{version}-%{gcc_release}\)/' gcc/ada/gnatvsn.ads
90.574 -perl -pi -e 's/#define GCCBUGURL.*$/#define GCCBUGURL "<URL:http:\/\/bugzilla.redhat.com\/bugzilla\/>"/' gcc/system.h
90.575 -# The version string is now longer than 32 bytes and the line containing it
90.576 -# doesn't fit into 80 columns
90.577 -#perl -pi -e 's/:= 32/:= 64/;s/(Gnat_Version_String.*:=)/\1\n /' gcc/ada/gnatvsn.ads
90.578 -
90.579 -./contrib/gcc_update --touch
90.580 -
90.581 -%build
90.582 -rm -fr obj-%{_target_platform}
90.583 -mkdir obj-%{_target_platform}
90.584 -cd obj-%{_target_platform}
90.585 -
90.586 -%if %{_arch} != %{_build_arch}
90.587 -%ifos linux
90.588 -export ac_cv_func_mmap_anywhere=yes
90.589 -export ac_cv_func_mmap_file=yes
90.590 -export ac_cv_func_mmap_fixed_mapped=yes
90.591 -export ac_cv_func_strncmp_works=yes
90.592 -export gcc_cv_func_printf_ptr=yes
90.593 -%endif
90.594 -%endif
90.595 -
90.596 -DEFAULT_FLAGS=
90.597 -%if %{default}
90.598 -%ifarch %{ix86}
90.599 -TARGET_CPU="%{_target_cpu}"
90.600 -DEFAULT_FLAGS="--with-arch=$TARGET_CPU --with-cpu=$TARGET_CPU"
90.601 -%endif
90.602 -%endif
90.603 -
90.604 -CC=%{__cc}
90.605 -OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'`
90.606 -CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
90.607 - ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
90.608 - --enable-shared --enable-threads=posix --disable-checking --host=%{_target_platform} \
90.609 - $DEFAULT_FLAGS \
90.610 -%if %{cross_compile}
90.611 - --target=%{_target_platform} --build=%{_build_alias} \
90.612 -%endif
90.613 - --with-system-zlib --enable-__cxa_atexit
90.614 -
90.615 -# We have to make sure all gcc configure files are up to date for
90.616 -# parallel build. We have to do it twice due to the stupid Makefile.
90.617 -make -C gcc cstamp-h
90.618 -make -C gcc cstamp-h
90.619 -
90.620 -# if RPM_BUILD_NCPUS unset, set it
90.621 -if [ -z "$RPM_BUILD_NCPUS" ] ; then
90.622 - if [ -x /usr/bin/getconf ] ; then
90.623 - RPM_BUILD_NCPUS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
90.624 - if [ $RPM_BUILD_NCPUS -eq 0 ]; then
90.625 - RPM_BUILD_NCPUS=1
90.626 - fi
90.627 - else
90.628 - RPM_BUILD_NCPUS=1
90.629 - fi
90.630 -fi
90.631 -
90.632 -RPM_BUILD_NCPUS=`expr $RPM_BUILD_NCPUS + $RPM_BUILD_NCPUS`
90.633 -
90.634 -cat <<EOF > makefile
90.635 -MAKE=make -j $RPM_BUILD_NCPUS
90.636 -include Makefile
90.637 -CFLAGS:=\$(CFLAGS) -pipe
90.638 -CXXFLAGS:=\$(CXXFLAGS) -pipe
90.639 -EOF
90.640 -
90.641 -# FIXME: It is a kludge.
90.642 -export GCJFLAGS="$OPT_FLAGS"
90.643 -
90.644 -%if %{cross_compile}
90.645 -make -j$RPM_BUILD_NCPUS \
90.646 - CC=%{__cc} \
90.647 - CXX=%{__cxx} \
90.648 - AR=%{__ar} \
90.649 - AS=%{__as} \
90.650 - LD=%{__ld} \
90.651 - NM=%{__nm} \
90.652 - RANLIB=%{__ranlib} \
90.653 - CC_FOR_TARGET=%{__cc} \
90.654 - GCC_FOR_TARGET=%{__cc} \
90.655 - CXX_FOR_TARGET=%{__cxx} \
90.656 - AR_FOR_TARGET=%{__ar} \
90.657 - AS_FOR_TARGET=%{__as} \
90.658 - LD_FOR_TARGET=%{__ld} \
90.659 - NM_FOR_TARGET=%{__nm} \
90.660 - RANLIB_FOR_TARGET=%{__ranlib} \
90.661 - HOST_CC=cc \
90.662 - CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \
90.663 - CFLAGS_FOR_BUILD="-O -pipe" \
90.664 - CFLAGS="$RPM_OPT_FLAGS -pipe" \
90.665 - CXXFLAGS="$RPM_OPT_FLAGS -pipe"
90.666 -%else
90.667 -make -j$RPM_BUILD_NCPUS bootstrap-lean
90.668 -#make -j$RPM_BUILD_NCPUS bootstrap
90.669 -%endif
90.670 -
90.671 -%if %{build_ada}
90.672 -# This doesn't work with -j$RPM_BUILD_NCPUS
90.673 -make -C gcc gnatlib-shared
90.674 -make -C gcc gnattools
90.675 -make -C gcc/ada doc
90.676 -%endif
90.677 -
90.678 -%if %{make_check}
90.679 -# run the tests.
90.680 -make -j$RPM_BUILD_NCPUS -k check || :
90.681 -%ifarch %{ix86}
90.682 -ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform}
90.683 -ln -sf i686-pc-linux-gnu ../libstdc++-v3/config/abi/%{_target_platform}-gnu
90.684 -%endif
90.685 -echo ====================TESTING=========================
90.686 -( ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
90.687 -%ifarch %{ix86}
90.688 -make -C %{_target_platform}/libstdc++-v3 check-abi
90.689 -%endif
90.690 -echo ====================TESTING END=====================
90.691 -#cd %{_target_platform}/libstdc++-v3
90.692 -#./mkcheck 0
90.693 -#cd ../..
90.694 -%endif
90.695 -
90.696 -%if !%{cross_compile}
90.697 -# Make protoize
90.698 -make -C gcc CC="./xgcc -B ./ -O2" proto
90.699 -%endif
90.700 -
90.701 -# Make generated man pages even if Pod::Man is not new enough
90.702 -perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
90.703 -for i in ../gcc/doc/*.texi; do
90.704 - cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
90.705 -done
90.706 -make -C gcc generated-manpages
90.707 -for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
90.708 -
90.709 -# Copy various doc files here and there
90.710 -cd ..
90.711 -mkdir -p rpm.doc/g77 rpm.doc/objc
90.712 -mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
90.713 -
90.714 -(cd gcc/f; for i in ChangeLog*; do
90.715 - cp -p $i ../../rpm.doc/g77/$i.f
90.716 -done)
90.717 -(cd libf2c; for i in ChangeLog*; do
90.718 - cp -p $i ../rpm.doc/g77/$i.libf2c
90.719 -done)
90.720 -(cd gcc/objc; for i in README*; do
90.721 - cp -p $i ../../rpm.doc/objc/$i.objc
90.722 -done)
90.723 -(cd libobjc; for i in README*; do
90.724 - cp -p $i ../rpm.doc/objc/$i.libobjc
90.725 -done)
90.726 -(cd boehm-gc; for i in ChangeLog*; do
90.727 - cp -p $i ../rpm.doc/boehm-gc/$i.gc
90.728 -done)
90.729 -(cd fastjar; for i in ChangeLog* README*; do
90.730 - cp -p $i ../rpm.doc/fastjar/$i.fastjar
90.731 -done)
90.732 -(cd libffi; for i in ChangeLog* README* LICENSE; do
90.733 - cp -p $i ../rpm.doc/libffi/$i.libffi
90.734 -done)
90.735 -(cd libjava; for i in ChangeLog* README*; do
90.736 - cp -p $i ../rpm.doc/libjava/$i.libjava
90.737 -done)
90.738 -
90.739 -%install
90.740 -rm -fr $RPM_BUILD_ROOT
90.741 -
90.742 -perl -pi -e \
90.743 - 's~href="l(ibstdc|atest)~href="http://gcc.gnu.org/onlinedocs/libstdc++/l\1~' \
90.744 - libstdc++-v3/docs/html/documentation.html
90.745 -ln -sf documentation.html libstdc++-v3/docs/html/index.html
90.746 -find libstdc++-v3/docs/html -name CVS | xargs rm -rf
90.747 -
90.748 -cd obj-%{_target_platform}
90.749 -TARGET_PLATFORM=%{_target_platform}
90.750 -
90.751 -# There are some MP bugs in libstdc++ and libjava Makefiles
90.752 -make -C %{_target_platform}/libstdc++-v3
90.753 -make -C %{_target_platform}/libjava
90.754 -
90.755 -make prefix=$RPM_BUILD_ROOT%{_prefix} mandir=$RPM_BUILD_ROOT%{_mandir} \
90.756 -%if %{cross_compile}
90.757 - CC=%{__cc} \
90.758 - CXX=%{__cxx} \
90.759 - AR=%{__ar} \
90.760 - AS=%{__as} \
90.761 - LD=%{__ld} \
90.762 - NM=%{__nm} \
90.763 - RANLIB=%{__ranlib} \
90.764 - CC_FOR_TARGET=%{__cc} \
90.765 - GCC_FOR_TARGET=%{__cc} \
90.766 - CXX_FOR_TARGET=%{__cxx} \
90.767 - AR_FOR_TARGET=%{__ar} \
90.768 - AS_FOR_TARGET=%{__as} \
90.769 - LD_FOR_TARGET=%{__ld} \
90.770 - NM_FOR_TARGET=%{__nm} \
90.771 - RANLIB_FOR_TARGET=%{__ranlib} \
90.772 - HOST_CC=cc \
90.773 - CFLAGS_FOR_TARGET="$RPM_OPT_FLAGS -pipe" \
90.774 - CFLAGS_FOR_BUILD="-O -pipe" \
90.775 - CFLAGS="$RPM_OPT_FLAGS -pipe" \
90.776 - CXXFLAGS="$RPM_OPT_FLAGS -pipe" \
90.777 -%endif
90.778 - infodir=$RPM_BUILD_ROOT%{_infodir} install
90.779 -%if %{build_ada}
90.780 -pushd gcc/ada
90.781 -cp -a gnat-style.info* gnat_rm.info* $RPM_BUILD_ROOT%{_infodir}/
90.782 -for i in gnat_ug_unx.info*; do
90.783 - sed 's/gnat_ug_unx/gnat_ug/g' $i > $RPM_BUILD_ROOT%{_infodir}/`echo $i | sed 's/gnat_ug_unx/gnat_ug/'`
90.784 -done
90.785 -chmod 644 $RPM_BUILD_ROOT%{_infodir}/gnat*
90.786 -popd
90.787 -%endif
90.788 -
90.789 -FULLPATH=$(dirname $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1)
90.790 -
90.791 -file $RPM_BUILD_ROOT/%{_prefix}/bin/* | grep ELF | cut -d':' -f1 | xargs %{__strip} || :
90.792 -%{__strip} $FULLPATH/{cc1,cc1obj,cc1plus,cpp0,tradcpp0,f771,jc1,jvgenmain}
90.793 -
90.794 -# fix some things
90.795 -ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/cc
90.796 -mkdir -p $RPM_BUILD_ROOT/lib
90.797 -ln -sf ..%{_prefix}/bin/cpp $RPM_BUILD_ROOT/lib/cpp
90.798 -ln -sf g77 $RPM_BUILD_ROOT%{_prefix}/bin/f77
90.799 -rm -f $RPM_BUILD_ROOT%{_infodir}/dir
90.800 -gzip -9 $RPM_BUILD_ROOT%{_infodir}/*.info*
90.801 -ln -sf gcc $RPM_BUILD_ROOT%{_prefix}/bin/gnatgcc
90.802 -
90.803 -mv $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.*a $FULLPATH/
90.804 -sed 's/-lgcjgc//g;s/-lzgcj//g;s/-lpthread//g' $RPM_BUILD_ROOT%{_prefix}/lib/libgcj.spec > $FULLPATH/libgcj.spec
90.805 -mv $RPM_BUILD_ROOT%{_prefix}/include/gc*.h $FULLPATH/include/
90.806 -mv $RPM_BUILD_ROOT%{_prefix}/include/j*.h $FULLPATH/include/
90.807 -mv -f $RPM_BUILD_ROOT%{_prefix}/include/{java,javax,gnu,org} $FULLPATH/include/
90.808 -mkdir -p $FULLPATH/include/gcj
90.809 -mv -f $RPM_BUILD_ROOT%{_prefix}/include/gcj/* $FULLPATH/include/gcj/
90.810 -rmdir $RPM_BUILD_ROOT%{_prefix}/include/gcj
90.811 -
90.812 -mkdir -p $RPM_BUILD_ROOT/%{_lib}
90.813 -mv -f `find $RPM_BUILD_ROOT%{_prefix}/lib -name libgcc_s.so.1` $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
90.814 -chmod 755 $RPM_BUILD_ROOT/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
90.815 -ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 $RPM_BUILD_ROOT/%{_lib}/libgcc_s.so.1
90.816 -ln -sf ../../%{_lib}/libgcc_s.so.1 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so
90.817 -#ln -sf `echo "%{_prefix}" | sed 's~/[^/]*~\.\./~g'`../%{_lib}/libgcc_s.so.1 \
90.818 -# $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgcc_s.so
90.819 -#mv -f $FULLPATH/libobjc.so.1* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
90.820 -%if %{build_ada}
90.821 -mv -f $FULLPATH/adalib/libgnarl-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
90.822 -mv -f $FULLPATH/adalib/libgnat-*.so.* $RPM_BUILD_ROOT%{_prefix}/%{_lib}/
90.823 -rm -f $FULLPATH/adalib/libgnarl.so* $FULLPATH/adalib/libgnat.so*
90.824 -%endif
90.825 -pushd $FULLPATH
90.826 -if [ "%{_lib}" = "lib" ]; then
90.827 -ln -sf ../../../libobjc.so.1 libobjc.so
90.828 -ln -sf ../../../libstdc++.so.5.* libstdc++.so
90.829 -ln -sf ../../../libgcj.so.3.* libgcj.so
90.830 -ln -sf ../../../libg2c.so.0.* libg2c.so
90.831 -%if %{build_ada}
90.832 -cd adalib
90.833 -ln -sf ../../../../libgnarl-*.so.* libgnarl.so
90.834 -ln -sf ../../../../libgnat-*.so.* libgnat.so
90.835 -cd ..
90.836 -%endif
90.837 -else
90.838 -ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so
90.839 -ln -sf ../../../../%{_lib}/libstdc++.so.5.* libstdc++.so
90.840 -ln -sf ../../../../%{_lib}/libgcj.so.3.* libgcj.so
90.841 -ln -sf ../../../../%{_lib}/libg2c.so.0.* libg2c.so
90.842 -%if %{build_ada}
90.843 -cd adalib
90.844 -ln -sf ../../../../../%{_lib}/libgnarl-*.so.* libgnarl.so
90.845 -ln -sf ../../../../../%{_lib}/libgnat-*.so.* libgnat.so
90.846 -cd ..
90.847 -%endif
90.848 -fi
90.849 -mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libstdc++.*a .
90.850 -mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a .
90.851 -mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.*a .
90.852 -mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libfrtbegin.*a .
90.853 -mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a .
90.854 -# Strip debug info from Fortran/ObjC/Java static libraries
90.855 -%{__strip} -g libg2c.a libobjc.a libgcj.a
90.856 -# Fix up .la files
90.857 -for i in *.la; do
90.858 - sed -e '/^libdir/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \
90.859 - -e '/^dependency_libs/s_%{_prefix}/lib_%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}_' \
90.860 - -e '/^dependency_libs/s~'\''$~ '\''~' \
90.861 - -e '/^dependency_libs/s~[ ][ ]*~ ~g' \
90.862 - -e '/^dependency_libs/s~-L[^ ]* ~~g' \
90.863 - -e '/^dependency_libs/s~-lgcc_s -lgcc -lc -lgcc_s -lgcc ~~g' \
90.864 - -e '/^dependency_libs/s~-lgcc -lc -lgcc ~~g' \
90.865 - -e '/^dependency_libs/s~-lc ~~g' \
90.866 - -e '/^dependency_libs/s~-lm \(-lm \)*~-lm ~g' \
90.867 - $i > $i.tmp
90.868 - mv -f $i.tmp $i
90.869 -done
90.870 -popd
90.871 -chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libg2c.so.0.*
90.872 -chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.so.1.*
90.873 -%if %{build_ada}
90.874 -chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnarl*so*
90.875 -chmod 755 $RPM_BUILD_ROOT%{_prefix}/lib/libgnat*so*
90.876 -%endif
90.877 -
90.878 -cat > $RPM_BUILD_ROOT%{_prefix}/bin/c89 <<"EOF"
90.879 -#!/bin/sh
90.880 -fl="-std=c89"
90.881 -for opt; do
90.882 - case "$opt" in
90.883 - -ansi|-std=c89|-std=iso9899:1990) fl="";;
90.884 - -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
90.885 - exit 1;;
90.886 - esac
90.887 -done
90.888 -exec %{_prefix}/bin/gcc $fl ${1+"$@"}
90.889 -EOF
90.890 -cat > $RPM_BUILD_ROOT%{_prefix}/bin/c99 <<"EOF"
90.891 -#!/bin/sh
90.892 -fl="-std=c99"
90.893 -for opt; do
90.894 - case "$opt" in
90.895 - -std=c99|-std=iso9899:1999) fl="";;
90.896 - -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
90.897 - exit 1;;
90.898 - esac
90.899 -done
90.900 -exec %{_prefix}/bin/gcc $fl ${1+"$@"}
90.901 -EOF
90.902 -chmod 755 $RPM_BUILD_ROOT%{_prefix}/bin/c?9
90.903 -
90.904 -cd ..
90.905 -%find_lang %{name}
90.906 -
90.907 -%if %{cross_compile}
90.908 -# Install syslimits.h for canadian cross compile.
90.909 -pushd $RPM_BUILD_DIR/gcc-%{gcc_version}-%{DATE}/obj-%{_target_platform}
90.910 -cp -af ../gcc/gsyslimits.h $FULLPATH/include/syslimits.h
90.911 -# Fix the specs file.
90.912 -cat gcc/specs |
90.913 -awk '
90.914 -BEGIN {
90.915 - cross=0;
90.916 -}
90.917 -/cross_compile/ { print; cross = 1; next; }
90.918 -/^1$/ {
90.919 - if (cross == 0) {
90.920 - print;
90.921 - }
90.922 - else {
90.923 - cross = 0;
90.924 - print "0";
90.925 - }
90.926 - next;
90.927 -}
90.928 -{ print; }
90.929 -' > $FULLPATH/specs
90.930 -popd
90.931 -%endif
90.932 -
90.933 -%clean
90.934 -rm -rf $RPM_BUILD_ROOT
90.935 -
90.936 -%post
90.937 -/sbin/install-info \
90.938 - --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
90.939 -
90.940 -%preun
90.941 -if [ $1 = 0 ]; then
90.942 - /sbin/install-info --delete \
90.943 - --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
90.944 -fi
90.945 -
90.946 -%post -n cpp
90.947 -/sbin/install-info \
90.948 - --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
90.949 -
90.950 -%preun -n cpp
90.951 -if [ $1 = 0 ]; then
90.952 - /sbin/install-info --delete \
90.953 - --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
90.954 -fi
90.955 -
90.956 -%post g77
90.957 -/sbin/install-info \
90.958 - --info-dir=%{_infodir} %{_infodir}/g77.info.gz
90.959 -
90.960 -%preun g77
90.961 -if [ $1 = 0 ]; then
90.962 - /sbin/install-info --delete \
90.963 - --info-dir=%{_infodir} %{_infodir}/g77.info.gz
90.964 -fi
90.965 -
90.966 -%post java
90.967 -/sbin/install-info \
90.968 - --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
90.969 -
90.970 -%preun java
90.971 -if [ $1 = 0 ]; then
90.972 - /sbin/install-info --delete \
90.973 - --info-dir=%{_infodir} %{_infodir}/gcj.info.gz
90.974 -fi
90.975 -
90.976 -%post gnat
90.977 -/sbin/install-info \
90.978 - --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
90.979 -/sbin/install-info \
90.980 - --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
90.981 -
90.982 -%preun gnat
90.983 -if [ $1 = 0 ]; then
90.984 - /sbin/install-info --delete \
90.985 - --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
90.986 - /sbin/install-info --delete \
90.987 - --info-dir=%{_infodir} %{_infodir}/gnat_ug.info.gz
90.988 -fi
90.989 -
90.990 -%post -n libgcc -p /sbin/ldconfig
90.991 -
90.992 -%postun -n libgcc -p /sbin/ldconfig
90.993 -
90.994 -%post -n libstdc++ -p /sbin/ldconfig
90.995 -
90.996 -%postun -n libstdc++ -p /sbin/ldconfig
90.997 -
90.998 -%post -n libobjc -p /sbin/ldconfig
90.999 -
90.1000 -%postun -n libobjc -p /sbin/ldconfig
90.1001 -
90.1002 -%post -n libgcj -p /sbin/ldconfig
90.1003 -
90.1004 -%postun -n libgcj -p /sbin/ldconfig
90.1005 -
90.1006 -%post -n libf2c -p /sbin/ldconfig
90.1007 -
90.1008 -%postun -n libf2c -p /sbin/ldconfig
90.1009 -
90.1010 -%post -n libgnat -p /sbin/ldconfig
90.1011 -
90.1012 -%postun -n libgnat -p /sbin/ldconfig
90.1013 -
90.1014 -%files -f %{name}.lang
90.1015 -%defattr(-,root,root)
90.1016 -%{_prefix}/bin/cc
90.1017 -%{_prefix}/bin/c89
90.1018 -%{_prefix}/bin/c99
90.1019 -%{_prefix}/bin/gcc
90.1020 -%{_prefix}/bin/gcov
90.1021 -%if !%{cross_compile}
90.1022 -%{_prefix}/bin/protoize
90.1023 -%{_prefix}/bin/unprotoize
90.1024 -%endif
90.1025 -%{_prefix}/bin/%{_target_platform}-gcc
90.1026 -%{_mandir}/man1/gcc.1*
90.1027 -%{_mandir}/man1/gcov.1*
90.1028 -%{_infodir}/gcc*
90.1029 -%dir %{_prefix}/lib/gcc-lib
90.1030 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1031 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1032 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
90.1033 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stddef.h
90.1034 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdarg.h
90.1035 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/varargs.h
90.1036 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/float.h
90.1037 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/limits.h
90.1038 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/stdbool.h
90.1039 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/iso646.h
90.1040 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/syslimits.h
90.1041 -%ifarch %{ix86} x86_64
90.1042 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/mmintrin.h
90.1043 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/xmmintrin.h
90.1044 -%endif
90.1045 -%ifarch ia64
90.1046 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ia64intrin.h
90.1047 -%endif
90.1048 -%ifarch ppc
90.1049 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/ppc-asm.h
90.1050 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/altivec.h
90.1051 -%endif
90.1052 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/README
90.1053 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1
90.1054 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/collect2
90.1055 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/crt*.o
90.1056 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc.a
90.1057 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcc_eh.a
90.1058 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/specs
90.1059 -%{_prefix}/%{_lib}/libgcc_s.so
90.1060 -%doc gcc/README* gcc/*ChangeLog*
90.1061 -
90.1062 -%if !%{gcconly}
90.1063 -%files -n cpp
90.1064 -%defattr(-,root,root)
90.1065 -/lib/cpp
90.1066 -%endif
90.1067 -%{_prefix}/bin/cpp
90.1068 -%{_mandir}/man1/cpp.1*
90.1069 -%{_infodir}/cpp*
90.1070 -%dir %{_prefix}/lib/gcc-lib
90.1071 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1072 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1073 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cpp0
90.1074 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/tradcpp0
90.1075 -
90.1076 -%files -n libgcc
90.1077 -%defattr(-,root,root)
90.1078 -/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
90.1079 -/%{_lib}/libgcc_s.so.1
90.1080 -
90.1081 -%if !%{gcconly}
90.1082 -%files c++
90.1083 -%defattr(-,root,root)
90.1084 -%{_prefix}/bin/%{_target_platform}-*++
90.1085 -%{_prefix}/bin/g++
90.1086 -%{_prefix}/bin/c++
90.1087 -%{_prefix}/bin/c++filt
90.1088 -%{_mandir}/man1/g++.1*
90.1089 -%dir %{_prefix}/lib/gcc-lib
90.1090 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1091 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1092 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1plus
90.1093 -%doc gcc/cp/ChangeLog*
90.1094 -
90.1095 -%files -n libstdc++
90.1096 -%defattr(-,root,root)
90.1097 -%{_prefix}/%{_lib}/libstdc++.so.5*
90.1098 -
90.1099 -%files -n libstdc++-devel
90.1100 -%defattr(-,root,root)
90.1101 -%{_prefix}/include/c++
90.1102 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.so
90.1103 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libstdc++.a
90.1104 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libsupc++.a
90.1105 -%doc libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/
90.1106 -
90.1107 -%files objc
90.1108 -%defattr(-,root,root)
90.1109 -%dir %{_prefix}/lib/gcc-lib
90.1110 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1111 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1112 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
90.1113 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/objc
90.1114 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/cc1obj
90.1115 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.a
90.1116 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libobjc.so
90.1117 -%doc rpm.doc/objc/*
90.1118 -%doc libobjc/THREADS* libobjc/ChangeLog
90.1119 -
90.1120 -%files -n libobjc
90.1121 -%defattr(-,root,root)
90.1122 -%{_prefix}/%{_lib}/libobjc.so.1*
90.1123 -
90.1124 -%files g77
90.1125 -%defattr(-,root,root)
90.1126 -%{_prefix}/bin/g77
90.1127 -%{_prefix}/bin/f77
90.1128 -%{_mandir}/man1/g77.1*
90.1129 -%{_infodir}/g77*
90.1130 -%dir %{_prefix}/lib/gcc-lib
90.1131 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1132 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1133 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include
90.1134 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/f771
90.1135 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libfrtbegin.a
90.1136 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.a
90.1137 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libg2c.so
90.1138 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/g2c.h
90.1139 -%doc gcc/f/README rpm.doc/g77/*
90.1140 -
90.1141 -%files -n libf2c
90.1142 -%defattr(-,root,root)
90.1143 -%{_prefix}/%{_lib}/libg2c.so.0*
90.1144 -
90.1145 -%files java
90.1146 -%defattr(-,root,root)
90.1147 -%{_prefix}/bin/gcj
90.1148 -%{_prefix}/bin/gcjh
90.1149 -%{_prefix}/bin/jcf-dump
90.1150 -%{_prefix}/bin/jv-scan
90.1151 -%{_mandir}/man1/gcj.1*
90.1152 -%{_mandir}/man1/gcjh.1*
90.1153 -%{_mandir}/man1/jcf-dump.1*
90.1154 -%{_mandir}/man1/jv-scan.1*
90.1155 -%{_infodir}/gcj*
90.1156 -%dir %{_prefix}/lib/gcc-lib
90.1157 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1158 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1159 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jc1
90.1160 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/jvgenmain
90.1161 -%doc gcc/java/ChangeLog*
90.1162 -
90.1163 -%files -n libgcj
90.1164 -%defattr(-,root,root)
90.1165 -%{_prefix}/bin/jv-convert
90.1166 -%{_prefix}/bin/gij
90.1167 -%{_prefix}/bin/jar
90.1168 -%{_prefix}/bin/grepjar
90.1169 -%{_prefix}/bin/rmic
90.1170 -%{_prefix}/bin/rmiregistry
90.1171 -%{_mandir}/man1/jv-convert.1*
90.1172 -%{_mandir}/man1/gij.1*
90.1173 -%{_mandir}/man1/rmic.1*
90.1174 -%{_mandir}/man1/rmiregistry.1*
90.1175 -%{_prefix}/%{_lib}/libgcj.so.*
90.1176 -%{_prefix}/share/java
90.1177 -%{_prefix}/lib/security
90.1178 -
90.1179 -%files -n libgcj-devel
90.1180 -%defattr(-,root,root)
90.1181 -%{_prefix}/bin/addr2name.awk
90.1182 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.a
90.1183 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.so
90.1184 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/libgcj.spec
90.1185 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gc*.h
90.1186 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/j*.h
90.1187 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/java
90.1188 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/javax
90.1189 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gnu
90.1190 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/gcj
90.1191 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/include/org
90.1192 -%doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
90.1193 -%doc rpm.doc/libjava/*
90.1194 -
90.1195 -%if %{build_ada}
90.1196 -%files gnat
90.1197 -%defattr(-,root,root)
90.1198 -%{_prefix}/bin/gnat*
90.1199 -%{_infodir}/gnat*
90.1200 -%dir %{_prefix}/lib/gcc-lib
90.1201 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}
90.1202 -%dir %{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}
90.1203 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adainclude
90.1204 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/adalib
90.1205 -%{_prefix}/lib/gcc-lib/%{_target_platform}/%{gcc_version}/gnat1
90.1206 -%doc gcc/ada/ChangeLog
90.1207 -
90.1208 -%files -n libgnat
90.1209 -%defattr(-,root,root)
90.1210 -%{_prefix}/%{_lib}/libgnat-*.so.*
90.1211 -%{_prefix}/%{_lib}/libgnarl-*.so.*
90.1212 -%endif
90.1213 -%endif
90.1214 -
90.1215 -%changelog
90.1216 -* Tue Sep 3 2002 Bill Nottingham <notting@redhat.com> 3.2-7
90.1217 -- fix calling of C++ destructors in certain cases
90.1218 -
90.1219 -* Tue Sep 3 2002 Jakub Jelinek <jakub@redhat.com> 3.2-6
90.1220 -- update from CVS (but revert C++ tail padding patches
90.1221 - for now)
90.1222 -- further fixes to make libstdc++-v3 build on glibc 2.3
90.1223 -- run libstdc++-v3 make check-abi on IA-32 during testing
90.1224 -
90.1225 -* Fri Aug 30 2002 Jakub Jelinek <jakub@redhat.com> 3.2-5
90.1226 -- disable tail copy patches, they seem to still have problems
90.1227 -- make libstdc++-v3 build on glibc 2.3 (and use thread-local
90.1228 - locale model)
90.1229 -- fix c89 and c99 scripts (#73104)
90.1230 -
90.1231 -* Wed Aug 26 2002 Jakub Jelinek <jakub@redhat.com> 3.2-4
90.1232 -- reorder alpha_encode_section_info checks slightly to fix an ICE
90.1233 - when building glibc and to take better advantage of visibility
90.1234 - attribute on Alpha
90.1235 -- as gdb is not there yet, disable -momit-leaf-frame-pointer
90.1236 - by default for now on IA-32
90.1237 -- fix IA-64 bootstrap with tail padding patch (Jason Merrill, Daniel Berlin)
90.1238 -- fix x86-64 %RIP to %rip, only output (%rip) if no other relocation
90.1239 - is used (Richard Henderson)
90.1240 -
90.1241 -* Fri Aug 23 2002 Jakub Jelinek <jakub@redhat.com> 3.2-3
90.1242 -- take advantage of __attribute__((visibility())) on Alpha
90.1243 -- avoid copying tail padding (Jason Merrill)
90.1244 -
90.1245 -* Thu Aug 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-2
90.1246 -- fixed Dwarf2 DW_OP_GNU_push_tls_address patch from Richard Henderson
90.1247 -- don't mention removed -a and -ax options in the documentation
90.1248 - (Nathan Sidwell, #72233)
90.1249 -- fixed __typeof() followed by __asm() redirection from Alexandre Oliva
90.1250 -
90.1251 -* Wed Aug 14 2002 Jakub Jelinek <jakub@redhat.com> 3.2-1
90.1252 -- update to 3.2 release
90.1253 -- fix x86-64 PR target/7559 (Jan Hubicka)
90.1254 -- fix -fprefetch-loop-arrays (Janis Johnson)
90.1255 -- fix x86-64 prefetch (Jan Hubicka)
90.1256 -
90.1257 -* Fri Aug 9 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.3
90.1258 -- istream fix (Benjamin Kosnik)
90.1259 -- emit Dwarf2 DW_OP_GNU_push_tls_address extension for TLS (Richard Henderson)
90.1260 -- temporarily disable __typeof() + __asm() fix
90.1261 -
90.1262 -* Thu Aug 8 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.2
90.1263 -- update from 3.2 branch
90.1264 - - ABI incompatible changes in libstdc++.so.5, long long bitfield
90.1265 - layout on IA-32 (both C and C++), oversized bitfields layout
90.1266 - on IA-32 and bitfields with base type with __attribute__((aligned ()))
90.1267 - - fix strstream segfaults (#68292, Benjamin Kosnik)
90.1268 -- fix __attribute__((visibility())) together with __asm__()
90.1269 - function redirection
90.1270 -- fix __typeof() followed by __asm() redirection (Alexandre Oliva)
90.1271 -- fix TLS ICE on glibc (#70061)
90.1272 -- fix K6 ICE on linux kernel (#69989, Richard Sandiford, Jan Hubicka)
90.1273 -- fix inlining bug with labels (#70941)
90.1274 -- fix fold-const bug (#70541)
90.1275 -- fix PR preprocessor/7358 (Neil Booth)
90.1276 -- error when mixing __thread and non-__thread declarations
90.1277 - (#70059, Aldy Hernandez)
90.1278 -- fix TLS bug on g++.dg/tls/diag-1.C (Jason Merrill)
90.1279 -- add -mcmodel= x86-64 documentation (Andreas Jaeger)
90.1280 -- avoid TLS emitting movl %gs:0, MEMORY on IA-32 (#71033)
90.1281 -
90.1282 -* Mon Jul 22 2002 Jakub Jelinek <jakub@redhat.com> 3.2-0.1
90.1283 -- first attempt for gcc 3.2
90.1284 -- remove .la files
90.1285 -
90.1286 -* Sat Jul 20 2002 Jakub Jelinek <jakub@redhat.com> 3.1-10
90.1287 -- update from 3.1 branch
90.1288 - - add throw() to set_new_handler (Andreas Schwab)
90.1289 - - fixed PR optimization/7147, optimization/7153
90.1290 -- make sure pic register is set up even when the only @PLT calls
90.1291 - are done in EH basic blocks (Richard Henderson)
90.1292 -
90.1293 -* Sun Jul 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-9
90.1294 -- define %%_gnu to nothing for compatibility
90.1295 -
90.1296 -* Sat Jul 13 2002 Jakub Jelinek <jakub@redhat.com> 3.1-8
90.1297 -- update from 3.1 branch
90.1298 - - fix OpenOffice miscompilation (PR c++/7279, Jason Merrill)
90.1299 - - PRs c++/7224, c++/6255, optimization/7145, c++/6706, preprocessor/7070,
90.1300 - middle-end/6963, target/6841, target/6770, target/6719,
90.1301 - other/6836, libstdc++/7057, libstdc++/7097, libstdc++/3946,
90.1302 - libstdc++/7173
90.1303 - - fix a GC bug with named labels in C++ (Jim Wilson)
90.1304 - - fix ICE on Mesa (Bernd Schmidt, #65771)
90.1305 -- added some NRV tests
90.1306 -- fix typo in i386 specs (PR c/7242)
90.1307 -- fix IA-32 ICE with shifts by negative values followed by compare
90.1308 - (PR middle-end/7245, #68395)
90.1309 -- fixed DWARF-2 output for const char * (PR debug/7241)
90.1310 -- actually enable __cxa_atexit for standard compliance at configury time
90.1311 -- added PPC as Ada enabled architecture
90.1312 -
90.1313 -* Wed Jun 19 2002 Jakub Jelinek <jakub@redhat.com> 3.1-7
90.1314 -- update from 3.1 branch
90.1315 - - PRs target/6922, opt/6722, c/7030, c/6677, objc/6834, c++/6892,
90.1316 - c++/6723, opt/6793
90.1317 -- use __cxa_atexit for standard compliance:
90.1318 - if your C++ project knows it won't call atexit from within its
90.1319 - static constructors, use -fno-use-cxa-atexit to optimize it
90.1320 -- share hard register rtxs where possible to speed the compiler up (Jeff Law)
90.1321 -- optimize tree_code_* arrays (Kaveh Ghazi)
90.1322 -- don't link prefix.o into libgnat, link libgnat against libgcc_s and
90.1323 - libgnarl against libgnat
90.1324 -- fix typo in GNAT %%post (#66847, #66941, #66639)
90.1325 -- add TLS support
90.1326 -
90.1327 -* Fri Jun 7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-6
90.1328 -- add GNAT
90.1329 -- remove DT_RPATH from Java binaries (#66103)
90.1330 -- obsolete kaffe, install jar as %{_prefix}/bin/jar
90.1331 -- add include/org directory in java
90.1332 -- add rmic and rmiregistry programs to libgcj
90.1333 -- add info documentation for gcj and various man pages
90.1334 -- add message catalogues for da, el, es, fr, ja, nl, sv, tr
90.1335 -- don't put IA-64 vtables with relocations into read-only sections
90.1336 - with -fpic
90.1337 -
90.1338 -* Tue Jun 4 2002 Jakub Jelinek <jakub@redhat.com> 3.1-5
90.1339 -- update from 3.1 branch
90.1340 - - PRs optimization/6822, preprocessor/6844, target/6838, target/6788,
90.1341 - libstdc++/6886, libstdc++/6795, libstdc++/6811
90.1342 -- m$ compatibility for unnamed fields as typedef of struct/union
90.1343 - (PR c/6660)
90.1344 -- fix -fverbose-asm with unnamed fields (PR c/6809)
90.1345 -- fix -mmmx ICE (PR optimization/6842)
90.1346 -- default to -momit-leaf-frame-pointer on i386 (Richard Henderson)
90.1347 -- use linkonce section/hidden symbol for i686 pic getpc thunks
90.1348 - (Richard Henderson)
90.1349 -
90.1350 -* Tue May 28 2002 Jakub Jelinek <jakub@redhat.com> 3.1-4
90.1351 -- rebuilt
90.1352 -
90.1353 -* Sat May 25 2002 Jakub Jelinek <jakub@redhat.com> 3.1-3
90.1354 -- update from 3.1 branch
90.1355 - - PRs other/6782, preprocessor/6780, preprocessor/6517,
90.1356 - libstdc++/6282, libstdc++/6701, libstdc++/6701
90.1357 - - fix out << "" bug (Ben Kosnik, #65409, PR libstdc++/6750)
90.1358 -- 3 new patches
90.1359 - - fix C++ __PRETTY_FUNCTION__ (PR c++/6794)
90.1360 - - fix ICE on jikes (#65379)
90.1361 - - add test for fixed mozilla miscompilation
90.1362 -- include intrinsic headers on IA-32/x86-64, include altivec.h on PPC
90.1363 -
90.1364 -* Wed May 22 2002 Jakub Jelinek <jakub@redhat.com> 3.1-2
90.1365 -- update from 3.1 branch
90.1366 -- 8 new patches
90.1367 - - fix as version test for 2.12.1 and newer binutils non-CVS releases
90.1368 - - fix ICE in do_subst (#65049)
90.1369 - - fix SSE conditional move (PR target/6753)
90.1370 - - fix SPARC CSE ICE (PR optimization/6759)
90.1371 - - fix x86_64 dbx64_register_map typo (Jan Hubicka)
90.1372 - - fix DWARF-2 with flag_asynchronous_unwind_tables set for leaf
90.1373 - functions (Jan Hubicka)
90.1374 - - fix DWARF-2 x86_64 __builtin_dwarf_reg_sizes (Jan Hubicka)
90.1375 - - fix x86_64 movabsdi (Michael Matz)
90.1376 -
90.1377 -* Wed May 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-1
90.1378 -- update to 3.1 final
90.1379 -- 15 new patches
90.1380 - - fix PR c/6643
90.1381 - - fix fold-const.c typo
90.1382 - - fix unitialized pointer-to-member values (Alexandre Oliva)
90.1383 - - fix templates with asm inputs (Jason Merrill)
90.1384 - - fix -fdata-section (Andreas Schwab)
90.1385 - - readd warning about i386 -malign-double into documentation (Jan Hubicka)
90.1386 - - fix PR libstdc++/6594 (Ben Kosnik)
90.1387 - - fix PR PR libstdc++/6648 (Paolo Carlini)
90.1388 - - fix libstdc++ testsuite rlimits (Rainer Orth)
90.1389 - - s390 java support (Gerhard Tonn)
90.1390 - - rotate testcases (Tom Rix)
90.1391 - - build libiberty with -fpic on x86_64 (Andreas Schwab)
90.1392 - - fix x86_64 multilib build (Bo Thorsen)
90.1393 - - fix x86_64 ASM_OUTPUT_MI_THUNK (Jan Hubicka)
90.1394 - - fix loop-2[cd].c tests on i386 (Eric Botcazou)
90.1395 -- fix typo in g77 info files tweaking
90.1396 -- fix libgcj.so symlink
90.1397 -
90.1398 -* Thu May 9 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.28
90.1399 -- update to CVS 3.1 branch
90.1400 - - PR c++/6212, target/6429, opt/6534, c/6543, target/6561, c/6569
90.1401 -- fix x86_64 q_regs_operand (Jan Hubicka)
90.1402 -- better PR c++/6381 fix (Jason Merrill)
90.1403 -
90.1404 -* Fri May 3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.27
90.1405 -- update to CVS 3.1 branch
90.1406 - - PR target/5628, libstdc++/5820, c++/6396, preprocessor/6489,
90.1407 - libstdc++/6501, libstdc++/6511, target/6512, libstdc++/6513,
90.1408 - bootstrap/6514, opt/6516, bootstrap/6525, c++/6527, libstdc++/6533,
90.1409 - target/6540
90.1410 -- fix PR target/6542, target/6522, libstdc++/6549
90.1411 -
90.1412 -* Mon Apr 29 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.26
90.1413 -- update to CVS 3.1 branch
90.1414 - - PR c/3581, libstdc++/4150, libstdc++/4164, c/5154, c/5430, c++/5504,
90.1415 - c++/5658, c++/5719, f/6138, libgcj/6158, middle-end/6205, c++/6256,
90.1416 - c/6300, c++/6331, c/6343, c/6344, c++/6352, c/6358, libstdc++/6360,
90.1417 - c++/6395, target/6413, libstdc++/6414, target/6422, bootstrap/6445,
90.1418 - optimization/6475, target/6476, c++/6477, c++/6479, c++/6486, c++/6492,
90.1419 - target/6494, target/6496, c/6497, target/6500
90.1420 -- fix PR c++/6396
90.1421 -- run make check as part of build process
90.1422 -
90.1423 -* Thu Apr 18 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.25
90.1424 -- update to CVS 3.1 branch
90.1425 - - PR opt/420, c++/525, target/817, target/1538, opt/3967, target/3997,
90.1426 - opt/4120, bootstrap/4191, opt/4311, optimization/4328, c++/4884, c++/4934,
90.1427 - c/5078, c++/5104, opt/5120, c++/5189, c++/5373, target/5446, c/5484,
90.1428 - c++/5507, c++/5571, c++/5636, target/5672, target/5715, target/5886,
90.1429 - c++/5933, c++/5964, c++/5998, opt/6007, target/6032, target/6041,
90.1430 - target/6054, c++/6073, target/6082, optimization/6086, target/6087,
90.1431 - middle-end/6096, middle-end/6098, middle-end/6099, middle-end/6100,
90.1432 - middle-end/6102, fortran/6106, c++/6119, opt/6165, optimization/6177,
90.1433 - c++/6179, optimization/6189, c/6202, c/6223, optimization/6233,
90.1434 - middle-end/6279, c/6290, optimization/6305, target/6305, bootstrap/6315,
90.1435 - c++/6320...
90.1436 -- fix PR c++/6316
90.1437 -
90.1438 -* Wed Mar 27 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.24
90.1439 -- update to CVS 3.1 branch
90.1440 - - PRs c/5656, c/5972, bootstrap/4192, target/4792, bootstrap/4195,
90.1441 - optimization/5854, target/6043, c++/6037, bootstrap/4128, target/5740,
90.1442 - c/5597, optimization/5863, optimization/5742, target/3177, c/5354,
90.1443 - optimization/5999, target/5977, middle-end/5731, target/5312...
90.1444 -
90.1445 -* Fri Mar 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23.1
90.1446 -- fix info and man page generation
90.1447 -
90.1448 -* Thu Mar 14 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.23
90.1449 -- update to CVS 3.1 branch
90.1450 - - fix IA-64 packet selection (PR optimization/5892)
90.1451 - - make highest_pow2_factor work for all constants (PR middle-end/5877)
90.1452 - - fix -Wunused (#61047)
90.1453 - - fix loop on mixed mode class assignments (#60923)
90.1454 - - fix wide character literals
90.1455 - - support SPARC v9 long distance branches (PR target/5626)
90.1456 - - fix SPARC leaf functions
90.1457 - - fix a rtl sharing problem (Richard Henderson, #60760,
90.1458 - PR optimization/5844)
90.1459 - - fix va_arg with variable size types (PR c/3711)
90.1460 - - PRs optimization/5901, optimization/5878, 5693, preprocessor/5899
90.1461 -- fix C++ ?: at the end of stmt expr (PR c++/5373)
90.1462 -- fix loop unrolling with sibcalls (PR optimization/5891)
90.1463 -
90.1464 -* Thu Mar 7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.22
90.1465 -- update to CVS 3.1 branch
90.1466 - - fix ICE with volatile long long (#60650)
90.1467 - - fix tempbuf.h (Philipp Thomas, #60212)
90.1468 - - fix -fssa-ccp (Jeff Law, #60651)
90.1469 - - versioned libstdc++
90.1470 - - backport __attribute__((visibility("..."))) patches from trunk
90.1471 -- include libstdc++ html documentation
90.1472 -
90.1473 -* Tue Feb 5 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.21
90.1474 -- update to CVS HEAD
90.1475 - - fix demangler (H.J. Lu, #59300, #59310)
90.1476 - - fix typo in IA-32 specs file (#59081)
90.1477 - - support moving SFmode values in MMX regs if -mmmx (#59083)
90.1478 - - fix recog_for_combine (#59084)
90.1479 - - don't ICE when inserting insns on edge from bb0 to bb0 (Bernd Schmidt,
90.1480 - #59087)
90.1481 - - make sure configure has not time in the future (#59203)
90.1482 - - fix division/modulo by certain constants (#58065, PR c/5304)
90.1483 - - fix -Wswitch (PR c/4475)
90.1484 -
90.1485 -* Thu Jan 31 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.20
90.1486 -- update to CVS HEAD
90.1487 - - fix jar (Tom Tromey)
90.1488 - - fix loop unrolling (Richard Henderson)
90.1489 -
90.1490 -* Wed Jan 30 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.19
90.1491 -- update to CVS HEAD
90.1492 - - fix a reload bug on ia32 (#58579, #58648)
90.1493 - - issue error about unknown -W* options (#58909)
90.1494 - - fix ia64 libbfd miscompilation (#58694)
90.1495 - - register all pending unparsed_text structures with GC (#58647)
90.1496 - - fix __builtin_apply with ia32 -msse (#58447)
90.1497 - - prevent ia64 prologue insns saving regs required for eh from being
90.1498 - deleted (#58387)
90.1499 -
90.1500 -* Tue Jan 15 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.18
90.1501 -- update to CVS HEAD
90.1502 - - handle static x[] = { [X...Y] = (foo) { Z } } (#58338)
90.1503 - - fix getdents.os miscompilation (Richard Henderson, #58308)
90.1504 - - fix ICE in try_forward_edges (#58125)
90.1505 - - fix ICE with -fexceptions -foptimize-sibling-calls
90.1506 -
90.1507 -* Tue Jan 8 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.17
90.1508 -- avoid division by 0 when computing prediction probabilities (#57992)
90.1509 -- fix ICE due to store_expr not adjusting value back for mode
90.1510 -- increase -ftemplate-depth default value to 500
90.1511 -
90.1512 -* Mon Jan 7 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.16
90.1513 -- if using PT_GNU_EH_FRAME registry, work around assembler bug resp. feature
90.1514 - and don't provide weak prototypes of functions which won't be used
90.1515 -- on Alpha, fix a typo so that crtbeginT.o is built and installed
90.1516 -- fix glibc inl-tester miscompilation on ia32
90.1517 -
90.1518 -* Sun Jan 6 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.15
90.1519 -- update to CVS HEAD (fix glibc bootstrap failure)
90.1520 -
90.1521 -* Thu Jan 3 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.14
90.1522 -- update to CVS HEAD (#57907)
90.1523 - - fix alpha bootstrap (Richard Henderson)
90.1524 -- fix simplification of (div:SI (???:DI ???) (const_int 1))
90.1525 - (#57916)
90.1526 -- add contrib/gcc_update --touch
90.1527 -
90.1528 -* Tue Jan 1 2002 Jakub Jelinek <jakub@redhat.com> 3.1-0.13
90.1529 -- update to CVS HEAD (fix glibc miscompilation on alpha)
90.1530 -- fix objc to not emit __objc_class_name_* without type and size
90.1531 -
90.1532 -* Mon Dec 31 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.12
90.1533 -- update to CVS HEAD
90.1534 -- fix sed commands for .la files
90.1535 -- make Alpha use PT_GNU_EH_FRAME
90.1536 -
90.1537 -* Thu Dec 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.11
90.1538 -- update to CVS HEAD (#57165, #57212, #57467, #57488, #57502,
90.1539 - #57505, #57574)
90.1540 -- readd .la files after fixing them up by sed
90.1541 -- add %%defattr(-,root,root) to libobjc subpackage
90.1542 -
90.1543 -* Mon Dec 3 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.10
90.1544 -- one more gcc.spec fix for passing --gdwarf-2 resp. --gstabs to as
90.1545 -- fix conditional register dead computation on IA-64
90.1546 -- fix extern array of incomplete structures handling
90.1547 -- fix gcc -xc -
90.1548 -- fix Fortran ICEs with SAVE_EXPRs (Richard Kenner)
90.1549 -
90.1550 -* Tue Nov 27 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.9
90.1551 -- update to CVS HEAD
90.1552 -- make DWARF 2 preferred debugging format on Linux
90.1553 -
90.1554 -* Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.8
90.1555 -- don't ship .la files (#56072)
90.1556 -- include libfrtbegin.a (#56098)
90.1557 -
90.1558 -* Mon Nov 12 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.7
90.1559 -- update to CVS HEAD
90.1560 -- back out Nov 7th loop.c change for now
90.1561 -
90.1562 -* Fri Nov 9 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.6
90.1563 -- update to CVS HEAD
90.1564 -- frame unwind compatibility with 7.[12] binutils
90.1565 -
90.1566 -* Tue Nov 6 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.5
90.1567 -- update to CVS HEAD
90.1568 -- merge DW_EH_PE_indirect constants and their relocs
90.1569 -
90.1570 -* Thu Oct 25 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.4
90.1571 -- don't loop forever or ICE on bogus array initializers (#53704)
90.1572 -- fix store motion with pure calls
90.1573 -- disable store motion for now
90.1574 -
90.1575 -* Tue Oct 23 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.3
90.1576 -- fix inlining of C nested functions with auto prototypes
90.1577 -
90.1578 -* Mon Oct 22 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.2
90.1579 -- update to CVS HEAD
90.1580 -- tree inlining fix from Alexandre Oliva
90.1581 -- fix anonymous union ICE on alpha
90.1582 -
90.1583 -* Mon Oct 15 2001 Jakub Jelinek <jakub@redhat.com> 3.1-0.1
90.1584 -- switch package to main compiler from alternate compiler
90.1585 -- update to CVS HEAD
90.1586 -- early gcc-2.96-RH compatibility in __frame_state_for
90.1587 -- change weak function tests for functions always present in GLIBC 2.2
90.1588 - into simple non-weak calls in crt*.o to avoid unnecessary symbol
90.1589 - lookups and prelink conflicts
90.1590 -- don't link against libgcc_s C shared libraries
90.1591 -
90.1592 -* Tue Oct 2 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-4
90.1593 -- update from CVS 3.0 branch
90.1594 - - ia64 function descriptors in vtables
90.1595 -- handle large files in Fortran (#53328)
90.1596 -- allow Java programs to be statically linked (#53605)
90.1597 -- remove #include_next patch, Benjamin commited it
90.1598 -
90.1599 -* Thu Sep 6 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-3
90.1600 -- don't use #include_next in <bits/std_c*> headers (Benjamin Kosnik, #53262)
90.1601 -
90.1602 -* Wed Sep 5 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-2
90.1603 -- update from CVS 3.0 branch
90.1604 -- check all gcc-2.96-RH patches whether they have made it into 3.0.1,
90.1605 - and if not, whether they are appropriate for 3.0.1
90.1606 -- 8 new patches
90.1607 - - add 36 testcases from gcc-2.96-RH
90.1608 - - fix ICE on very questionable C++ code from JDK (#39858, #52960)
90.1609 - - fix -frepo (Nathan Sidwell, #52877)
90.1610 - - avoid generating bogus .stabs (#49214)
90.1611 - - issue a clear error message about invalid ia32 floating point
90.1612 - asm constraints (#27137)
90.1613 - - fix some comment typos
90.1614 - - fix ADDRESSOF recognition (#29686)
90.1615 -
90.1616 -* Mon Aug 27 2001 Jakub Jelinek <jakub@redhat.com> 3.0.1-1
90.1617 -- update from CVS (3.0.1 final)
90.1618 -- properly handle throw() exception specifiers in template decls (#51824)
90.1619 -- fix IA-64 varargs handling in presence of additional anonymous arguments
90.1620 - (#50757)
90.1621 -- fix boehm-gc for prelink
90.1622 -- fix a typo in gcc3-c++ description (#52323)
90.1623 -- remove Chill from package summary (#51764)
90.1624 -
90.1625 -* Tue Aug 7 2001 Jakub Jelinek <jakub@redhat.com> 3.0-6
90.1626 -- update from CVS
90.1627 - - fix glibc vfprintf miscompilation
90.1628 -- don't warn about if (&foo) if foo is weak (H.J.Lu, #50855)
90.1629 -
90.1630 -* Wed Jul 25 2001 Jakub Jelinek <jakub@redhat.com> 3.0-5
90.1631 -- include libgcjgc.a in libgcj3-devel
90.1632 -- include libgcjgc.so.* in libgcj3 on ia64
90.1633 -- remove dependency on libgcj on ia64
90.1634 -- add ldconfig to libgcj3 post/postun
90.1635 -
90.1636 -* Tue Jul 24 2001 Jakub Jelinek <jakub@redhat.com> 3.0-4
90.1637 -- update from CVS
90.1638 -- make gcc3-java/libgcj3* packages, so that they can coexist
90.1639 - with 2.96-RH Java
90.1640 -- make sure shared Java libraries are built with proper dependencies
90.1641 -
90.1642 -* Wed Jul 11 2001 Jakub Jelinek <jakub@redhat.com> 3.0-3
90.1643 -- fix libgcc_s.so and libstdc++.so symlinks
90.1644 -- don't ship jar
90.1645 -
90.1646 -* Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-2
90.1647 -- move libstdc++.so into gcc-lib
90.1648 -- add libobjc.so symlink
90.1649 -
90.1650 -* Tue Jul 10 2001 Jakub Jelinek <jakub@redhat.com> 3.0-1
90.1651 -- new rpm
91.1 --- a/patches/gcc/3.2.3/README-sh Wed Oct 28 12:03:38 2009 +0100
91.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
91.3 @@ -1,16 +0,0 @@
91.4 -http://mirror.sh-linux.org/rpm-2003/SRPMS/gcc-3.2.3-3.src.rpm contains the following patches:
91.5 -
91.6 -gcc-20030210-sh-linux-1.patch
91.7 -gcc-3.2.3-libffi-1.patch
91.8 -gcc-3.2.3-sh-linux-dwarf2-1.patch (*not* applied by the spec file, it's in there by accident)
91.9 -
91.10 -gcc-3.2.3-libffi-1.patch was needed just to build, I think.
91.11 -
91.12 -After that was applied, sh4 gcc seemed to compile fine, but c++ programs
91.13 -failed to execute because libstdc++.so.5 was built without version
91.14 -info. This was caused directly by libstdc++-v3/configure setting
91.15 -SYMVER_MAP=config/linker-map.dummy because it sees that
91.16 -no libgcc_s.so was generated; configure says
91.17 - checking for shared libgcc... no.
91.18 -
91.19 -Applying gcc-20030210-sh-linux-1.patch in hopes it makes those problems go away.
92.1 --- a/patches/gcc/3.2.3/gcc-sh-linux.spec Wed Oct 28 12:03:38 2009 +0100
92.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
92.3 @@ -1,739 +0,0 @@
92.4 -Summary: The GNU Compiler Collection for SuperH.
92.5 -%define GCC_VERSION 3.2.3
92.6 -%define arch_list sh3-linux sh3eb-linux sh4-linux sh4eb-linux
92.7 -%define TARGET_LIBSTDC 1
92.8 -%define TARGET_JAVA 1
92.9 -
92.10 -Name: gcc
92.11 -Version: 3.2.3
92.12 -Release: 3
92.13 -
92.14 -Copyright: GPL
92.15 -Group: Development/Languages
92.16 -Source0: gcc-%{GCC_VERSION}.tar.bz2
92.17 -Patch1: gcc-20030210-sh-linux-1.patch
92.18 -Patch2: gcc-3.2.3-libffi-1.patch
92.19 -Patch3: gcc-3.2.3-sh-linux-dwarf2-1.patch
92.20 -Buildroot: /var/tmp/gcc-%{_target}-root
92.21 -ExclusiveArch: i386 sh3 sh3eb sh4 sh4eb
92.22 -
92.23 -%description
92.24 -This package contains the GNU Compiler Collection: gcc and g++.
92.25 -You'll need this package in order to compile C/C++ code.
92.26 -
92.27 -%ifarch i386
92.28 -
92.29 -# ==================== Cross Compiler ===============================
92.30 -
92.31 -%package sh-linux
92.32 -Summary: The GNU Compiler Collection for sh-linux.
92.33 -Group: Development/Languages
92.34 -Requires: binutils-sh-linux >= 2.13.2
92.35 -Provides: gcc-sh-linux
92.36 -Obsoletes: gcc-sh3-linux gcc-sh3eb-linux gcc-sh4-linux gcc-sh4eb-linux
92.37 -Obsoletes: gcc-sh3-linux-c++ gcc-sh3eb-linux-c++ gcc-sh4-linux-c++ gcc-sh4eb-linux-c++
92.38 -Obsoletes: libstdc++-sh3-linux libstdc++-sh3eb-linux libstdc++-sh4-linux libstdc++-sh4eb-linux
92.39 -AutoReqProv: no
92.40 -
92.41 -%description sh-linux
92.42 -The gcc-sh-linux package contains GNU Compiler Collection: gcc g++ and libstdc++-v3.
92.43 -
92.44 -It includes support for most of the current C++ specification, including templates and
92.45 -exception handling. It does also include the standard C++ library and C++ header files.
92.46 -You'll need this package in order to cross compile C/C++ code for sh-linux.
92.47 -
92.48 -%package -n libgcj-sh-linux
92.49 -Summary: Header files and libraries for sh-linux Java development.
92.50 -Group: Development/Libraries
92.51 -Requires: gcc-sh-linux = %{version}-%{release}
92.52 -AutoReqProv: no
92.53 -
92.54 -%description -n libgcj-sh-linux
92.55 -The Java static libraries and C header files. You will need this
92.56 -package to compile your Java programs for sh-linux using the gcc Java compiler (gcj).
92.57 -
92.58 -%else
92.59 -# =========================== Native Compiler =================================
92.60 -%package libgcc
92.61 -Summary: runtime libraries for the GNU Compiler Collection.
92.62 -Group: System Environment/Libraries
92.63 -
92.64 -%description libgcc
92.65 -This package contains libgcc shared libraries for the GNU C Compiler Collection.
92.66 -You'll need this package in order to execute C,C++,JAVA code
92.67 -that uses shared libgcc.
92.68 -
92.69 -%package c++
92.70 -Summary: C++ support for gcc
92.71 -Group: Development/Languages
92.72 -Requires: gcc = %{version}-%{release}
92.73 -
92.74 -%description c++
92.75 -This package adds C++ support to the GNU Compiler Collection. It includes
92.76 -support for most of the current C++ specification, including templates and
92.77 -exception handling. It does include the static standard C++
92.78 -library and C++ header files; the library for dynamically linking
92.79 -programs is available separately.
92.80 -
92.81 -%package -n libstdc++
92.82 -Summary: GNU c++ library.
92.83 -Group: System Environment/Libraries
92.84 -
92.85 -%description -n libstdc++
92.86 -The libstdc++ package contains a snapshot of the GCC Standard C++
92.87 -Library v3, an ongoing project to implement the ISO 14882 Standard C++
92.88 -library.
92.89 -
92.90 -%package -n libstdc++-devel
92.91 -Summary: Header files and libraries for C++ development
92.92 -Group: Development/Libraries
92.93 -Requires: libstdc++ = %{version}-%{release}, gcc-c++ = %{version}-%{release}
92.94 -
92.95 -%description -n libstdc++-devel
92.96 -This is the GNU implementation of the standard C++ libraries. This
92.97 -package includes the header files and libraries needed for C++
92.98 -development. This includes SGI's implementation of the STL.
92.99 -
92.100 -%package java
92.101 -Summary: Java support for gcc
92.102 -Group: Development/Languages
92.103 -Requires: gcc = %{version}-%{release}, libgcj = %{version}-%{release}, libgcj-devel = %{version}-%{release}
92.104 -
92.105 -%description java
92.106 -This package adds experimental support for compiling Java(tm) programs and
92.107 -bytecode into native code. To use this you will also need the libgcj and
92.108 -libgcj-devel packages.
92.109 -
92.110 -%package -n libgcj
92.111 -Summary: Java runtime library for gcc.
92.112 -Group: System Environment/Libraries
92.113 -
92.114 -%description -n libgcj
92.115 -The Java runtime library. You will need this package to run your Java
92.116 -programs compiled using the gcc Java compiler (gcj).
92.117 -
92.118 -%package -n libgcj-devel
92.119 -Summary: Header files and libraries for Java development.
92.120 -Group: Development/Libraries
92.121 -Requires: libgcj = %{version}-%{release}
92.122 -
92.123 -%description -n libgcj-devel
92.124 -The Java static libraries and C header files. You will need this
92.125 -package to compile your Java programs using the gcc Java compiler (gcj).
92.126 -
92.127 -%endif
92.128 -
92.129 -%prep
92.130 -%setup -q -n gcc-%{GCC_VERSION}
92.131 -%patch1 -p1
92.132 -%patch2 -p1
92.133 -##%patch3 -p1
92.134 -
92.135 -%build
92.136 -%ifarch i386
92.137 -# build cross compiler for i386-linux host
92.138 -for arch in sh-linux; do
92.139 - rm -rf ${arch}
92.140 - mkdir ${arch}
92.141 -
92.142 - CONFIG_ARGS="\
92.143 - --prefix=%{_prefix} \
92.144 - --mandir=%{_mandir} \
92.145 - --infodir=%{_infodir} \
92.146 - --target=${arch} \
92.147 - --host=%{_host} \
92.148 - --build=%{_build} \
92.149 - --enable-languages=c,c++,java \
92.150 - --with-system-zlib \
92.151 - --with-gxx-include-dir=%{_prefix}/${arch}/include/g++-v3 \
92.152 - --includedir=%{_prefix}/${arch}/include \
92.153 - --disable-checking \
92.154 - --disable-shared \
92.155 - --enable-__cxa_atexit \
92.156 - --enable-c99 \
92.157 - --enable-threads=posix \
92.158 - --enable-long-long"
92.159 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.160 - CONFIG_ARGS="$CONFIG_ARGS --enable-libgcj"
92.161 - fi
92.162 - ( cd $arch
92.163 - ../configure ${CONFIG_ARGS}
92.164 - )
92.165 - if [ %{TARGET_LIBSTDC} -ne 0 -o %{TARGET_JAVA} -ne 0 ]; then
92.166 - sed -e s:-Dinhibit_libc::g ${arch}/gcc/Makefile >${arch}/gcc/Makefile.$$$
92.167 - mv -f ${arch}/gcc/Makefile.$$$ ${arch}/gcc/Makefile
92.168 - fi
92.169 - make all-gcc -C ${arch}
92.170 -
92.171 - if [ %{TARGET_LIBSTDC} -ne 0 ]; then
92.172 - CONFIG_ARGS="`echo $CONFIG_ARGS | sed -e s/--disable-shared/--enable-shared/`"
92.173 - make TARGET_CONFIGARGS="${CONFIG_ARGS} --with-cross-host" all-target-libstdc++-v3 -C ${arch}
92.174 - fi
92.175 -
92.176 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.177 - make all-fastjar -C ${arch}
92.178 - CONFIG_ARGS="`echo $CONFIG_ARGS | sed -e s/--host=%{_host}/--host=${arch}/`"
92.179 - dir=`pwd`
92.180 -
92.181 - ac_cv_file__proc_self_exe=yes \
92.182 - ac_cv_prog_GCJ="$dir/$arch/gcc/gcj -B$dir/$arch/$arch/libjava/ -B$dir/$arch/gcc/ -B%{_prefix}/$arch/bin/ -B%{_prefix}/$arch/lib/ -isystem %{_prefix}/$arch/include" \
92.183 - make TARGET_CONFIGARGS="${CONFIG_ARGS} --with-cross-host --enable-multilib --with-target-subdir=${arch} --with-x=no" \
92.184 - all-target-libjava -C ${arch}
92.185 - fi
92.186 -
92.187 -%else
92.188 -# Canadian cross (build native compiler)
92.189 -for arch in %{_target}; do
92.190 - rm -rf ${arch}
92.191 - mkdir -p ${arch}
92.192 - CONFIG_ARGS="\
92.193 - --prefix=%{_prefix} \
92.194 - --mandir=%{_mandir} \
92.195 - --infodir=%{_infodir} \
92.196 - --target=${arch} \
92.197 - --host=${arch} \
92.198 - --build=%{_build} \
92.199 - --enable-languages=c,c++,java \
92.200 - --with-system-zlib \
92.201 - --with-gxx-include-dir=%{_prefix}/include/g++-v3 \
92.202 - --disable-checking \
92.203 - --disable-shared \
92.204 - --enable-__cxa_atexit \
92.205 - --enable-c99 \
92.206 - --enable-threads=posix \
92.207 - --enable-long-long"
92.208 -
92.209 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.210 - CONFIG_ARGS="$CONFIG_ARGS --enable-libgcj"
92.211 - fi
92.212 -
92.213 - ( cd ${arch}
92.214 - CC=${arch}-gcc AR=${arch}-ar RANLIB=${arch}-ranlib CXX=${arch}-g++ \
92.215 - ../configure $CONFIG_ARGS
92.216 - )
92.217 -
92.218 - if [ %{TARGET_LIBSTDC} -ne 0 -o %{TARGET_JAVA} -ne 0 ]; then
92.219 - sed -e s:-Dinhibit_libc::g ${arch}/gcc/Makefile >${arch}/gcc/Makefile.$$$
92.220 - mv -f ${arch}/gcc/Makefile.$$$ ${arch}/gcc/Makefile
92.221 - fi
92.222 -
92.223 - make all-build-libiberty all-gcc -C ${arch}
92.224 -
92.225 - if [ %{TARGET_LIBSTDC} -ne 0 ]; then
92.226 - CONFIG_ARGS="`echo $CONFIG_ARGS | sed -e s/--disable-shared/--enable-shared/`"
92.227 - make TARGET_CONFIGARGS="${CONFIG_ARGS}" all-target-libstdc++-v3 -C ${arch}
92.228 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.229 - ( mkdir -p ${arch}/fastjar; cd ${arch}/fastjar; rm *; ../../fastjar/configure --with-system-zlib; make )
92.230 - ac_cv_file__proc_self_exe=yes \
92.231 - CC=${arch}-gcc AR=${arch}-ar RANLIB=${arch}-ranlib CXX=${arch}-g++ GCJ=${arch}-gcj \
92.232 - make TARGET_CONFIGARGS="${CONFIG_ARGS} --with-x=no" configure-target-libjava -C ${arch}
92.233 -
92.234 - make -C ${arch}/${arch}/libffi
92.235 - make -C ${arch}/${arch}/boehm-gc
92.236 - make -C ${arch}/${arch}/zlib
92.237 - make GCJ=${arch}-gcj GCJH=${arch}-gcjh ZIP=${arch}-jar -C ${arch}/${arch}/libjava
92.238 - (
92.239 - rm -rf ${arch}/${arch}/fastjar
92.240 - mkdir -p ${arch}/${arch}/fastjar
92.241 - cd ${arch}/${arch}/fastjar
92.242 -
92.243 - ac_cv_sizeof_char=1 \
92.244 - ac_cv_sizeof_short=2 \
92.245 - ac_cv_sizeof_int=4 \
92.246 - ac_cv_sizeof_long=4 \
92.247 - ac_cv_sizeof_long_long=8 \
92.248 - ac_cv_sizeof_float=4 \
92.249 - ac_cv_sizeof_double=8 \
92.250 - ac_cv_sizeof_long_double=8 \
92.251 - ac_cv_sizeof_void_p=4 \
92.252 - ac_cv_file__proc_self_exe=yes \
92.253 - ac_cv_header_langinfo_h=yes \
92.254 - CC=${arch}-gcc ../../../fastjar/configure $CONFIG_ARGS
92.255 -
92.256 - make
92.257 - )
92.258 -
92.259 - fi
92.260 - fi
92.261 -%endif
92.262 -done
92.263 -
92.264 -%install
92.265 -rm -rf $RPM_BUILD_ROOT
92.266 -mkdir -p ${RPM_BUILD_ROOT}/{%{_prefix}/bin,lib}
92.267 -
92.268 -%ifarch i386
92.269 - ARCH_STRTIP=strip
92.270 - EXESUFFIX=""
92.271 - arch=sh-linux
92.272 - TOOLPREFIX=${arch}-
92.273 - mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/${arch}/{bin,include,lib,share}
92.274 - mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/${arch}/lib/{m4,mb/m4}
92.275 - make DESTDIR=${RPM_BUILD_ROOT} \
92.276 - install-gcc \
92.277 - install-fastjar \
92.278 - -C ${arch}
92.279 -%if 0
92.280 - ( cd ${RPM_BUILD_ROOT}%{_prefix}/sh-linux/lib
92.281 - rm -f libgcc_s_*.so
92.282 - mv libgcc_s_mb.so.1 mb/libgcc_s.so.1
92.283 - mv libgcc_s_m4.so.1 m4/libgcc_s.so.1
92.284 - mv libgcc_s_mb_m4.so.1 mb/m4/libgcc_s.so.1
92.285 - ln -s libgcc_s.so.1 mb/libgcc_s.so
92.286 - ln -s libgcc_s.so.1 m4/libgcc_s.so
92.287 - ln -s libgcc_s.so.1 mb/m4/libgcc_s.so
92.288 - )
92.289 -%endif
92.290 -
92.291 - if [ %{TARGET_LIBSTDC} -ne 0 ]; then
92.292 - make DESTDIR=${RPM_BUILD_ROOT} \
92.293 - install-target-libstdc++-v3 \
92.294 - -C ${arch}
92.295 - fi
92.296 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.297 - make DESTDIR=${RPM_BUILD_ROOT} \
92.298 - install-target-libjava \
92.299 - install-target-boehm-gc \
92.300 - install-target-zlib \
92.301 - -C ${arch}
92.302 - make DESTDIR=${RPM_BUILD_ROOT} prefix=%{_prefix}/${arch} \
92.303 - install -C ${arch}/${arch}/libffi
92.304 - mv -f $RPM_BUILD_ROOT%{_prefix}/share/java $RPM_BUILD_ROOT%{_prefix}/sh-linux/share/
92.305 - fi
92.306 - rm -f $RPM_BUILD_ROOT%{_prefix}/bin/{gcov,gccbug}
92.307 - rm -f $RPM_BUILD_ROOT%{_prefix}/${arch}/bin/{gij,jv-convert}
92.308 - sed -e 's/@@VERSION@@/%{GCC_VERSION}/g' debian/shCPU-linux-GCC >$RPM_BUILD_ROOT%{_prefix}/bin/shCPU-linux-GCC
92.309 - chmod 0755 $RPM_BUILD_ROOT%{_prefix}/bin/shCPU-linux-GCC
92.310 -
92.311 - LIBSTDC=`cd $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib; echo libstdc++.so*`
92.312 - LIBGCJ=`cd $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib; echo libgcj.so*`
92.313 - LIBFFI=`cd $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib; echo libffi*.so*`
92.314 - # literally (binary-ly) same
92.315 - PROGS="cpp c++ g++ g77 gcc gcj"
92.316 - DRIVERS="cc1 cc1obj cc1plus collect2 cpp0 f771 jc1 tradcpp0 jvgenmain"
92.317 - OBJS="crtbegin.o crtbeginS.o crtend.o crtendS.o crtbeginT.o"
92.318 - LIBS="libgcc.a libgcc_eh.a libobjc.a"
92.319 - LIBS_1="$LIBSTDC \
92.320 - $LIBGCJ libgcj.spec \
92.321 - $LIBFFI "
92.322 - LIBS_2="libstdc++.a libstdc++.la \
92.323 - libsupc++.a libsupc++.la \
92.324 - libgcj.a libgcj.la \
92.325 - libffi.a libffi.la"
92.326 - INCLUDE="include"
92.327 -
92.328 - for CPU in sh3 sh3eb sh4 sh4eb; do
92.329 - mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}
92.330 - mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/${CPU}-linux/{lib,share/java}
92.331 - # Make symbolic links for include dir.
92.332 - ln -s ../sh-linux/include $RPM_BUILD_ROOT%{_prefix}/${CPU}-linux/include
92.333 -
92.334 - # Make symbolic links for libgcj.jar
92.335 - ln -s ../../sh-linux/share/java/libgcj-%{GCC_VERSION}.jar $RPM_BUILD_ROOT%{_prefix}/${CPU}-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.336 -
92.337 - # Make symbolic links for executables.
92.338 - for p in ${PROGS}; do
92.339 - ln -s shCPU-linux-GCC $RPM_BUILD_ROOT%{_prefix}/bin/${CPU}-linux-$p
92.340 - done
92.341 - ln -s sh-linux-gcjh $RPM_BUILD_ROOT%{_prefix}/bin/${CPU}-linux-gcjh
92.342 -
92.343 - case "${CPU}" in
92.344 - sh3)
92.345 - MULTILIBDIR=
92.346 - MULTIPARENTDIR=
92.347 - AS_ENDIAN_FLAG="-little"
92.348 - CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
92.349 - CPP_CPU_DEFS='-D__SH3__ -D__sh3__'
92.350 - CC1_CPU_ENDIAN_FLAGS="-ml -m3"
92.351 - CC1PLUS_CPU_ENDIAN_FLAGS="-ml -m3"
92.352 - LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh3"
92.353 - LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh3-linux/lib"
92.354 - ;;
92.355 - sh3eb)
92.356 - MULTILIBDIR=/mb
92.357 - MULTIPARENTDIR=../
92.358 - AS_ENDIAN_FLAG="-big"
92.359 - CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
92.360 - CPP_CPU_DEFS='-D__SH3__ -D__sh3__'
92.361 - CC1_CPU_ENDIAN_FLAGS="-mb -m3"
92.362 - CC1PLUS_CPU_ENDIAN_FLAGS="-mb -m3"
92.363 - LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh3"
92.364 - LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh3eb-linux/lib"
92.365 - ;;
92.366 - sh4)
92.367 - MULTILIBDIR=/m4
92.368 - MULTIPARENTDIR=../
92.369 - AS_ENDIAN_FLAG="-little"
92.370 - CPP_ENDIAN_DEF="-D__LITTLE_ENDIAN__"
92.371 - CPP_CPU_DEFS="-D__SH4__"
92.372 - CC1_CPU_ENDIAN_FLAGS="-ml -m4"
92.373 - CC1PLUS_CPU_ENDIAN_FLAGS="-ml -m4"
92.374 - LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh4"
92.375 - LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh4-linux/lib"
92.376 - ;;
92.377 - sh4eb)
92.378 - MULTILIBDIR=/mb/m4
92.379 - MULTIPARENTDIR=../../
92.380 - AS_ENDIAN_FLAG="-big"
92.381 - CPP_ENDIAN_DEF="-D__BIG_ENDIAN__"
92.382 - CPP_CPU_DEFS="-D__SH4__"
92.383 - CC1_CPU_ENDIAN_FLAGS="-mb -m4"
92.384 - CC1PLUS_CPU_ENDIAN_FLAGS="-mb -m4"
92.385 - LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh4"
92.386 - LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh4eb-linux/lib"
92.387 - ;;
92.388 - esac
92.389 -
92.390 - # Make symbolic links for GCC drivers, objects, libraries, and include dir.
92.391 - for f in ${DRIVERS} ${INCLUDE}; do
92.392 - if [ -a $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/$f ]; then
92.393 - ln -s ../../sh-linux/%{GCC_VERSION}/$f $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/$f
92.394 - fi
92.395 - done
92.396 - for f in ${OBJS} ${LIBS}; do
92.397 - if [ -a $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}${MULTILIBDIR}/$f ]; then
92.398 - ln -s ../../sh-linux/%{GCC_VERSION}${MULTILIBDIR}/$f $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/$f
92.399 - fi
92.400 - done
92.401 -
92.402 - for f in ${LIBS_1} ${LIBS_2}; do
92.403 - if [ -e $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f ]; then
92.404 - mv -f $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f $RPM_BUILD_ROOT%{_prefix}/${CPU}-linux/lib
92.405 - ln -s ${MULTIPARENTDIR}../../${CPU}-linux/lib/$f $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f
92.406 - fi
92.407 - done
92.408 -
92.409 - sed -e "s+@AS_ENDIAN_FLAG@+${AS_ENDIAN_FLAG}+" \
92.410 - -e "s+@CPP_ENDIAN_DEF@+${CPP_ENDIAN_DEF}+" \
92.411 - -e "s+@CPP_CPU_DEFS@+${CPP_CPU_DEFS}+" \
92.412 - -e "s+@CC1_CPU_ENDIAN_FLAGS@+${CC1_CPU_ENDIAN_FLAGS}+" \
92.413 - -e "s+@CC1PLUS_CPU_ENDIAN_FLAGS@+${CC1PLUS_CPU_ENDIAN_FLAGS}+" \
92.414 - -e "s+@LINKER_CPU_ENDIAN_FLAGS@+${LINKER_CPU_ENDIAN_FLAGS}+" \
92.415 - -e "s+@LINKER_RPATH_LINK_FLAG@+${LINKER_RPATH_LINK_FLAG}+" \
92.416 - debian/edit-specs.in >${arch}/edit-specs-${CPU}.sed
92.417 -
92.418 - sed -f ${arch}/edit-specs-${CPU}.sed \
92.419 - $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/specs \
92.420 - > $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/specs
92.421 -
92.422 - done
92.423 -
92.424 -%else
92.425 - ARCH_STRTIP=%{_target}-strip
92.426 - EXESUFFIX=""
92.427 - TOOLPREFIX=""
92.428 - ln -s ..%{_prefix}/bin/cpp ${RPM_BUILD_ROOT}/lib/cpp
92.429 - ln -s gcc ${RPM_BUILD_ROOT}%{_prefix}/bin/cc
92.430 - arch=%{_target}
92.431 - make DESTDIR=${RPM_BUILD_ROOT} \
92.432 - install -C ${arch}
92.433 - if [ %{TARGET_JAVA} -ne 0 ]; then
92.434 - make DESTDIR=${RPM_BUILD_ROOT} install -C ${arch}/${arch}/libffi
92.435 - make DESTDIR=${RPM_BUILD_ROOT} install -C ${arch}/${arch}/fastjar
92.436 - mv -f ${RPM_BUILD_ROOT}/%{_prefix}/%{_lib}/libgcj.spec \
92.437 - ${RPM_BUILD_ROOT}/%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/
92.438 - fi
92.439 - $ARCH_STRTIP $RPM_BUILD_ROOT%{_prefix}/bin/gcov$EXESUFFIX || :
92.440 -
92.441 -cat >${arch}/edit-specs <<EOF
92.442 -/^*cross_compile:$/ {
92.443 -n
92.444 -c\\
92.445 -0
92.446 -}
92.447 -EOF
92.448 - sed -f ${arch}/edit-specs -e 's#-rpath-link.*/usr/%{_target}/lib##' \
92.449 - ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs \
92.450 - >${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs.$$
92.451 - mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs.$$ \
92.452 - ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs
92.453 -
92.454 - sed -e "s/dependency_libs=.*/dependency_libs='-lm -lgcc -lc -lgcc'/" \
92.455 - ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la \
92.456 - >${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la.$$
92.457 - mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la.$$ \
92.458 - ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la
92.459 -
92.460 - sed -e "s/dependency_libs=.*/dependency_libs='-lpthread -ldl -lz -lm -lgcc -lc -lgcc'/" \
92.461 - ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la \
92.462 - >${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la.$$
92.463 - mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la.$$ \
92.464 - ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la
92.465 -
92.466 -cat >$RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/syslimits.h <<EOF
92.467 -#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */
92.468 -#include_next <limits.h>
92.469 -#undef _GCC_NEXT_LIMITS_H
92.470 -EOF
92.471 -
92.472 -%endif
92.473 -
92.474 - $ARCH_STRTIP $RPM_BUILD_ROOT%{_prefix}/bin/${TOOLPREFIX}{gcc,cpp,c++,c++filt,gcj,gcjh,gij,jar,grepjar,jcf-dump,jv-convert,jv-scan}$EXESUFFIX || :
92.475 - FULLPATH=$(dirname $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/cc1${EXESUFFIX})
92.476 - $ARCH_STRTIP $FULLPATH/{cc1${EXESUFFIX},cc1plus${EXESUFFIX},cpp0${EXESUFFIX},tradcpp0${EXESUFFIX},collect2${EXESUFFIX},jc1${EXESUFFIX},jvgenmain${EXESUFFIX}} || :
92.477 -
92.478 - # Strip static libraries
92.479 - sh-linux-strip -S -R .comment `find $RPM_BUILD_ROOT -type f -name "*.a"` || :
92.480 -
92.481 - # Strip ELF shared objects
92.482 - for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) `; do
92.483 - if file $f | grep -q "shared object.*not stripped"; then
92.484 - sh-linux-strip --strip-unneeded -R .comment $f
92.485 - fi
92.486 - done
92.487 -
92.488 -%clean
92.489 -rm -rf $RPM_BUILD_ROOT
92.490 -
92.491 -# ==================== Cross Compiler ===============================
92.492 -%ifarch i386
92.493 -
92.494 -%files sh-linux
92.495 -%defattr(-,root,root)
92.496 -%{_prefix}/bin/sh*
92.497 -%dir %{_prefix}/lib/gcc-lib/sh-linux
92.498 -%dir %{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}
92.499 -%dir %{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include
92.500 -%dir %{_prefix}/lib/gcc-lib/sh3-linux
92.501 -%dir %{_prefix}/lib/gcc-lib/sh3-linux/%{GCC_VERSION}
92.502 -%dir %{_prefix}/lib/gcc-lib/sh3eb-linux
92.503 -%dir %{_prefix}/lib/gcc-lib/sh3eb-linux/%{GCC_VERSION}
92.504 -%dir %{_prefix}/lib/gcc-lib/sh4-linux
92.505 -%dir %{_prefix}/lib/gcc-lib/sh4-linux/%{GCC_VERSION}
92.506 -%dir %{_prefix}/lib/gcc-lib/sh4eb-linux
92.507 -%dir %{_prefix}/lib/gcc-lib/sh4eb-linux/%{GCC_VERSION}
92.508 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cc1
92.509 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cc1plus
92.510 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/collect2
92.511 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cpp0
92.512 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/*.o
92.513 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/libgcc*.a
92.514 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/specs
92.515 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/tradcpp0
92.516 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/jc1
92.517 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/jvgenmain
92.518 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/m4
92.519 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/mb
92.520 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stddef.h
92.521 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stdarg.h
92.522 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/varargs.h
92.523 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/float.h
92.524 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/limits.h
92.525 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stdbool.h
92.526 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/iso646.h
92.527 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/syslimits.h
92.528 -%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/README
92.529 -%{_prefix}/lib/gcc-lib/sh3-linux/%{GCC_VERSION}/*
92.530 -%{_prefix}/lib/gcc-lib/sh3eb-linux/%{GCC_VERSION}/*
92.531 -%{_prefix}/lib/gcc-lib/sh4-linux/%{GCC_VERSION}/*
92.532 -%{_prefix}/lib/gcc-lib/sh4eb-linux/%{GCC_VERSION}/*
92.533 -%{_mandir}/man1/sh-linux-*
92.534 -%dir %{_prefix}/sh-linux/include
92.535 -%{_prefix}/sh3-linux/include
92.536 -%{_prefix}/sh3eb-linux/include
92.537 -%{_prefix}/sh4-linux/include
92.538 -%{_prefix}/sh4eb-linux/include
92.539 -%endif
92.540 -
92.541 -%if %{TARGET_LIBSTDC}
92.542 -%ifarch i386
92.543 -%{_prefix}/sh-linux/include/g++-v3
92.544 -%{_prefix}/sh-linux/lib/libs*
92.545 -%{_prefix}/sh-linux/lib/m4/libs*
92.546 -%{_prefix}/sh-linux/lib/mb/libs*
92.547 -%{_prefix}/sh-linux/lib/mb/m4/libs*
92.548 -%{_prefix}/sh3-linux/lib/libs*
92.549 -%{_prefix}/sh4-linux/lib/libs*
92.550 -%{_prefix}/sh3eb-linux/lib/libs*
92.551 -%{_prefix}/sh4eb-linux/lib/libs*
92.552 -%endif
92.553 -%endif
92.554 -
92.555 -%if %{TARGET_JAVA}
92.556 -%ifarch i386
92.557 -%files -n libgcj-sh-linux
92.558 -%defattr(-,root,root)
92.559 -%{_prefix}/sh-linux/include/*.h
92.560 -%{_prefix}/sh-linux/include/gcj
92.561 -%{_prefix}/sh-linux/include/gnu/*
92.562 -%{_prefix}/sh-linux/include/java
92.563 -%{_prefix}/sh-linux/lib/lib*gcj*
92.564 -%{_prefix}/sh-linux/lib/m4/lib*gcj*
92.565 -%{_prefix}/sh-linux/lib/mb/lib*gcj*
92.566 -%{_prefix}/sh-linux/lib/mb/m4/lib*gcj*
92.567 -%{_prefix}/sh-linux/lib/libffi*
92.568 -%{_prefix}/sh-linux/lib/m4/libffi*
92.569 -%{_prefix}/sh-linux/lib/mb/libffi*
92.570 -%{_prefix}/sh-linux/lib/mb/m4/libffi*
92.571 -%{_prefix}/sh-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.572 -%{_prefix}/sh3-linux/lib/lib*gcj*
92.573 -%{_prefix}/sh3-linux/lib/libffi*
92.574 -%{_prefix}/sh3-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.575 -%{_prefix}/sh4-linux/lib/lib*gcj*
92.576 -%{_prefix}/sh4-linux/lib/libffi*
92.577 -%{_prefix}/sh4-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.578 -%{_prefix}/sh3eb-linux/lib/lib*gcj*
92.579 -%{_prefix}/sh3eb-linux/lib/libffi*
92.580 -%{_prefix}/sh3eb-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.581 -%{_prefix}/sh4eb-linux/lib/lib*gcj*
92.582 -%{_prefix}/sh4eb-linux/lib/libffi*
92.583 -%{_prefix}/sh4eb-linux/share/java/libgcj-%{GCC_VERSION}.jar
92.584 -%endif
92.585 -%endif
92.586 -
92.587 -%ifarch sh3 sh3eb sh4 sh4eb
92.588 -# =========================== Native Compiler =================================
92.589 -%files
92.590 -%defattr(-,root,root)
92.591 -%dir %{_prefix}/lib/gcc-lib/%{_target}
92.592 -%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}
92.593 -%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include
92.594 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cc1
92.595 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/collect2
92.596 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cpp0
92.597 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/crt*.o
92.598 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/libgcc*.a
92.599 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/specs
92.600 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/tradcpp0
92.601 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stddef.h
92.602 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stdarg.h
92.603 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/varargs.h
92.604 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/float.h
92.605 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/limits.h
92.606 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stdbool.h
92.607 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/iso646.h
92.608 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/syslimits.h
92.609 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/README
92.610 -%{_prefix}/bin/gcc
92.611 -%{_prefix}/bin/%{_target}-gcc
92.612 -%{_prefix}/bin/cpp
92.613 -%{_prefix}/bin/gccbug
92.614 -%{_prefix}/bin/gcov
92.615 -%{_prefix}/bin/cc
92.616 -/lib/cpp
92.617 -%{_infodir}/cpp*
92.618 -%{_infodir}/gcc*
92.619 -
92.620 -%if 0
92.621 -%files libgcc
92.622 -%defattr(-,root,root)
92.623 -/lib/libgcc_s.so*
92.624 -%endif
92.625 -
92.626 -%files c++
92.627 -%defattr(-,root,root)
92.628 -%{_prefix}/bin/c++
92.629 -%{_prefix}/bin/g++
92.630 -%{_prefix}/bin/c++filt
92.631 -%{_prefix}/bin/%{_target}-c++
92.632 -%{_prefix}/bin/%{_target}-g++
92.633 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cc1plus
92.634 -%endif
92.635 -
92.636 -%if %{TARGET_LIBSTDC}
92.637 -%ifarch sh3 sh3eb sh4 sh4eb
92.638 -%files -n libstdc++
92.639 -%defattr(-,root,root)
92.640 -%{_prefix}/lib/libstdc++.so*
92.641 -
92.642 -%files -n libstdc++-devel
92.643 -%defattr(-,root,root)
92.644 -%{_prefix}/include/g++-v3
92.645 -%{_prefix}/lib/libstdc++.*a
92.646 -%endif
92.647 -%endif
92.648 -
92.649 -%if %{TARGET_JAVA}
92.650 -%ifarch sh3 sh3eb sh4 sh4eb
92.651 -%files java
92.652 -%defattr(-,root,root)
92.653 -%{_prefix}/bin/addr2name.awk
92.654 -%{_prefix}/bin/gcj
92.655 -%{_prefix}/bin/gcjh
92.656 -%{_prefix}/bin/gij
92.657 -%{_prefix}/bin/jar
92.658 -%{_prefix}/bin/grepjar
92.659 -%{_prefix}/bin/jcf-dump
92.660 -%{_prefix}/bin/jv-convert
92.661 -%{_prefix}/bin/jv-scan
92.662 -%dir %{_prefix}/lib/gcc-lib
92.663 -%dir %{_prefix}/lib/gcc-lib/%{_target}
92.664 -%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}
92.665 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/jc1
92.666 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/jvgenmain
92.667 -%{_infodir}/gcj*
92.668 -
92.669 -%files -n libgcj
92.670 -%defattr(-,root,root)
92.671 -%{_prefix}/%{_lib}/libgcj.so*
92.672 -%{_prefix}/%{_lib}/libffi*.so*
92.673 -%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/libgcj.spec
92.674 -%{_prefix}/share/java/libgcj-%{GCC_VERSION}.jar
92.675 -
92.676 -%files -n libgcj-devel
92.677 -%defattr(-,root,root)
92.678 -%{_prefix}/include/*.h
92.679 -%{_prefix}/include/gcj
92.680 -%{_prefix}/include/gnu/*
92.681 -%{_prefix}/include/java
92.682 -%{_prefix}/lib/libgcj.*a
92.683 -%{_prefix}/lib/libffi.*a
92.684 -%endif
92.685 -%endif
92.686 -
92.687 -%changelog
92.688 -* Wed Feb 19 2003 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.689 -- version 3.2.2.
92.690 -
92.691 -* Tue Feb 19 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.692 -- version 3.0.4.
92.693 -
92.694 -* Tue Feb 12 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.695 -- add java support.
92.696 -
92.697 -* Thu Feb 7 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.698 -- follow debian/SH update.
92.699 -
92.700 -* Tue Feb 5 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.701 -- follow debian/SH update.
92.702 -
92.703 -* Thu Jan 24 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.704 -- rebuild with new binutils.
92.705 -
92.706 -* Tue Jan 22 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.707 -- leaf function optimization fixed.
92.708 -
92.709 -* Thu Dec 06 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.710 -- add gcc-ice-rml patch.
92.711 -
92.712 -* Tue Nov 13 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.713 -- add configure option.
92.714 -
92.715 -* Thu Nov 01 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.716 -- tablejump fix by gniibe.
92.717 -
92.718 -* Mon Oct 22 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.719 -- updated gcc patch.
92.720 -
92.721 -* Wed Oct 17 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.722 -- updated gcc patch.
92.723 -
92.724 -* Tue Oct 02 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.725 -- gcc/config/sh/sh.c bug fix.
92.726 -
92.727 -* Fri Aug 24 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.728 -- gcc version 3.0.1.
92.729 -
92.730 -* Thu Jun 28 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.731 -- gcc version 3.0.
92.732 -- Add libstdc++ package.
92.733 -
92.734 -* Mon Apr 23 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.735 -- Add cygwin host.
92.736 -
92.737 -* Sat Dec 23 2000 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.738 -- fix file attribute.
92.739 -- add asmspecs patch.
92.740 -
92.741 -* Sat Nov 11 2000 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
92.742 -- initial version.
93.1 --- a/patches/gcc/3.3.6/100-fix-fixincl.patch Wed Oct 28 12:03:38 2009 +0100
93.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
93.3 @@ -1,70 +0,0 @@
93.4 -See http://gcc.gnu.org/PR22541
93.5 -
93.6 -From: Dan Kegel
93.7 -
93.8 -When building gcc-3.4.3 or gcc-4.0.0 as a cross into a clean $PREFIX
93.9 -(the only two I've tried like this), the configure script happily copies
93.10 -the glibc include files from include to sys-include; here's the line
93.11 -from the log file (with $PREFIX instead of the real prefix):
93.12 -
93.13 -Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
93.14 -
93.15 -But later, when running fixincludes, it gives the error message
93.16 - The directory that should contain system headers does not exist:
93.17 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
93.18 -
93.19 -Nevertheless, it continues building; the header files it installs in
93.20 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
93.21 -do not include the boilerplate that would cause it to #include_next the
93.22 -glibc headers in the system header directory.
93.23 -Thus the resulting toolchain can't compile the following program:
93.24 -#include <limits.h>
93.25 -int x = PATH_MAX;
93.26 -because its limits.h doesn't include the glibc header.
93.27 -
93.28 -That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
93.29 -it can refer to $PREFIX/i686-unknown-linux-gnu with the path
93.30 - $PREFIX/lib/../i686-unknown-linux-gnu, but
93.31 -that fails because the directory $PREFIX/lib doesn't exist during 'make all';
93.32 -it is only created later, during 'make install'. (Which makes this problem
93.33 -confusing, since one only notices the breakage well after 'make install',
93.34 -at which point the path configure complained about does exist, and has the
93.35 -right stuff in it.)
93.36 -
93.37 -A possible fix is to replace the line in gcc/Makefile.in that says
93.38 - SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
93.39 -with a version that gets rid of extra ..'s, e.g.
93.40 - SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
93.41 -(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
93.42 -for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
93.43 -
93.44 -
93.45 ---- gcc-3.4.3/gcc/Makefile.in.foo 2005-05-20 11:41:39.000000000 -0700
93.46 -+++ gcc-3.4.3/gcc/Makefile.in 2005-05-20 12:08:46.000000000 -0700
93.47 -@@ -350,7 +350,10 @@
93.48 - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
93.49 -
93.50 - # autoconf sets SYSTEM_HEADER_DIR to one of the above.
93.51 --SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
93.52 -+# Purge it of unneccessary internal relative paths
93.53 -+# to directories that might not exist yet.
93.54 -+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
93.55 -+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
93.56 -
93.57 - # Control whether to run fixproto and fixincludes.
93.58 - STMP_FIXPROTO = @STMP_FIXPROTO@
93.59 -@@ -2532,11 +2535,13 @@
93.60 - $(SHELL) ${srcdir}/mkinstalldirs $(DESTDIR)$(gcc_tooldir)
93.61 -
93.62 - # Build fixed copies of system files.
93.63 -+# Abort if no system headers available, unless building a crosscompiler.
93.64 -+# FIXME: abort unless building --without-headers would be more accurate and less ugly
93.65 - stmp-fixinc: fixinc.sh gsyslimits.h
93.66 - @if test ! -d ${SYSTEM_HEADER_DIR}; then \
93.67 - echo The directory that should contain system headers does not exist: >&2 ; \
93.68 - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
93.69 -- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
93.70 -+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
93.71 - then sleep 1; else exit 1; fi; \
93.72 - fi
93.73 - rm -rf include; mkdir include
94.1 --- a/patches/gcc/3.3.6/110-arm-bigendian.patch Wed Oct 28 12:03:38 2009 +0100
94.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
94.3 @@ -1,62 +0,0 @@
94.4 -diff -urN gcc-3.3.4.orig/gcc/config/arm/linux-elf.h gcc-3.3.4/gcc/config/arm/linux-elf.h
94.5 ---- gcc-3.3.4.orig/gcc/config/arm/linux-elf.h 2004-03-30 22:43:45.000000000 +0200
94.6 -+++ gcc-3.3.4/gcc/config/arm/linux-elf.h 2004-08-20 02:13:02.969084177 +0200
94.7 -@@ -30,17 +30,31 @@
94.8 - /* Do not assume anything about header files. */
94.9 - #define NO_IMPLICIT_EXTERN_C
94.10 -
94.11 -+/*
94.12 -+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
94.13 -+ * (big endian) configurations.
94.14 -+ */
94.15 -+#if TARGET_BIG_ENDIAN_DEFAULT
94.16 -+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
94.17 -+#define TARGET_ENDIAN_OPTION "mbig-endian"
94.18 -+#define TARGET_LINKER_EMULATION "armelfb_linux"
94.19 -+#else
94.20 -+#define TARGET_ENDIAN_DEFAULT 0
94.21 -+#define TARGET_ENDIAN_OPTION "mlittle-endian"
94.22 -+#define TARGET_LINKER_EMULATION "armelf_linux"
94.23 -+#endif
94.24 -+
94.25 - /* Default is to use APCS-32 mode. */
94.26 - #undef TARGET_DEFAULT
94.27 --#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
94.28 -+#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS | TARGET_ENDIAN_DEFAULT)
94.29 -
94.30 - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
94.31 -
94.32 --#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
94.33 -+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
94.34 -
94.35 - #undef MULTILIB_DEFAULTS
94.36 - #define MULTILIB_DEFAULTS \
94.37 -- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
94.38 -+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
94.39 -
94.40 - #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
94.41 -
94.42 -@@ -88,7 +102,7 @@
94.43 - %{rdynamic:-export-dynamic} \
94.44 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
94.45 - -X \
94.46 -- %{mbig-endian:-EB}" \
94.47 -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
94.48 - SUBTARGET_EXTRA_LINK_SPEC
94.49 -
94.50 - #define TARGET_OS_CPP_BUILTINS() \
94.51 -diff -urN gcc-3.3.4.orig/gcc/config.gcc gcc-3.3.4/gcc/config.gcc
94.52 ---- gcc-3.3.4.orig/gcc/config.gcc 2004-04-29 06:42:47.000000000 +0200
94.53 -+++ gcc-3.3.4/gcc/config.gcc 2004-08-20 02:11:04.326143343 +0200
94.54 -@@ -699,6 +699,11 @@
94.55 - ;;
94.56 - arm*-*-linux*) # ARM GNU/Linux with ELF
94.57 - tm_file="dbxelf.h elfos.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
94.58 -+ case $machine in
94.59 -+ arm*b-*)
94.60 -+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
94.61 -+ ;;
94.62 -+ esac
94.63 - tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
94.64 - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
94.65 - gnu_ld=yes
95.1 --- a/patches/gcc/3.3.6/120-arm-pr22528.patch Wed Oct 28 12:03:38 2009 +0100
95.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
95.3 @@ -1,71 +0,0 @@
95.4 -From http://gcc.gnu.org/ml/gcc-patches/2003-11/msg00832.html, by
95.5 -Richard Earnshaw. Fixes http://gcc.gnu.org/PR22528
95.6 -
95.7 ---- gcc-3.3.4/gcc/config/arm/arm.md.orig 2004-03-30 22:43:44.000000000 +0200
95.8 -+++ gcc-3.3.4/gcc/config/arm/arm.md 2005-08-15 12:21:55.000000000 +0200
95.9 -@@ -4275,7 +4275,7 @@
95.10 - (set (match_dup 2)
95.11 - (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
95.12 - ;; store the high byte
95.13 -- (set (match_dup 4) (subreg:QI (match_dup 2) 0))] ;explicit subreg safe
95.14 -+ (set (match_dup 4) (match_dup 5))]
95.15 - "TARGET_ARM"
95.16 - "
95.17 - {
95.18 -@@ -4291,7 +4291,8 @@
95.19 - operands[1] = adjust_address (operands[1], QImode, 0);
95.20 - operands[3] = gen_lowpart (QImode, operands[0]);
95.21 - operands[0] = gen_lowpart (SImode, operands[0]);
95.22 -- operands[2] = gen_reg_rtx (SImode);
95.23 -+ operands[2] = gen_reg_rtx (SImode);
95.24 -+ operands[5] = gen_lowpart (QImode, operands[2]);
95.25 - }"
95.26 - )
95.27 -
95.28 -@@ -4299,7 +4300,7 @@
95.29 - [(set (match_dup 4) (match_dup 3))
95.30 - (set (match_dup 2)
95.31 - (ashiftrt:SI (match_operand 0 "" "") (const_int 8)))
95.32 -- (set (match_operand 1 "" "") (subreg:QI (match_dup 2) 3))]
95.33 -+ (set (match_operand 1 "" "") (match_dup 5))]
95.34 - "TARGET_ARM"
95.35 - "
95.36 - {
95.37 -@@ -4316,13 +4317,14 @@
95.38 - operands[3] = gen_lowpart (QImode, operands[0]);
95.39 - operands[0] = gen_lowpart (SImode, operands[0]);
95.40 - operands[2] = gen_reg_rtx (SImode);
95.41 -+ operands[5] = gen_lowpart (QImode, operands[2]);
95.42 - }"
95.43 - )
95.44 -
95.45 - ;; Subroutine to store a half word integer constant into memory.
95.46 - (define_expand "storeinthi"
95.47 - [(set (match_operand 0 "" "")
95.48 -- (subreg:QI (match_operand 1 "" "") 0))
95.49 -+ (match_operand 1 "" ""))
95.50 - (set (match_dup 3) (match_dup 2))]
95.51 - "TARGET_ARM"
95.52 - "
95.53 -@@ -4363,6 +4365,7 @@
95.54 - operands[3] = adjust_address (op0, QImode, 1);
95.55 - operands[0] = adjust_address (operands[0], QImode, 0);
95.56 - operands[2] = gen_lowpart (QImode, operands[2]);
95.57 -+ operands[1] = gen_lowpart (QImode, operands[1]);
95.58 - }"
95.59 - )
95.60 -
95.61 -@@ -4682,11 +4685,12 @@
95.62 - (set (match_dup 3)
95.63 - (ashiftrt:SI (match_dup 2) (const_int 16)))
95.64 - (set (match_operand:HI 0 "s_register_operand" "")
95.65 -- (subreg:HI (match_dup 3) 0))]
95.66 -+ (match_dup 4))]
95.67 - "TARGET_ARM"
95.68 - "
95.69 - operands[2] = gen_reg_rtx (SImode);
95.70 - operands[3] = gen_reg_rtx (SImode);
95.71 -+ operands[4] = gen_lowpart (HImode, operands[3]);
95.72 - "
95.73 - )
95.74 -
96.1 --- a/patches/gcc/4.0.0/100-fix-fixincl.patch Wed Oct 28 12:03:38 2009 +0100
96.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
96.3 @@ -1,72 +0,0 @@
96.4 -See http://gcc.gnu.org/PR22541
96.5 -
96.6 -From: Dan Kegel
96.7 -
96.8 -When building gcc-3.4.3 or gcc-4.0.[01] into a clean $PREFIX (the only two I've tried like this),
96.9 -the configure script happily copies the glibc include files from include to sys-include;
96.10 -here's the line from the log file (with $PREFIX instead of the real prefix):
96.11 -
96.12 -Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
96.13 -
96.14 -But later, when running fixincludes, it gives the error message
96.15 - The directory that should contain system headers does not exist:
96.16 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
96.17 -
96.18 -Nevertheless, it continues building; the header files it installs in
96.19 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
96.20 -do not include the boilerplate that would cause it to #include_next the
96.21 -glibc headers in the system header directory.
96.22 -Thus the resulting toolchain can't compile the following program:
96.23 -#include <limits.h>
96.24 -int x = PATH_MAX;
96.25 -because its limits.h doesn't include the glibc header.
96.26 -
96.27 -That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
96.28 -it can refer to $PREFIX/i686-unknown-linux-gnu with the path
96.29 - $PREFIX/lib/../i686-unknown-linux-gnu, but
96.30 -that fails because the directory $PREFIX/lib doesn't exist during 'make all';
96.31 -it is only created later, during 'make install'. (Which makes this problem
96.32 -confusing, since one only notices the breakage well after 'make install',
96.33 -at which point the path configure complained about does exist, and has the
96.34 -right stuff in it.)
96.35 -
96.36 -A possible fix is to replace the line in gcc/Makefile.in that says
96.37 - SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
96.38 -with a version that gets rid of extra ..'s, e.g.
96.39 - SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
96.40 -(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
96.41 -for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
96.42 -
96.43 -[rediffed against gcc-4.0.0]
96.44 -
96.45 ---- gcc-4.0.0/gcc/Makefile.in.orig 2005-04-04 12:45:13.000000000 -0700
96.46 -+++ gcc-4.0.0/gcc/Makefile.in 2005-05-20 12:33:43.000000000 -0700
96.47 -@@ -378,7 +378,10 @@
96.48 - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
96.49 -
96.50 - # autoconf sets SYSTEM_HEADER_DIR to one of the above.
96.51 --SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
96.52 -+# Purge it of unneccessary internal relative paths
96.53 -+# to directories that might not exist yet.
96.54 -+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
96.55 -+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
96.56 -
96.57 - # Control whether to run fixproto and fixincludes.
96.58 - STMP_FIXPROTO = @STMP_FIXPROTO@
96.59 -@@ -2838,13 +2841,15 @@
96.60 - ../$(build_subdir)/fixincludes/fixincl: ; @ :
96.61 -
96.62 - # Build fixed copies of system files.
96.63 -+# Abort if no system headers available, unless building a crosscompiler.
96.64 -+# FIXME: abort unless building --without-headers would be more accurate and less ugly
96.65 - stmp-fixinc: gsyslimits.h macro_list \
96.66 - ../$(build_subdir)/fixincludes/fixincl \
96.67 - ../$(build_subdir)/fixincludes/fixinc.sh
96.68 - @if test ! -d ${SYSTEM_HEADER_DIR}; then \
96.69 - echo The directory that should contain system headers does not exist: >&2 ; \
96.70 - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
96.71 -- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
96.72 -+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
96.73 - then sleep 1; else exit 1; fi; \
96.74 - fi
96.75 - rm -rf include; mkdir include
97.1 --- a/patches/gcc/4.0.0/110-arm-bigendian.patch Wed Oct 28 12:03:38 2009 +0100
97.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
97.3 @@ -1,79 +0,0 @@
97.4 -By Lennert Buytenhek <buytenh@wantstofly.org>
97.5 -Adds support for arm*b-linux* big-endian ARM targets
97.6 -
97.7 -Fixes following build error for big-endian ARM targets:
97.8 -
97.9 -armeb-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/bin/../lib/gcc/armeb-unknown-linux-gnu/4.0.0/../../../../armeb-unknown-linux-gnu/bin/ld: unrecognised emulation mode: armelf_linux
97.10 -Supported emulations: armelfb_linux armelfb
97.11 -collect2: ld returned 1 exit status
97.12 -make[2]: *** [crosstool-0.32/build/armeb-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/build-glibc/csu/crt1.o] Error 1
97.13 -make[2]: Leaving directory `crosstool-0.32/build/armeb-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/glibc-2.3.4/csu'
97.14 -make[1]: *** [csu/subdir_lib] Error 2
97.15 -make[1]: Leaving directory `crosstool-0.32/build/armeb-unknown-linux-gnu/gcc-4.0.0-20050410-glibc-2.3.4/glibc-2.3.4'
97.16 -make: *** [lib] Error 2
97.17 -
97.18 -
97.19 -See http://gcc.gnu.org/PR16350
97.20 -
97.21 ---- gcc-4.0-20050305/gcc/config/arm/linux-elf.h.orig 2005-03-23 18:44:54.822707377 +0100
97.22 -+++ gcc-4.0-20050305/gcc/config/arm/linux-elf.h 2005-03-23 18:46:18.228560206 +0100
97.23 -@@ -31,19 +31,33 @@
97.24 - /* Do not assume anything about header files. */
97.25 - #define NO_IMPLICIT_EXTERN_C
97.26 -
97.27 -+/*
97.28 -+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for
97.29 -+ * arm*b-*-linux* (big endian) configurations.
97.30 -+ */
97.31 -+#if TARGET_BIG_ENDIAN_DEFAULT
97.32 -+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
97.33 -+#define TARGET_ENDIAN_OPTION "mbig-endian"
97.34 -+#define TARGET_LINKER_EMULATION "armelfb_linux"
97.35 -+#else
97.36 -+#define TARGET_ENDIAN_DEFAULT 0
97.37 -+#define TARGET_ENDIAN_OPTION "mlittle-endian"
97.38 -+#define TARGET_LINKER_EMULATION "armelf_linux"
97.39 -+#endif
97.40 -+
97.41 - #undef TARGET_DEFAULT_FLOAT_ABI
97.42 - #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
97.43 -
97.44 - #undef TARGET_DEFAULT
97.45 --#define TARGET_DEFAULT (0)
97.46 -+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
97.47 -
97.48 - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
97.49 -
97.50 --#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
97.51 -+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
97.52 -
97.53 - #undef MULTILIB_DEFAULTS
97.54 - #define MULTILIB_DEFAULTS \
97.55 -- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
97.56 -+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
97.57 -
97.58 - /* The GNU C++ standard library requires that these macros be defined. */
97.59 - #undef CPLUSPLUS_CPP_SPEC
97.60 -@@ -90,7 +104,7 @@
97.61 - %{rdynamic:-export-dynamic} \
97.62 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
97.63 - -X \
97.64 -- %{mbig-endian:-EB}" \
97.65 -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
97.66 - SUBTARGET_EXTRA_LINK_SPEC
97.67 -
97.68 - #define TARGET_OS_CPP_BUILTINS() \
97.69 ---- gcc-4.0-20050305/gcc/config.gcc.orig 2005-03-23 18:46:23.318105335 +0100
97.70 -+++ gcc-4.0-20050305/gcc/config.gcc 2005-03-23 18:47:41.592546386 +0100
97.71 -@@ -650,6 +650,11 @@
97.72 - ;;
97.73 - arm*-*-linux*) # ARM GNU/Linux with ELF
97.74 - tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
97.75 -+ case $target in
97.76 -+ arm*b-*-linux*)
97.77 -+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
97.78 -+ ;;
97.79 -+ esac
97.80 - tmake_file="${tmake_file} arm/t-arm arm/t-linux"
97.81 - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
97.82 - gnu_ld=yes
98.1 --- a/patches/gcc/4.0.0/120-pr20815-fix.patch Wed Oct 28 12:03:38 2009 +0100
98.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
98.3 @@ -1,121 +0,0 @@
98.4 -Date: 18 May 2005 22:47:59 -0000
98.5 -Message-ID: <20050518224759.7352.qmail@sourceware.org>
98.6 -From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
98.7 -To: dank@kegel.com
98.8 -References: <20050407215701.20815.dank@kegel.com>
98.9 -Reply-To: gcc-bugzilla@gcc.gnu.org
98.10 -Subject: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
98.11 -
98.12 -
98.13 -------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:47 -------
98.14 -Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
98.15 -
98.16 ->
98.17 -> ------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:22 -------
98.18 -> Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
98.19 ->
98.20 -> coverage_checksum_string already knows a bit about ignoring random seed
98.21 -> produced mess. It looks like this needs to be extended somehow to
98.22 -> handle namespaces too...
98.23 -
98.24 -This seems to solve the missmatch. Would it be possible to test it on
98.25 -bigger testcase and if it works distile a testcase that don't use
98.26 -file IO so it is more suitable for gcc regtesting?
98.27 -
98.28 -Index: coverage.c
98.29 -===================================================================
98.30 -RCS file: /cvs/gcc/gcc/gcc/coverage.c,v
98.31 -retrieving revision 1.6.2.12.2.12
98.32 -diff -c -3 -p -r1.6.2.12.2.12 coverage.c
98.33 -*** gcc-old/gcc/coverage.c 18 May 2005 07:37:31 -0000 1.6.2.12.2.12
98.34 ---- gcc/gcc/coverage.c 18 May 2005 22:45:36 -0000
98.35 -*************** coverage_checksum_string (unsigned chksu
98.36 -*** 471,505 ****
98.37 - as the checksums are used only for sanity checking. */
98.38 - for (i = 0; string[i]; i++)
98.39 - {
98.40 - if (!strncmp (string + i, "_GLOBAL__", 9))
98.41 -! for (i = i + 9; string[i]; i++)
98.42 -! if (string[i]=='_')
98.43 -! {
98.44 -! int y;
98.45 -! unsigned seed;
98.46 -! int scan;
98.47 -!
98.48 -! for (y = 1; y < 9; y++)
98.49 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
98.50 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
98.51 -! break;
98.52 -! if (y != 9 || string[i + 9] != '_')
98.53 -! continue;
98.54 -! for (y = 10; y < 18; y++)
98.55 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
98.56 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
98.57 -! break;
98.58 -! if (y != 18)
98.59 -! continue;
98.60 -! scan = sscanf (string + i + 10, "%X", &seed);
98.61 -! gcc_assert (scan);
98.62 -! if (seed != crc32_string (0, flag_random_seed))
98.63 -! continue;
98.64 -! string = dup = xstrdup (string);
98.65 -! for (y = 10; y < 18; y++)
98.66 -! dup[i + y] = '0';
98.67 -! break;
98.68 -! }
98.69 - break;
98.70 - }
98.71 -
98.72 ---- 471,511 ----
98.73 - as the checksums are used only for sanity checking. */
98.74 - for (i = 0; string[i]; i++)
98.75 - {
98.76 -+ int offset = 0;
98.77 -+ if (!strncmp (string + i, "_GLOBAL__N_", 11))
98.78 -+ offset = 11;
98.79 - if (!strncmp (string + i, "_GLOBAL__", 9))
98.80 -! offset = 9;
98.81 -!
98.82 -! /* C++ namespaces do have scheme:
98.83 -! _GLOBAL__N_<filename>_<wrongmagicnumber>_<magicnumber>functionname
98.84 -! since filename might contain extra underscores there seems
98.85 -! to be no better chance then walk all possible offsets looking
98.86 -! for magicnuber. */
98.87 -! if (offset)
98.88 -! for (;string[offset]; offset++)
98.89 -! for (i = i + offset; string[i]; i++)
98.90 -! if (string[i]=='_')
98.91 -! {
98.92 -! int y;
98.93 -!
98.94 -! for (y = 1; y < 9; y++)
98.95 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
98.96 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
98.97 -! break;
98.98 -! if (y != 9 || string[i + 9] != '_')
98.99 -! continue;
98.100 -! for (y = 10; y < 18; y++)
98.101 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
98.102 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
98.103 -! break;
98.104 -! if (y != 18)
98.105 -! continue;
98.106 -! if (!dup)
98.107 -! string = dup = xstrdup (string);
98.108 -! for (y = 10; y < 18; y++)
98.109 -! dup[i + y] = '0';
98.110 -! }
98.111 - break;
98.112 - }
98.113 -
98.114 -
98.115 -
98.116 ---
98.117 -
98.118 -
98.119 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20815
98.120 -
98.121 -------- You are receiving this mail because: -------
98.122 -You reported the bug, or are watching the reporter.
98.123 -
98.124 -
99.1 --- a/patches/gcc/4.0.0/130-pr20973-fix.patch Wed Oct 28 12:03:38 2009 +0100
99.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
99.3 @@ -1,80 +0,0 @@
99.4 -http://gcc.gnu.org/PR20973
99.5 -
99.6 -"gcc 4 (about RC1) miscompiles khtml, in fact something in CSS, which basically
99.7 -leads to all websites being misrendered. I can't easily reduce the testcase,
99.8 -but have applied the whole preprocessed source of css/cssstyleselector.ii.
99.9 -
99.10 -It is to be compiled with g++ -O2 -fPIC -march=i586 -mtune=i686
99.11 --fno-exceptions. A more detailed analysis will follow, as we've found out
99.12 -some things already."
99.13 -
99.14 ----
99.15 -
99.16 -Subject: Bug 20973
99.17 -
99.18 -CVSROOT: /cvs/gcc
99.19 -Module name: gcc
99.20 -Branch: gcc-4_0-branch
99.21 -Changes by: matz@gcc.gnu.org 2005-04-22 17:30:21
99.22 -
99.23 -Modified files:
99.24 - gcc : ChangeLog reload.c
99.25 -
99.26 -Log message:
99.27 - PR middle-end/20973
99.28 - * reload.c (push_reload, find_dummy_reload): Check for uninitialized
99.29 - pseudos.
99.30 -
99.31 -Patches:
99.32 -http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.177&r2=2.7592.2.178
99.33 -http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/reload.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.268&r2=1.268.2.1
99.34 -
99.35 ----
99.36 -
99.37 -===================================================================
99.38 -RCS file: /cvs/gcc/gcc/gcc/reload.c,v
99.39 -retrieving revision 1.268
99.40 -retrieving revision 1.268.2.1
99.41 -diff -u -r1.268 -r1.268.2.1
99.42 ---- gcc/gcc/reload.c 2005/02/24 22:06:06 1.268
99.43 -+++ gcc/gcc/reload.c 2005/04/22 17:30:15 1.268.2.1
99.44 -@@ -1520,7 +1520,7 @@
99.45 - But if there is no spilling in this block, that is OK.
99.46 - An explicitly used hard reg cannot be a spill reg. */
99.47 -
99.48 -- if (rld[i].reg_rtx == 0 && in != 0)
99.49 -+ if (rld[i].reg_rtx == 0 && in != 0 && hard_regs_live_known)
99.50 - {
99.51 - rtx note;
99.52 - int regno;
99.53 -@@ -1534,6 +1534,11 @@
99.54 - && REG_P (XEXP (note, 0))
99.55 - && (regno = REGNO (XEXP (note, 0))) < FIRST_PSEUDO_REGISTER
99.56 - && reg_mentioned_p (XEXP (note, 0), in)
99.57 -+ /* Check that we don't use a hardreg for an uninitialized
99.58 -+ pseudo. See also find_dummy_reload(). */
99.59 -+ && (ORIGINAL_REGNO (XEXP (note, 0)) < FIRST_PSEUDO_REGISTER
99.60 -+ || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
99.61 -+ ORIGINAL_REGNO (XEXP (note, 0))))
99.62 - && ! refers_to_regno_for_reload_p (regno,
99.63 - (regno
99.64 - + hard_regno_nregs[regno]
99.65 -@@ -1997,7 +2002,17 @@
99.66 - is a subreg, and in that case, out
99.67 - has a real mode. */
99.68 - (GET_MODE (out) != VOIDmode
99.69 -- ? GET_MODE (out) : outmode)))
99.70 -+ ? GET_MODE (out) : outmode))
99.71 -+ /* But only do all this if we can be sure, that this input
99.72 -+ operand doesn't correspond with an uninitialized pseudoreg.
99.73 -+ global can assign some hardreg to it, which is the same as
99.74 -+ a different pseudo also currently live (as it can ignore the
99.75 -+ conflict). So we never must introduce writes to such hardregs,
99.76 -+ as they would clobber the other live pseudo using the same.
99.77 -+ See also PR20973. */
99.78 -+ && (ORIGINAL_REGNO (in) < FIRST_PSEUDO_REGISTER
99.79 -+ || ! bitmap_bit_p (ENTRY_BLOCK_PTR->global_live_at_end,
99.80 -+ ORIGINAL_REGNO (in))))
99.81 - {
99.82 - unsigned int regno = REGNO (in) + in_offset;
99.83 - unsigned int nwords = hard_regno_nregs[regno][inmode];
100.1 --- a/patches/gcc/4.0.0/140-pr21173-fix.patch Wed Oct 28 12:03:38 2009 +0100
100.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
100.3 @@ -1,66 +0,0 @@
100.4 -See http://gcc.gnu.org/PR21173
100.5 -This is a fix for a last minute brown-bag bug with gcc-4.0.0
100.6 -
100.7 - ------- Additional Comment #24 From CVS Commits 2005-04-25 14:03 [reply] -------
100.8 -Subject: Bug 21173
100.9 -
100.10 -CVSROOT: /cvs/gcc
100.11 -Module name: gcc
100.12 -Branch: gcc-4_0-branch
100.13 -Changes by: dberlin@gcc.gnu.org 2005-04-25 14:02:38
100.14 -
100.15 -Modified files:
100.16 - gcc : ChangeLog tree-ssa-pre.c
100.17 -
100.18 -Log message:
100.19 - 2005-04-25 Daniel Berlin <dberlin@dberlin.org>
100.20 -
100.21 - Fix PR tree-optimization/21173
100.22 -
100.23 - * tree-ssa-pre.c (create_expression_by_pieces): Call unshare_expr
100.24 - on things we pass to force_gimple_operand. Don't try to special
100.25 - case min_invariants.
100.26 -
100.27 -Patches:
100.28 -http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.192&r2=2.7592.2.193
100.29 -http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-pre.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.65.4.2&r2=2.65.4.3
100.30 -
100.31 -===================================================================
100.32 -RCS file: /cvs/gcc/gcc/gcc/tree-ssa-pre.c,v
100.33 -retrieving revision 2.65.4.2
100.34 -retrieving revision 2.65.4.3
100.35 -diff -u -r2.65.4.2 -r2.65.4.3
100.36 ---- gcc/gcc/tree-ssa-pre.c 2005/04/17 23:40:31 2.65.4.2
100.37 -+++ gcc/gcc/tree-ssa-pre.c 2005/04/25 14:02:31 2.65.4.3
100.38 -@@ -1330,7 +1330,8 @@
100.39 -
100.40 - folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr),
100.41 - genop1, genop2));
100.42 -- newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL);
100.43 -+ newexpr = force_gimple_operand (unshare_expr (folded),
100.44 -+ &forced_stmts, false, NULL);
100.45 - if (forced_stmts)
100.46 - {
100.47 - tsi = tsi_start (forced_stmts);
100.48 -@@ -1372,14 +1373,8 @@
100.49 - add_referenced_tmp_var (temp);
100.50 - folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr),
100.51 - genop1));
100.52 -- /* If the generated operand is already GIMPLE min_invariant
100.53 -- just use it instead of calling force_gimple_operand on it,
100.54 -- since that may make it not invariant by copying it into an
100.55 -- assignment. */
100.56 -- if (!is_gimple_min_invariant (genop1))
100.57 -- newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL);
100.58 -- else
100.59 -- newexpr = genop1;
100.60 -+ newexpr = force_gimple_operand (unshare_expr (folded),
100.61 -+ &forced_stmts, false, NULL);
100.62 - if (forced_stmts)
100.63 - {
100.64 - tsi = tsi_start (forced_stmts);
100.65 -
100.66 - 0K . 1.24 MB/s
100.67 -
100.68 -13:16:54 (1.24 MB/s) - `-' saved [1303]
100.69 -
101.1 --- a/patches/gcc/4.0.0/150-pr21951.patch Wed Oct 28 12:03:38 2009 +0100
101.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
101.3 @@ -1,153 +0,0 @@
101.4 -Workaround for buglet in std::vector etc. when compiling
101.5 -with gcc-4.0.0 -Wall -O -fno-exceptions
101.6 -Fixes:
101.7 -
101.8 -.../include/c++/4.0.0/bits/vector.tcc: In member function 'void std::vector<_Tp,
101.9 -_Alloc>::reserve(size_t) [with _Tp = int, _Alloc = std::allocator<int>]':
101.10 -.../include/c++/4.0.0/bits/vector.tcc:78: warning: control may reach end of
101.11 -non-void function 'typename _Alloc::pointer std::vector<_Tp,
101.12 -_Alloc>::_M_allocate_and_copy(size_t, _ForwardIterator, _ForwardIterator) [with
101.13 -_ForwardIterator = int*, _Tp = int, _Alloc = std::allocator<int>]' being inlined
101.14 -
101.15 -See http://gcc.gnu.org/PR21951
101.16 -
101.17 ---- gcc-4.0.1-20050607/libstdc++-v3/include/bits/stl_vector.h.old 2005-06-11 03:58:20.000000000 -0700
101.18 -+++ gcc-4.0.1-20050607/libstdc++-v3/include/bits/stl_vector.h 2005-06-11 04:01:21.000000000 -0700
101.19 -@@ -765,13 +765,13 @@
101.20 - {
101.21 - std::__uninitialized_copy_a(__first, __last, __result,
101.22 - this->get_allocator());
101.23 -- return __result;
101.24 - }
101.25 - catch(...)
101.26 - {
101.27 - _M_deallocate(__result, __n);
101.28 - __throw_exception_again;
101.29 - }
101.30 -+ return __result;
101.31 - }
101.32 -
101.33 -
101.34 ---- gcc-4.0.1-20050607/libstdc++-v3/include/bits/stl_uninitialized.h.old 2005-06-11 03:58:20.000000000 -0700
101.35 -+++ gcc-4.0.1-20050607/libstdc++-v3/include/bits/stl_uninitialized.h 2005-06-11 04:05:18.990003248 -0700
101.36 -@@ -84,13 +84,13 @@
101.37 - {
101.38 - for (; __first != __last; ++__first, ++__cur)
101.39 - std::_Construct(&*__cur, *__first);
101.40 -- return __cur;
101.41 - }
101.42 - catch(...)
101.43 - {
101.44 - std::_Destroy(__result, __cur);
101.45 - __throw_exception_again;
101.46 - }
101.47 -+ return __cur;
101.48 - }
101.49 -
101.50 - /**
101.51 -@@ -236,13 +236,13 @@
101.52 - {
101.53 - for (; __first != __last; ++__first, ++__cur)
101.54 - __alloc.construct(&*__cur, *__first);
101.55 -- return __cur;
101.56 - }
101.57 - catch(...)
101.58 - {
101.59 - std::_Destroy(__result, __cur, __alloc);
101.60 - __throw_exception_again;
101.61 - }
101.62 -+ return __cur;
101.63 - }
101.64 -
101.65 - template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
101.66 -@@ -337,11 +337,13 @@
101.67 - {
101.68 - return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
101.69 - }
101.70 -+#ifdef __EXCEPTIONS // work around http://gcc.gnu.org/PR21951 in gcc-4.0 only
101.71 - catch(...)
101.72 - {
101.73 - std::_Destroy(__result, __mid, __alloc);
101.74 - __throw_exception_again;
101.75 - }
101.76 -+#endif
101.77 - }
101.78 -
101.79 - // __uninitialized_fill_copy
101.80 -@@ -360,11 +362,13 @@
101.81 - {
101.82 - return std::__uninitialized_copy_a(__first, __last, __mid, __alloc);
101.83 - }
101.84 -+#ifdef __EXCEPTIONS // work around http://gcc.gnu.org/PR21951 in gcc-4.0 only
101.85 - catch(...)
101.86 - {
101.87 - std::_Destroy(__result, __mid, __alloc);
101.88 - __throw_exception_again;
101.89 - }
101.90 -+#endif
101.91 - }
101.92 -
101.93 - // __uninitialized_copy_fill
101.94 ---- gcc-4.0.1-20050607/libstdc++-v3/include/ext/rope.old 2005-06-11 03:58:20.000000000 -0700
101.95 -+++ gcc-4.0.1-20050607/libstdc++-v3/include/ext/rope 2005-06-11 04:13:26.628870872 -0700
101.96 -@@ -1645,11 +1645,13 @@
101.97 - _S_cond_store_eos(__buf[__size]);
101.98 - try
101.99 - { return _S_new_RopeLeaf(__buf, __size, __a); }
101.100 -+#ifdef __EXCEPTIONS // work around http://gcc.gnu.org/PR21951 in gcc-4.0 only
101.101 - catch(...)
101.102 - {
101.103 - _RopeRep::__STL_FREE_STRING(__buf, __size, __a);
101.104 - __throw_exception_again;
101.105 - }
101.106 -+#endif
101.107 - }
101.108 -
101.109 - // Concatenation of nonempty strings.
101.110 ---- gcc-4.0.1-20050607/libstdc++-v3/include/ext/memory.old 2005-06-11 03:58:20.000000000 -0700
101.111 -+++ gcc-4.0.1-20050607/libstdc++-v3/include/ext/memory 2005-06-11 04:13:52.897877376 -0700
101.112 -@@ -85,11 +85,13 @@
101.113 - std::_Construct(&*__cur, *__first);
101.114 - return pair<_InputIter, _ForwardIter>(__first, __cur);
101.115 - }
101.116 -+#ifdef __EXCEPTIONS // work around http://gcc.gnu.org/PR21951 in gcc-4.0 only
101.117 - catch(...)
101.118 - {
101.119 - std::_Destroy(__result, __cur);
101.120 - __throw_exception_again;
101.121 - }
101.122 -+#endif
101.123 - }
101.124 -
101.125 - template<typename _RandomAccessIter, typename _Size, typename _ForwardIter>
101.126 -@@ -144,11 +146,13 @@
101.127 - __alloc.construct(&*__cur, *__first);
101.128 - return pair<_InputIter, _ForwardIter>(__first, __cur);
101.129 - }
101.130 -+#ifdef __EXCEPTIONS // work around http://gcc.gnu.org/PR21951 in gcc-4.0 only
101.131 - catch(...)
101.132 - {
101.133 - std::_Destroy(__result, __cur, __alloc);
101.134 - __throw_exception_again;
101.135 - }
101.136 -+#endif
101.137 - }
101.138 -
101.139 - template<typename _InputIter, typename _Size, typename _ForwardIter,
101.140 ---- gcc-4.0.1-20050607/libstdc++-v3/include/ext/hashtable.h.old 2005-06-11 03:58:20.000000000 -0700
101.141 -+++ gcc-4.0.1-20050607/libstdc++-v3/include/ext/hashtable.h 2005-06-11 04:14:28.384482592 -0700
101.142 -@@ -607,13 +607,13 @@
101.143 - try
101.144 - {
101.145 - this->get_allocator().construct(&__n->_M_val, __obj);
101.146 -- return __n;
101.147 - }
101.148 - catch(...)
101.149 - {
101.150 - _M_put_node(__n);
101.151 - __throw_exception_again;
101.152 - }
101.153 -+ return __n;
101.154 - }
101.155 -
101.156 - void
102.1 --- a/patches/gcc/4.0.1/100-fix-fixincl.patch Wed Oct 28 12:03:38 2009 +0100
102.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
102.3 @@ -1,72 +0,0 @@
102.4 -See http://gcc.gnu.org/PR22541
102.5 -
102.6 -From: Dan Kegel
102.7 -
102.8 -When building gcc-3.4.3 or gcc-4.0.[01] into a clean $PREFIX (the only two I've tried like this),
102.9 -the configure script happily copies the glibc include files from include to sys-include;
102.10 -here's the line from the log file (with $PREFIX instead of the real prefix):
102.11 -
102.12 -Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
102.13 -
102.14 -But later, when running fixincludes, it gives the error message
102.15 - The directory that should contain system headers does not exist:
102.16 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
102.17 -
102.18 -Nevertheless, it continues building; the header files it installs in
102.19 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
102.20 -do not include the boilerplate that would cause it to #include_next the
102.21 -glibc headers in the system header directory.
102.22 -Thus the resulting toolchain can't compile the following program:
102.23 -#include <limits.h>
102.24 -int x = PATH_MAX;
102.25 -because its limits.h doesn't include the glibc header.
102.26 -
102.27 -That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
102.28 -it can refer to $PREFIX/i686-unknown-linux-gnu with the path
102.29 - $PREFIX/lib/../i686-unknown-linux-gnu, but
102.30 -that fails because the directory $PREFIX/lib doesn't exist during 'make all';
102.31 -it is only created later, during 'make install'. (Which makes this problem
102.32 -confusing, since one only notices the breakage well after 'make install',
102.33 -at which point the path configure complained about does exist, and has the
102.34 -right stuff in it.)
102.35 -
102.36 -A possible fix is to replace the line in gcc/Makefile.in that says
102.37 - SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
102.38 -with a version that gets rid of extra ..'s, e.g.
102.39 - SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
102.40 -(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
102.41 -for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
102.42 -
102.43 -[rediffed against gcc-4.0.0]
102.44 -
102.45 ---- gcc-4.0.0/gcc/Makefile.in.orig 2005-04-04 12:45:13.000000000 -0700
102.46 -+++ gcc-4.0.0/gcc/Makefile.in 2005-05-20 12:33:43.000000000 -0700
102.47 -@@ -378,7 +378,10 @@
102.48 - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
102.49 -
102.50 - # autoconf sets SYSTEM_HEADER_DIR to one of the above.
102.51 --SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
102.52 -+# Purge it of unneccessary internal relative paths
102.53 -+# to directories that might not exist yet.
102.54 -+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
102.55 -+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
102.56 -
102.57 - # Control whether to run fixproto and fixincludes.
102.58 - STMP_FIXPROTO = @STMP_FIXPROTO@
102.59 -@@ -2838,13 +2841,15 @@
102.60 - ../$(build_subdir)/fixincludes/fixincl: ; @ :
102.61 -
102.62 - # Build fixed copies of system files.
102.63 -+# Abort if no system headers available, unless building a crosscompiler.
102.64 -+# FIXME: abort unless building --without-headers would be more accurate and less ugly
102.65 - stmp-fixinc: gsyslimits.h macro_list \
102.66 - ../$(build_subdir)/fixincludes/fixincl \
102.67 - ../$(build_subdir)/fixincludes/fixinc.sh
102.68 - @if test ! -d ${SYSTEM_HEADER_DIR}; then \
102.69 - echo The directory that should contain system headers does not exist: >&2 ; \
102.70 - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
102.71 -- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
102.72 -+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
102.73 - then sleep 1; else exit 1; fi; \
102.74 - fi
102.75 - rm -rf include; mkdir include
103.1 --- a/patches/gcc/4.0.1/110-pr20815-fix.patch Wed Oct 28 12:03:38 2009 +0100
103.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
103.3 @@ -1,121 +0,0 @@
103.4 -Date: 18 May 2005 22:47:59 -0000
103.5 -Message-ID: <20050518224759.7352.qmail@sourceware.org>
103.6 -From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
103.7 -To: dank@kegel.com
103.8 -References: <20050407215701.20815.dank@kegel.com>
103.9 -Reply-To: gcc-bugzilla@gcc.gnu.org
103.10 -Subject: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
103.11 -
103.12 -
103.13 -------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:47 -------
103.14 -Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
103.15 -
103.16 ->
103.17 -> ------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:22 -------
103.18 -> Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
103.19 ->
103.20 -> coverage_checksum_string already knows a bit about ignoring random seed
103.21 -> produced mess. It looks like this needs to be extended somehow to
103.22 -> handle namespaces too...
103.23 -
103.24 -This seems to solve the missmatch. Would it be possible to test it on
103.25 -bigger testcase and if it works distile a testcase that don't use
103.26 -file IO so it is more suitable for gcc regtesting?
103.27 -
103.28 -Index: coverage.c
103.29 -===================================================================
103.30 -RCS file: /cvs/gcc/gcc/gcc/coverage.c,v
103.31 -retrieving revision 1.6.2.12.2.12
103.32 -diff -c -3 -p -r1.6.2.12.2.12 coverage.c
103.33 -*** gcc-old/gcc/coverage.c 18 May 2005 07:37:31 -0000 1.6.2.12.2.12
103.34 ---- gcc/gcc/coverage.c 18 May 2005 22:45:36 -0000
103.35 -*************** coverage_checksum_string (unsigned chksu
103.36 -*** 471,505 ****
103.37 - as the checksums are used only for sanity checking. */
103.38 - for (i = 0; string[i]; i++)
103.39 - {
103.40 - if (!strncmp (string + i, "_GLOBAL__", 9))
103.41 -! for (i = i + 9; string[i]; i++)
103.42 -! if (string[i]=='_')
103.43 -! {
103.44 -! int y;
103.45 -! unsigned seed;
103.46 -! int scan;
103.47 -!
103.48 -! for (y = 1; y < 9; y++)
103.49 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
103.50 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
103.51 -! break;
103.52 -! if (y != 9 || string[i + 9] != '_')
103.53 -! continue;
103.54 -! for (y = 10; y < 18; y++)
103.55 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
103.56 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
103.57 -! break;
103.58 -! if (y != 18)
103.59 -! continue;
103.60 -! scan = sscanf (string + i + 10, "%X", &seed);
103.61 -! gcc_assert (scan);
103.62 -! if (seed != crc32_string (0, flag_random_seed))
103.63 -! continue;
103.64 -! string = dup = xstrdup (string);
103.65 -! for (y = 10; y < 18; y++)
103.66 -! dup[i + y] = '0';
103.67 -! break;
103.68 -! }
103.69 - break;
103.70 - }
103.71 -
103.72 ---- 471,511 ----
103.73 - as the checksums are used only for sanity checking. */
103.74 - for (i = 0; string[i]; i++)
103.75 - {
103.76 -+ int offset = 0;
103.77 -+ if (!strncmp (string + i, "_GLOBAL__N_", 11))
103.78 -+ offset = 11;
103.79 - if (!strncmp (string + i, "_GLOBAL__", 9))
103.80 -! offset = 9;
103.81 -!
103.82 -! /* C++ namespaces do have scheme:
103.83 -! _GLOBAL__N_<filename>_<wrongmagicnumber>_<magicnumber>functionname
103.84 -! since filename might contain extra underscores there seems
103.85 -! to be no better chance then walk all possible offsets looking
103.86 -! for magicnuber. */
103.87 -! if (offset)
103.88 -! for (;string[offset]; offset++)
103.89 -! for (i = i + offset; string[i]; i++)
103.90 -! if (string[i]=='_')
103.91 -! {
103.92 -! int y;
103.93 -!
103.94 -! for (y = 1; y < 9; y++)
103.95 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
103.96 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
103.97 -! break;
103.98 -! if (y != 9 || string[i + 9] != '_')
103.99 -! continue;
103.100 -! for (y = 10; y < 18; y++)
103.101 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
103.102 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
103.103 -! break;
103.104 -! if (y != 18)
103.105 -! continue;
103.106 -! if (!dup)
103.107 -! string = dup = xstrdup (string);
103.108 -! for (y = 10; y < 18; y++)
103.109 -! dup[i + y] = '0';
103.110 -! }
103.111 - break;
103.112 - }
103.113 -
103.114 -
103.115 -
103.116 ---
103.117 -
103.118 -
103.119 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20815
103.120 -
103.121 -------- You are receiving this mail because: -------
103.122 -You reported the bug, or are watching the reporter.
103.123 -
103.124 -
104.1 --- a/patches/gcc/4.0.1/120-pr21951-fix2.patch Wed Oct 28 12:03:38 2009 +0100
104.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
104.3 @@ -1,71 +0,0 @@
104.4 -Workaround for buglet in std::vector etc. when compiling
104.5 -with gcc-4.0.1 -Wall -O -fno-exceptions
104.6 -Fixes:
104.7 -
104.8 -.../include/c++/4.0.0/bits/vector.tcc: In member function 'void std::vector<_Tp,
104.9 -_Alloc>::reserve(size_t) [with _Tp = int, _Alloc = std::allocator<int>]':
104.10 -.../include/c++/4.0.0/bits/vector.tcc:78: warning: control may reach end of
104.11 -non-void function 'typename _Alloc::pointer std::vector<_Tp,
104.12 -_Alloc>::_M_allocate_and_copy(size_t, _ForwardIterator, _ForwardIterator) [with
104.13 -_ForwardIterator = int*, _Tp = int, _Alloc = std::allocator<int>]' being inlined
104.14 -
104.15 -See http://gcc.gnu.org/PR21951
104.16 -
104.17 -To: gcc-patches at gcc dot gnu dot org
104.18 -Subject: [4.0.x] may reach end warning in system headers
104.19 -Message-Id: <20050701183024.E138714C16A9@geoffk5.apple.com>
104.20 -Date: Fri, 1 Jul 2005 11:30:24 -0700 (PDT)
104.21 -From: gkeating at apple dot com (Geoffrey Keating)
104.22 -
104.23 -
104.24 -One of our users was getting
104.25 -
104.26 -/usr/include/gcc/darwin/4.0/c++/bits/stl_uninitialized.h:113: warning:
104.27 -control may reach end of non-void function '_ForwardIterator
104.28 -std::__uninitialized_copy_aux(_InputIterator, _InputIterator,
104.29 -_ForwardIterator, __false_type) [with _InputIterator =
104.30 -__gnu_cxx::__normal_iterator<TPoolAllocator::tAllocState*,
104.31 -std::vector<TPoolAllocator::tAllocState,
104.32 -std::allocator<TPoolAllocator::tAllocState> > >, _ForwardIterator =
104.33 -__gnu_cxx::__normal_iterator<TPoolAllocator::tAllocState*,
104.34 -std::vector<TPoolAllocator::tAllocState,
104.35 -std::allocator<TPoolAllocator::tAllocState> > >]' being inlined
104.36 -
104.37 -which shouldn't be happening, he has no way to change a standard C++
104.38 -header. The warning is bogus anyway, but it's fixed in 4.1 through
104.39 -the CFG changes, which I don't really want to backport to the 4.0
104.40 -branch, so instead I'll add this patch. Other warnings generated from
104.41 -tree-inline.c check for DECL_SYSTEM_HEADER like this.
104.42 -
104.43 -Bootstrapped & tested on powerpc-darwin8, I'll commit when the branch
104.44 -is unfrozen.
104.45 -
104.46 ---
104.47 -- Geoffrey Keating <geoffk@apple.com>
104.48 -
104.49 -===File ~/patches/gcc-40-4121982.patch======================
104.50 -Index: ChangeLog
104.51 -2005-06-28 Geoffrey Keating <geoffk@apple.com>
104.52 -
104.53 - * tree-inline.c (expand_call_inline): Prevent 'may reach end'
104.54 - warning in system headers.
104.55 -
104.56 -Index: tree-inline.c
104.57 -===================================================================
104.58 -RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
104.59 -retrieving revision 1.170.8.4
104.60 -diff -u -p -u -p -r1.170.8.4 tree-inline.c
104.61 ---- gcc-4.0.1/gcc/tree-inline.c.old 6 Jun 2005 19:20:32 -0000 1.170.8.4
104.62 -+++ gcc-4.0.1/gcc/tree-inline.c 1 Jul 2005 18:27:26 -0000
104.63 -@@ -1693,7 +1693,8 @@ expand_call_inline (tree *tp, int *walk_
104.64 - && !TREE_NO_WARNING (fn)
104.65 - && !VOID_TYPE_P (TREE_TYPE (TREE_TYPE (fn)))
104.66 - && return_slot_addr == NULL_TREE
104.67 -- && block_may_fallthru (copy))
104.68 -+ && block_may_fallthru (copy)
104.69 -+ && !DECL_IN_SYSTEM_HEADER (fn))
104.70 - {
104.71 - warning ("control may reach end of non-void function %qD being inlined",
104.72 - fn);
104.73 -============================================================
104.74 -
105.1 --- a/patches/gcc/4.0.2/100-fix-fixincl.patch Wed Oct 28 12:03:38 2009 +0100
105.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
105.3 @@ -1,72 +0,0 @@
105.4 -See http://gcc.gnu.org/PR22541
105.5 -
105.6 -From: Dan Kegel
105.7 -
105.8 -When building gcc-3.4.3 or gcc-4.0.[01] into a clean $PREFIX (the only two I've tried like this),
105.9 -the configure script happily copies the glibc include files from include to sys-include;
105.10 -here's the line from the log file (with $PREFIX instead of the real prefix):
105.11 -
105.12 -Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
105.13 -
105.14 -But later, when running fixincludes, it gives the error message
105.15 - The directory that should contain system headers does not exist:
105.16 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
105.17 -
105.18 -Nevertheless, it continues building; the header files it installs in
105.19 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
105.20 -do not include the boilerplate that would cause it to #include_next the
105.21 -glibc headers in the system header directory.
105.22 -Thus the resulting toolchain can't compile the following program:
105.23 -#include <limits.h>
105.24 -int x = PATH_MAX;
105.25 -because its limits.h doesn't include the glibc header.
105.26 -
105.27 -That's not nice. I suspect the problem is that gcc/Makefile.in assumes that
105.28 -it can refer to $PREFIX/i686-unknown-linux-gnu with the path
105.29 - $PREFIX/lib/../i686-unknown-linux-gnu, but
105.30 -that fails because the directory $PREFIX/lib doesn't exist during 'make all';
105.31 -it is only created later, during 'make install'. (Which makes this problem
105.32 -confusing, since one only notices the breakage well after 'make install',
105.33 -at which point the path configure complained about does exist, and has the
105.34 -right stuff in it.)
105.35 -
105.36 -A possible fix is to replace the line in gcc/Makefile.in that says
105.37 - SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
105.38 -with a version that gets rid of extra ..'s, e.g.
105.39 - SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,,;ta"`
105.40 -(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
105.41 -for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
105.42 -
105.43 -[rediffed against gcc-4.0.0]
105.44 -
105.45 ---- gcc-4.0.0/gcc/Makefile.in.orig 2005-04-04 12:45:13.000000000 -0700
105.46 -+++ gcc-4.0.0/gcc/Makefile.in 2005-05-20 12:33:43.000000000 -0700
105.47 -@@ -378,7 +378,10 @@
105.48 - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
105.49 -
105.50 - # autoconf sets SYSTEM_HEADER_DIR to one of the above.
105.51 --SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
105.52 -+# Purge it of unneccessary internal relative paths
105.53 -+# to directories that might not exist yet.
105.54 -+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
105.55 -+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
105.56 -
105.57 - # Control whether to run fixproto and fixincludes.
105.58 - STMP_FIXPROTO = @STMP_FIXPROTO@
105.59 -@@ -2838,13 +2841,15 @@
105.60 - ../$(build_subdir)/fixincludes/fixincl: ; @ :
105.61 -
105.62 - # Build fixed copies of system files.
105.63 -+# Abort if no system headers available, unless building a crosscompiler.
105.64 -+# FIXME: abort unless building --without-headers would be more accurate and less ugly
105.65 - stmp-fixinc: gsyslimits.h macro_list \
105.66 - ../$(build_subdir)/fixincludes/fixincl \
105.67 - ../$(build_subdir)/fixincludes/fixinc.sh
105.68 - @if test ! -d ${SYSTEM_HEADER_DIR}; then \
105.69 - echo The directory that should contain system headers does not exist: >&2 ; \
105.70 - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
105.71 -- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
105.72 -+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
105.73 - then sleep 1; else exit 1; fi; \
105.74 - fi
105.75 - rm -rf include; mkdir include
106.1 --- a/patches/gcc/4.0.2/110-pr20815-fix.patch Wed Oct 28 12:03:38 2009 +0100
106.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
106.3 @@ -1,121 +0,0 @@
106.4 -Date: 18 May 2005 22:47:59 -0000
106.5 -Message-ID: <20050518224759.7352.qmail@sourceware.org>
106.6 -From: "hubicka at ucw dot cz" <gcc-bugzilla@gcc.gnu.org>
106.7 -To: dank@kegel.com
106.8 -References: <20050407215701.20815.dank@kegel.com>
106.9 -Reply-To: gcc-bugzilla@gcc.gnu.org
106.10 -Subject: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
106.11 -
106.12 -
106.13 -------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:47 -------
106.14 -Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
106.15 -
106.16 ->
106.17 -> ------- Additional Comments From hubicka at ucw dot cz 2005-05-18 22:22 -------
106.18 -> Subject: Re: [Bug gcov/profile/20815] -fprofile-use barfs with "coverage mismatch for function '...' while reading counter 'arcs'."
106.19 ->
106.20 -> coverage_checksum_string already knows a bit about ignoring random seed
106.21 -> produced mess. It looks like this needs to be extended somehow to
106.22 -> handle namespaces too...
106.23 -
106.24 -This seems to solve the missmatch. Would it be possible to test it on
106.25 -bigger testcase and if it works distile a testcase that don't use
106.26 -file IO so it is more suitable for gcc regtesting?
106.27 -
106.28 -Index: coverage.c
106.29 -===================================================================
106.30 -RCS file: /cvs/gcc/gcc/gcc/coverage.c,v
106.31 -retrieving revision 1.6.2.12.2.12
106.32 -diff -c -3 -p -r1.6.2.12.2.12 coverage.c
106.33 -*** gcc-old/gcc/coverage.c 18 May 2005 07:37:31 -0000 1.6.2.12.2.12
106.34 ---- gcc/gcc/coverage.c 18 May 2005 22:45:36 -0000
106.35 -*************** coverage_checksum_string (unsigned chksu
106.36 -*** 471,505 ****
106.37 - as the checksums are used only for sanity checking. */
106.38 - for (i = 0; string[i]; i++)
106.39 - {
106.40 - if (!strncmp (string + i, "_GLOBAL__", 9))
106.41 -! for (i = i + 9; string[i]; i++)
106.42 -! if (string[i]=='_')
106.43 -! {
106.44 -! int y;
106.45 -! unsigned seed;
106.46 -! int scan;
106.47 -!
106.48 -! for (y = 1; y < 9; y++)
106.49 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
106.50 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
106.51 -! break;
106.52 -! if (y != 9 || string[i + 9] != '_')
106.53 -! continue;
106.54 -! for (y = 10; y < 18; y++)
106.55 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
106.56 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
106.57 -! break;
106.58 -! if (y != 18)
106.59 -! continue;
106.60 -! scan = sscanf (string + i + 10, "%X", &seed);
106.61 -! gcc_assert (scan);
106.62 -! if (seed != crc32_string (0, flag_random_seed))
106.63 -! continue;
106.64 -! string = dup = xstrdup (string);
106.65 -! for (y = 10; y < 18; y++)
106.66 -! dup[i + y] = '0';
106.67 -! break;
106.68 -! }
106.69 - break;
106.70 - }
106.71 -
106.72 ---- 471,511 ----
106.73 - as the checksums are used only for sanity checking. */
106.74 - for (i = 0; string[i]; i++)
106.75 - {
106.76 -+ int offset = 0;
106.77 -+ if (!strncmp (string + i, "_GLOBAL__N_", 11))
106.78 -+ offset = 11;
106.79 - if (!strncmp (string + i, "_GLOBAL__", 9))
106.80 -! offset = 9;
106.81 -!
106.82 -! /* C++ namespaces do have scheme:
106.83 -! _GLOBAL__N_<filename>_<wrongmagicnumber>_<magicnumber>functionname
106.84 -! since filename might contain extra underscores there seems
106.85 -! to be no better chance then walk all possible offsets looking
106.86 -! for magicnuber. */
106.87 -! if (offset)
106.88 -! for (;string[offset]; offset++)
106.89 -! for (i = i + offset; string[i]; i++)
106.90 -! if (string[i]=='_')
106.91 -! {
106.92 -! int y;
106.93 -!
106.94 -! for (y = 1; y < 9; y++)
106.95 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
106.96 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
106.97 -! break;
106.98 -! if (y != 9 || string[i + 9] != '_')
106.99 -! continue;
106.100 -! for (y = 10; y < 18; y++)
106.101 -! if (!(string[i + y] >= '0' && string[i + y] <= '9')
106.102 -! && !(string[i + y] >= 'A' && string[i + y] <= 'F'))
106.103 -! break;
106.104 -! if (y != 18)
106.105 -! continue;
106.106 -! if (!dup)
106.107 -! string = dup = xstrdup (string);
106.108 -! for (y = 10; y < 18; y++)
106.109 -! dup[i + y] = '0';
106.110 -! }
106.111 - break;
106.112 - }
106.113 -
106.114 -
106.115 -
106.116 ---
106.117 -
106.118 -
106.119 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20815
106.120 -
106.121 -------- You are receiving this mail because: -------
106.122 -You reported the bug, or are watching the reporter.
106.123 -
106.124 -
107.1 --- a/patches/gcc/4.0.2/120-pr21623-workaround.patch Wed Oct 28 12:03:38 2009 +0100
107.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
107.3 @@ -1,53 +0,0 @@
107.4 -Message-ID: <434576E1.6020305@sscd.de>
107.5 -Date: Thu, 06 Oct 2005 21:11:29 +0200
107.6 -From: Alexander Sieb <sieb@sscd.de>
107.7 -To: crossgcc@sourceware.org
107.8 -Subject: Crosstool sh4-linux-gcc-4.0.2-glibc-2.3.5 patches
107.9 -
107.10 -Hi,
107.11 -
107.12 -attached you find the files I needed to add to crosstool-0.38
107.13 -in order to build a sh4-linux gcc-4.0.2-glibc-2.3.5 tool chain.
107.14 -
107.15 -Files attached:
107.16 -
107.17 -sh4-gcc4.dat:
107.18 - * gcc4 needs --with-multilib-list=m4,m4-nofpu otherwise a linux
107.19 - kernel won't build as it uses the -m4-nofpu option.
107.20 -
107.21 -gcc-pr21623.patch:
107.22 - * Kaz Kojima provided a patch [really, a workaround -dank] for http://gcc.gnu.org/PR21623
107.23 -
107.24 -glibc-2.3.5-sh-memset.patch:
107.25 - * A patch for glibc-2.3.5 which corrects memset. From SUGIOKA Toshinobu.
107.26 - See content for rationale.
107.27 -
107.28 --- snip --
107.29 -
107.30 --- Here's patch 1 of 2, plus URLs showing where it is in CVS --
107.31 -
107.32 -[http://gcc.gnu.org/ml/gcc-cvs/2005-10/msg00081.html]
107.33 -
107.34 -2005-09-30 Kaz Kojima <kkojima@gcc.gnu.org>
107.35 -
107.36 - * config/sh/sh.c (sh_register_move_cost): Add case for moving
107.37 - from T_REGS to FP register class.
107.38 -
107.39 -[http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sh/sh.c.diff?cvsroot=gcc&r1=1.347&r2=1.348]
107.40 -
107.41 -RCS file: /cvs/gcc/gcc/gcc/config/sh/sh.c,v
107.42 -retrieving revision 1.347
107.43 -retrieving revision 1.348
107.44 -diff -u -r1.347 -r1.348
107.45 ---- gcc/gcc/config/sh/sh.c 2005/09/05 12:45:22 1.347
107.46 -+++ gcc/gcc/config/sh/sh.c 2005/10/03 22:07:08 1.348
107.47 -@@ -9491,6 +9491,9 @@ sh_register_move_cost (enum machine_mode
107.48 - && REGCLASS_HAS_FP_REG (dstclass))
107.49 - return 4;
107.50 -
107.51 -+ if (REGCLASS_HAS_FP_REG (dstclass) && srcclass == T_REGS)
107.52 -+ return ((TARGET_HARD_SH4 && !optimize_size) ? 10 : 7);
107.53 -+
107.54 - if ((REGCLASS_HAS_FP_REG (dstclass) && srcclass == MAC_REGS)
107.55 - || (dstclass == MAC_REGS && REGCLASS_HAS_FP_REG (srcclass)))
107.56 - return 9;
108.1 --- a/patches/gcc/4.0.3/100-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
108.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
108.3 @@ -1,553 +0,0 @@
108.4 ---- gcc-4.0.2/gcc/config/t-linux-uclibc
108.5 -+++ gcc-4.0.2/gcc/config/t-linux-uclibc
108.6 -@@ -0,0 +1,5 @@
108.7 -+# Remove glibc specific files added in t-linux
108.8 -+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
108.9 -+
108.10 -+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
108.11 -+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
108.12 ---- gcc-4.0.2/gcc/config.gcc
108.13 -+++ gcc-4.0.2/gcc/config.gcc
108.14 -@@ -1778,7 +1778,7 @@
108.15 - ;;
108.16 - sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
108.17 - sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
108.18 -- sh-*-linux* | sh[346lbe]*-*-linux* | \
108.19 -+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
108.20 - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
108.21 - sh64-*-netbsd* | sh64l*-*-netbsd*)
108.22 - tmake_file="${tmake_file} sh/t-sh sh/t-elf"
108.23 -@@ -2234,10 +2234,16 @@
108.24 - *)
108.25 - echo "*** Configuration ${target} not supported" 1>&2
108.26 - exit 1
108.27 - ;;
108.28 - esac
108.29 -+
108.30 -+# Rather than hook into each target, just do it after all the linux
108.31 -+# targets have been processed
108.32 -+case ${target} in
108.33 -+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
108.34 -+esac
108.35 -
108.36 - case ${target} in
108.37 - i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
108.38 - tmake_file="${tmake_file} i386/t-gmm_malloc"
108.39 - ;;
108.40 ---- gcc-4.0.2/gcc/config/alpha/linux-elf.h
108.41 -+++ gcc-4.0.2/gcc/config/alpha/linux-elf.h
108.42 -@@ -27,7 +27,11 @@
108.43 - #define SUBTARGET_EXTRA_SPECS \
108.44 - { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
108.45 -
108.46 -+#ifdef USE_UCLIBC
108.47 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.48 -+#else
108.49 - #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.50 -+#endif
108.51 -
108.52 - #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
108.53 - %{O*:-O3} %{!O*:-O1} \
108.54 ---- gcc-4.0.2/gcc/config/arm/linux-elf.h
108.55 -+++ gcc-4.0.2/gcc/config/arm/linux-elf.h
108.56 -@@ -81,14 +81,19 @@
108.57 - #define ENDFILE_SPEC \
108.58 - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
108.59 -
108.60 -+#ifdef USE_UCLIBC
108.61 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.62 -+#else
108.63 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.64 -+#endif
108.65 - #undef LINK_SPEC
108.66 - #define LINK_SPEC "%{h*} %{version:-v} \
108.67 - %{b} %{Wl,*:%*} \
108.68 - %{static:-Bstatic} \
108.69 - %{shared:-shared} \
108.70 - %{symbolic:-Bsymbolic} \
108.71 - %{rdynamic:-export-dynamic} \
108.72 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
108.73 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
108.74 - -X \
108.75 - %{mbig-endian:-EB}" \
108.76 - SUBTARGET_EXTRA_LINK_SPEC
108.77 ---- gcc-4.0.2/gcc/config/cris/linux.h
108.78 -+++ gcc-4.0.2/gcc/config/cris/linux.h
108.79 -@@ -79,6 +79,25 @@
108.80 - #undef CRIS_DEFAULT_CPU_VERSION
108.81 - #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
108.82 -
108.83 -+#ifdef USE_UCLIBC
108.84 -+
108.85 -+#undef CRIS_SUBTARGET_VERSION
108.86 -+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
108.87 -+
108.88 -+#undef CRIS_LINK_SUBTARGET_SPEC
108.89 -+#define CRIS_LINK_SUBTARGET_SPEC \
108.90 -+ "-mcrislinux\
108.91 -+ -rpath-link include/asm/../..%s\
108.92 -+ %{shared} %{static}\
108.93 -+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
108.94 -+ %{!shared: \
108.95 -+ %{!static: \
108.96 -+ %{rdynamic:-export-dynamic} \
108.97 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
108.98 -+ %{!r:%{O2|O3: --gc-sections}}"
108.99 -+
108.100 -+#else /* USE_UCLIBC */
108.101 -+
108.102 - #undef CRIS_SUBTARGET_VERSION
108.103 - #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
108.104 -
108.105 -@@ -93,6 +112,8 @@
108.106 - %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
108.107 - %{!r:%{O2|O3: --gc-sections}}"
108.108 -
108.109 -+#endif /* USE_UCLIBC */
108.110 -+
108.111 -
108.112 - /* Node: Run-time Target */
108.113 -
108.114 ---- gcc-4.0.2/gcc/config/i386/linux.h
108.115 -+++ gcc-4.0.2/gcc/config/i386/linux.h
108.116 -@@ -107,6 +107,11 @@
108.117 - #define LINK_EMULATION "elf_i386"
108.118 - #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.119 -
108.120 -+#ifdef USE_UCLIBC
108.121 -+#undef DYNAMIC_LINKER
108.122 -+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.123 -+#endif
108.124 -+
108.125 - #undef SUBTARGET_EXTRA_SPECS
108.126 - #define SUBTARGET_EXTRA_SPECS \
108.127 - { "link_emulation", LINK_EMULATION },\
108.128 ---- gcc-4.0.2/gcc/config/i386/linux64.h
108.129 -+++ gcc-4.0.2/gcc/config/i386/linux64.h
108.130 -@@ -54,14 +54,21 @@
108.131 - When the -shared link option is used a final link is not being
108.132 - done. */
108.133 -
108.134 -+#ifdef USE_UCLIBC
108.135 -+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.136 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
108.137 -+#else
108.138 -+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.139 -+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
108.140 -+#endif
108.141 - #undef LINK_SPEC
108.142 - #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
108.143 - %{shared:-shared} \
108.144 - %{!shared: \
108.145 - %{!static: \
108.146 - %{rdynamic:-export-dynamic} \
108.147 -- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
108.148 -- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
108.149 -+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
108.150 -+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
108.151 - %{static:-static}}"
108.152 -
108.153 - #define MULTILIB_DEFAULTS { "m64" }
108.154 ---- gcc-4.0.2/gcc/config/ia64/linux.h
108.155 -+++ gcc-4.0.2/gcc/config/ia64/linux.h
108.156 -@@ -37,13 +37,18 @@
108.157 - /* Define this for shared library support because it isn't in the main
108.158 - linux.h file. */
108.159 -
108.160 -+#ifdef USE_UCLIBC
108.161 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.162 -+#else
108.163 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
108.164 -+#endif
108.165 - #undef LINK_SPEC
108.166 - #define LINK_SPEC "\
108.167 - %{shared:-shared} \
108.168 - %{!shared: \
108.169 - %{!static: \
108.170 - %{rdynamic:-export-dynamic} \
108.171 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
108.172 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.173 - %{static:-static}}"
108.174 -
108.175 -
108.176 ---- gcc-4.0.2/gcc/config/m68k/linux.h
108.177 -+++ gcc-4.0.2/gcc/config/m68k/linux.h
108.178 -@@ -127,12 +127,17 @@
108.179 -
108.180 - /* If ELF is the default format, we should not use /lib/elf. */
108.181 -
108.182 -+#ifdef USE_UCLIBC
108.183 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.184 -+#else
108.185 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
108.186 -+#endif
108.187 - #undef LINK_SPEC
108.188 - #define LINK_SPEC "-m m68kelf %{shared} \
108.189 - %{!shared: \
108.190 - %{!static: \
108.191 - %{rdynamic:-export-dynamic} \
108.192 -- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
108.193 -+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.194 - %{static}}"
108.195 -
108.196 - /* For compatibility with linux/a.out */
108.197 ---- gcc-4.0.2/gcc/config/mips/linux.h
108.198 -+++ gcc-4.0.2/gcc/config/mips/linux.h
108.199 -@@ -108,14 +108,19 @@
108.200 -
108.201 - /* Borrowed from sparc/linux.h */
108.202 - #undef LINK_SPEC
108.203 -+#ifdef USE_UCLIBC
108.204 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.205 -+#else
108.206 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
108.207 -+#endif
108.208 - #define LINK_SPEC \
108.209 - "%(endian_spec) \
108.210 - %{shared:-shared} \
108.211 - %{!shared: \
108.212 - %{!ibcs: \
108.213 - %{!static: \
108.214 - %{rdynamic:-export-dynamic} \
108.215 -- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
108.216 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.217 - %{static:-static}}}"
108.218 -
108.219 - #undef SUBTARGET_ASM_SPEC
108.220 ---- gcc-4.0.2/gcc/config/pa/pa-linux.h
108.221 -+++ gcc-4.0.2/gcc/config/pa/pa-linux.h
108.222 -@@ -82,13 +82,18 @@
108.223 - /* Define this for shared library support because it isn't in the main
108.224 - linux.h file. */
108.225 -
108.226 -+#ifdef USE_UCLIBC
108.227 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.228 -+#else
108.229 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
108.230 -+#endif
108.231 - #undef LINK_SPEC
108.232 - #define LINK_SPEC "\
108.233 - %{shared:-shared} \
108.234 - %{!shared: \
108.235 - %{!static: \
108.236 - %{rdynamic:-export-dynamic} \
108.237 -- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
108.238 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.239 - %{static:-static}}"
108.240 -
108.241 - /* glibc's profiling functions don't need gcc to allocate counters. */
108.242 ---- gcc-4.0.2/gcc/config/rs6000/linux.h
108.243 -+++ gcc-4.0.2/gcc/config/rs6000/linux.h
108.244 -@@ -69,7 +69,11 @@
108.245 - #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
108.246 -
108.247 - #undef LINK_OS_DEFAULT_SPEC
108.248 -+#ifdef USE_UCLIBC
108.249 -+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
108.250 -+#else
108.251 - #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
108.252 -+#endif
108.253 -
108.254 - #define LINK_GCC_C_SEQUENCE_SPEC \
108.255 - "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
108.256 ---- gcc-4.0.2/gcc/config/rs6000/sysv4.h
108.257 -+++ gcc-4.0.2/gcc/config/rs6000/sysv4.h
108.258 -@@ -949,6 +949,7 @@
108.259 - mcall-linux : %(link_os_linux) ; \
108.260 - mcall-gnu : %(link_os_gnu) ; \
108.261 - mcall-netbsd : %(link_os_netbsd) ; \
108.262 -+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
108.263 - mcall-openbsd: %(link_os_openbsd) ; \
108.264 - : %(link_os_default) }"
108.265 -
108.266 -@@ -1127,6 +1128,10 @@
108.267 - %{rdynamic:-export-dynamic} \
108.268 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
108.269 -
108.270 -+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
108.271 -+ %{rdynamic:-export-dynamic} \
108.272 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
108.273 -+
108.274 - #if defined(HAVE_LD_EH_FRAME_HDR)
108.275 - # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
108.276 - #endif
108.277 -@@ -1293,6 +1298,7 @@
108.278 - { "link_os_sim", LINK_OS_SIM_SPEC }, \
108.279 - { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
108.280 - { "link_os_linux", LINK_OS_LINUX_SPEC }, \
108.281 -+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
108.282 - { "link_os_gnu", LINK_OS_GNU_SPEC }, \
108.283 - { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
108.284 - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
108.285 ---- gcc-4.0.2/gcc/config/s390/linux.h
108.286 -+++ gcc-4.0.2/gcc/config/s390/linux.h
108.287 -@@ -77,6 +77,13 @@
108.288 - #define MULTILIB_DEFAULTS { "m31" }
108.289 - #endif
108.290 -
108.291 -+#ifdef USE_UCLIBC
108.292 -+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.293 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
108.294 -+#else
108.295 -+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
108.296 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
108.297 -+#endif
108.298 - #undef LINK_SPEC
108.299 - #define LINK_SPEC \
108.300 - "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
108.301 -@@ -86,8 +93,8 @@
108.302 - %{!static: \
108.303 - %{rdynamic:-export-dynamic} \
108.304 - %{!dynamic-linker: \
108.305 -- %{m31:-dynamic-linker /lib/ld.so.1} \
108.306 -- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
108.307 -+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
108.308 -+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
108.309 -
108.310 -
108.311 - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
108.312 ---- gcc-4.0.2/gcc/config/sh/linux.h
108.313 -+++ gcc-4.0.2/gcc/config/sh/linux.h
108.314 -@@ -67,11 +67,16 @@
108.315 - #undef SUBTARGET_LINK_EMUL_SUFFIX
108.316 - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
108.317 - #undef SUBTARGET_LINK_SPEC
108.318 -+#ifdef USE_UCLIBC
108.319 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.320 -+#else
108.321 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.322 -+#endif
108.323 - #define SUBTARGET_LINK_SPEC \
108.324 - "%{shared:-shared} \
108.325 - %{!static: \
108.326 - %{rdynamic:-export-dynamic} \
108.327 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
108.328 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.329 - %{static:-static}"
108.330 -
108.331 - #undef LIB_SPEC
108.332 ---- gcc-4.0.2/gcc/config/sparc/linux.h
108.333 -+++ gcc-4.0.2/gcc/config/sparc/linux.h
108.334 -@@ -130,14 +130,19 @@
108.335 -
108.336 - /* If ELF is the default format, we should not use /lib/elf. */
108.337 -
108.338 -+#ifdef USE_UCLIBC
108.339 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.340 -+#else
108.341 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.342 -+#endif
108.343 - #undef LINK_SPEC
108.344 - #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
108.345 - %{!mno-relax:%{!r:-relax}} \
108.346 - %{!shared: \
108.347 - %{!ibcs: \
108.348 - %{!static: \
108.349 - %{rdynamic:-export-dynamic} \
108.350 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
108.351 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.352 - %{static:-static}}}"
108.353 -
108.354 - /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
108.355 ---- gcc-4.0.2/gcc/config/sparc/linux64.h
108.356 -+++ gcc-4.0.2/gcc/config/sparc/linux64.h
108.357 -@@ -167,12 +166,17 @@
108.358 - { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
108.359 - { "link_arch", LINK_ARCH_SPEC },
108.360 -
108.361 -+#ifdef USE_UCLIBC
108.362 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
108.363 -+#else
108.364 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
108.365 -+#endif
108.366 - #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
108.367 - %{!shared: \
108.368 - %{!ibcs: \
108.369 - %{!static: \
108.370 - %{rdynamic:-export-dynamic} \
108.371 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
108.372 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
108.373 - %{static:-static}}} \
108.374 - "
108.375 -
108.376 ---- gcc-4.0.2/libtool.m4
108.377 -+++ gcc-4.0.2/libtool.m4
108.378 -@@ -682,6 +682,11 @@
108.379 - lt_cv_deplibs_check_method=pass_all
108.380 - ;;
108.381 -
108.382 -+linux-uclibc*)
108.383 -+ lt_cv_deplibs_check_method=pass_all
108.384 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.385 -+ ;;
108.386 -+
108.387 - netbsd* | knetbsd*-gnu)
108.388 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.389 - [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
108.390 ---- gcc-4.0.2/ltconfig
108.391 -+++ gcc-4.0.2/ltconfig
108.392 -@@ -603,6 +603,7 @@
108.393 -
108.394 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
108.395 - case $host_os in
108.396 -+linux-uclibc*) ;;
108.397 - linux-gnu*) ;;
108.398 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
108.399 - esac
108.400 -@@ -1274,6 +1275,23 @@
108.401 - dynamic_linker='GNU/Linux ld.so'
108.402 - ;;
108.403 -
108.404 -+linux-uclibc*)
108.405 -+ version_type=linux
108.406 -+ need_lib_prefix=no
108.407 -+ need_version=no
108.408 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
108.409 -+ soname_spec='${libname}${release}.so$major'
108.410 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
108.411 -+ shlibpath_var=LD_LIBRARY_PATH
108.412 -+ shlibpath_overrides_runpath=no
108.413 -+ # This implies no fast_install, which is unacceptable.
108.414 -+ # Some rework will be needed to allow for fast_install
108.415 -+ # before this can be enabled.
108.416 -+ hardcode_into_libs=yes
108.417 -+ # Assume using the uClibc dynamic linker.
108.418 -+ dynamic_linker="uClibc ld.so"
108.419 -+ ;;
108.420 -+
108.421 - netbsd*)
108.422 - need_lib_prefix=no
108.423 - need_version=no
108.424 ---- gcc-4.0.2/libffi/configure
108.425 -+++ gcc-4.0.2/libffi/configure
108.426 -@@ -3457,6 +3457,11 @@
108.427 - lt_cv_deplibs_check_method=pass_all
108.428 - ;;
108.429 -
108.430 -+linux-uclibc*)
108.431 -+ lt_cv_deplibs_check_method=pass_all
108.432 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.433 -+ ;;
108.434 -+
108.435 - netbsd* | knetbsd*-gnu)
108.436 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.437 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.438 ---- gcc-4.0.2/libgfortran/configure
108.439 -+++ gcc-4.0.2/libgfortran/configure
108.440 -@@ -3681,6 +3681,11 @@
108.441 - lt_cv_deplibs_check_method=pass_all
108.442 - ;;
108.443 -
108.444 -+linux-uclibc*)
108.445 -+ lt_cv_deplibs_check_method=pass_all
108.446 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.447 -+ ;;
108.448 -+
108.449 - netbsd* | knetbsd*-gnu)
108.450 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.451 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.452 ---- gcc-4.0.2/libjava/configure
108.453 -+++ gcc-4.0.2/libjava/configure
108.454 -@@ -4351,6 +4351,11 @@
108.455 - lt_cv_deplibs_check_method=pass_all
108.456 - ;;
108.457 -
108.458 -+linux-uclibc*)
108.459 -+ lt_cv_deplibs_check_method=pass_all
108.460 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.461 -+ ;;
108.462 -+
108.463 - netbsd* | knetbsd*-gnu)
108.464 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.465 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.466 ---- gcc-4.0.2/libmudflap/configure
108.467 -+++ gcc-4.0.2/libmudflap/configure
108.468 -@@ -5380,6 +5380,11 @@
108.469 - lt_cv_deplibs_check_method=pass_all
108.470 - ;;
108.471 -
108.472 -+linux-uclibc*)
108.473 -+ lt_cv_deplibs_check_method=pass_all
108.474 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.475 -+ ;;
108.476 -+
108.477 - netbsd* | knetbsd*-gnu)
108.478 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.479 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.480 ---- gcc-4.0.2/libobjc/configure
108.481 -+++ gcc-4.0.2/libobjc/configure
108.482 -@@ -3283,6 +3283,11 @@
108.483 - lt_cv_deplibs_check_method=pass_all
108.484 - ;;
108.485 -
108.486 -+linux-uclibc*)
108.487 -+ lt_cv_deplibs_check_method=pass_all
108.488 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.489 -+ ;;
108.490 -+
108.491 - netbsd* | knetbsd*-gnu)
108.492 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.493 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.494 ---- gcc-4.0.2/boehm-gc/configure
108.495 -+++ gcc-4.0.2/boehm-gc/configure
108.496 -@@ -4320,6 +4320,11 @@
108.497 - lt_cv_deplibs_check_method=pass_all
108.498 - ;;
108.499 -
108.500 -+linux-uclibc*)
108.501 -+ lt_cv_deplibs_check_method=pass_all
108.502 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.503 -+ ;;
108.504 -+
108.505 - netbsd* | knetbsd*-gnu)
108.506 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.507 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
108.508 ---- gcc-4.0.2/configure
108.509 -+++ gcc-4.0.2/configure
108.510 -@@ -1141,7 +1141,7 @@
108.511 - ;;
108.512 - "")
108.513 - case "${target}" in
108.514 -- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
108.515 -+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
108.516 - # Enable libmudflap by default in GNU and friends.
108.517 - ;;
108.518 - *-*-freebsd*)
108.519 ---- gcc-4.0.2/configure.in
108.520 -+++ gcc-4.0.2/configure.in
108.521 -@@ -350,7 +350,7 @@
108.522 - ;;
108.523 - "")
108.524 - case "${target}" in
108.525 -- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
108.526 -+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
108.527 - # Enable libmudflap by default in GNU and friends.
108.528 - ;;
108.529 - *-*-freebsd*)
108.530 ---- gcc-4.0.2/contrib/regression/objs-gcc.sh
108.531 -+++ gcc-4.0.2/contrib/regression/objs-gcc.sh
108.532 -@@ -105,6 +105,10 @@
108.533 - then
108.534 - make all-gdb all-dejagnu all-ld || exit 1
108.535 - make install-gdb install-dejagnu install-ld || exit 1
108.536 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
108.537 -+ then
108.538 -+ make all-gdb all-dejagnu all-ld || exit 1
108.539 -+ make install-gdb install-dejagnu install-ld || exit 1
108.540 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
108.541 - make bootstrap || exit 1
108.542 - make install || exit 1
108.543 ---- gcc-4.0.2/zlib/configure
108.544 -+++ gcc-4.0.2/zlib/configure
108.545 -@@ -3426,6 +3426,11 @@
108.546 - lt_cv_deplibs_check_method=pass_all
108.547 - ;;
108.548 -
108.549 -+linux-uclibc*)
108.550 -+ lt_cv_deplibs_check_method=pass_all
108.551 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
108.552 -+ ;;
108.553 -+
108.554 - netbsd* | knetbsd*-gnu)
108.555 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
108.556 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
109.1 --- a/patches/gcc/4.0.3/110-uclibc-locale.patch Wed Oct 28 12:03:38 2009 +0100
109.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
109.3 @@ -1,3237 +0,0 @@
109.4 -diff -urN gcc-4.0.0-100/libstdc++-v3/acinclude.m4 gcc-4.0.0/libstdc++-v3/acinclude.m4
109.5 ---- gcc-4.0.0-100/libstdc++-v3/acinclude.m4 2005-04-30 13:06:53.000000000 -0500
109.6 -+++ gcc-4.0.0/libstdc++-v3/acinclude.m4 2005-04-28 20:19:01.000000000 -0500
109.7 -@@ -1104,7 +1104,7 @@
109.8 - AC_MSG_CHECKING([for C locale to use])
109.9 - GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
109.10 - [use MODEL for target locale package],
109.11 -- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
109.12 -+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
109.13 -
109.14 - # If they didn't use this option switch, or if they specified --enable
109.15 - # with no specific model, we'll have to look for one. If they
109.16 -@@ -1120,6 +1120,9 @@
109.17 - # Default to "generic".
109.18 - if test $enable_clocale_flag = auto; then
109.19 - case ${target_os} in
109.20 -+ *-uclibc*)
109.21 -+ enable_clocale_flag=uclibc
109.22 -+ ;;
109.23 - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
109.24 - AC_EGREP_CPP([_GLIBCXX_ok], [
109.25 - #include <features.h>
109.26 -@@ -1263,6 +1266,40 @@
109.27 - CTIME_CC=config/locale/generic/time_members.cc
109.28 - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
109.29 - ;;
109.30 -+ uclibc)
109.31 -+ AC_MSG_RESULT(uclibc)
109.32 -+
109.33 -+ # Declare intention to use gettext, and add support for specific
109.34 -+ # languages.
109.35 -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
109.36 -+ ALL_LINGUAS="de fr"
109.37 -+
109.38 -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
109.39 -+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
109.40 -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
109.41 -+ USE_NLS=yes
109.42 -+ fi
109.43 -+ # Export the build objects.
109.44 -+ for ling in $ALL_LINGUAS; do \
109.45 -+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
109.46 -+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
109.47 -+ done
109.48 -+ AC_SUBST(glibcxx_MOFILES)
109.49 -+ AC_SUBST(glibcxx_POFILES)
109.50 -+
109.51 -+ CLOCALE_H=config/locale/uclibc/c_locale.h
109.52 -+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
109.53 -+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
109.54 -+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
109.55 -+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
109.56 -+ CMESSAGES_H=config/locale/uclibc/messages_members.h
109.57 -+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
109.58 -+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
109.59 -+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
109.60 -+ CTIME_H=config/locale/uclibc/time_members.h
109.61 -+ CTIME_CC=config/locale/uclibc/time_members.cc
109.62 -+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
109.63 -+ ;;
109.64 - esac
109.65 -
109.66 - # This is where the testsuite looks for locale catalogs, using the
109.67 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
109.68 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
109.69 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2005-04-28 01:13:15.000000000 -0500
109.70 -@@ -0,0 +1,59 @@
109.71 -+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
109.72 -+
109.73 -+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
109.74 -+//
109.75 -+// This file is part of the GNU ISO C++ Library. This library is free
109.76 -+// software; you can redistribute it and/or modify it under the
109.77 -+// terms of the GNU General Public License as published by the
109.78 -+// Free Software Foundation; either version 2, or (at your option)
109.79 -+// any later version.
109.80 -+
109.81 -+// This library is distributed in the hope that it will be useful,
109.82 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.83 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.84 -+// GNU General Public License for more details.
109.85 -+
109.86 -+// You should have received a copy of the GNU General Public License along
109.87 -+// with this library; see the file COPYING. If not, write to the Free
109.88 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.89 -+// USA.
109.90 -+
109.91 -+// As a special exception, you may use this file as part of a free software
109.92 -+// library without restriction. Specifically, if other files instantiate
109.93 -+// templates or use macros or inline functions from this file, or you compile
109.94 -+// this file and link it with other files to produce an executable, this
109.95 -+// file does not by itself cause the resulting executable to be covered by
109.96 -+// the GNU General Public License. This exception does not however
109.97 -+// invalidate any other reasons why the executable file might be covered by
109.98 -+// the GNU General Public License.
109.99 -+
109.100 -+// Written by Jakub Jelinek <jakub@redhat.com>
109.101 -+
109.102 -+#include <clocale>
109.103 -+
109.104 -+#ifdef __UCLIBC_MJN3_ONLY__
109.105 -+#warning clean this up
109.106 -+#endif
109.107 -+
109.108 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.109 -+
109.110 -+extern "C" __typeof(iswctype_l) __iswctype_l;
109.111 -+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
109.112 -+extern "C" __typeof(strcoll_l) __strcoll_l;
109.113 -+extern "C" __typeof(strftime_l) __strftime_l;
109.114 -+extern "C" __typeof(strtod_l) __strtod_l;
109.115 -+extern "C" __typeof(strtof_l) __strtof_l;
109.116 -+extern "C" __typeof(strtold_l) __strtold_l;
109.117 -+extern "C" __typeof(strxfrm_l) __strxfrm_l;
109.118 -+extern "C" __typeof(towlower_l) __towlower_l;
109.119 -+extern "C" __typeof(towupper_l) __towupper_l;
109.120 -+extern "C" __typeof(wcscoll_l) __wcscoll_l;
109.121 -+extern "C" __typeof(wcsftime_l) __wcsftime_l;
109.122 -+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
109.123 -+extern "C" __typeof(wctype_l) __wctype_l;
109.124 -+extern "C" __typeof(newlocale) __newlocale;
109.125 -+extern "C" __typeof(freelocale) __freelocale;
109.126 -+extern "C" __typeof(duplocale) __duplocale;
109.127 -+extern "C" __typeof(uselocale) __uselocale;
109.128 -+
109.129 -+#endif // GLIBC 2.3 and later
109.130 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
109.131 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
109.132 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 2005-04-28 01:13:15.000000000 -0500
109.133 -@@ -0,0 +1,160 @@
109.134 -+// Wrapper for underlying C-language localization -*- C++ -*-
109.135 -+
109.136 -+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
109.137 -+//
109.138 -+// This file is part of the GNU ISO C++ Library. This library is free
109.139 -+// software; you can redistribute it and/or modify it under the
109.140 -+// terms of the GNU General Public License as published by the
109.141 -+// Free Software Foundation; either version 2, or (at your option)
109.142 -+// any later version.
109.143 -+
109.144 -+// This library is distributed in the hope that it will be useful,
109.145 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.146 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.147 -+// GNU General Public License for more details.
109.148 -+
109.149 -+// You should have received a copy of the GNU General Public License along
109.150 -+// with this library; see the file COPYING. If not, write to the Free
109.151 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.152 -+// USA.
109.153 -+
109.154 -+// As a special exception, you may use this file as part of a free software
109.155 -+// library without restriction. Specifically, if other files instantiate
109.156 -+// templates or use macros or inline functions from this file, or you compile
109.157 -+// this file and link it with other files to produce an executable, this
109.158 -+// file does not by itself cause the resulting executable to be covered by
109.159 -+// the GNU General Public License. This exception does not however
109.160 -+// invalidate any other reasons why the executable file might be covered by
109.161 -+// the GNU General Public License.
109.162 -+
109.163 -+//
109.164 -+// ISO C++ 14882: 22.8 Standard locale categories.
109.165 -+//
109.166 -+
109.167 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.168 -+
109.169 -+#include <cerrno> // For errno
109.170 -+#include <locale>
109.171 -+#include <stdexcept>
109.172 -+#include <langinfo.h>
109.173 -+#include <bits/c++locale_internal.h>
109.174 -+
109.175 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.176 -+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
109.177 -+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
109.178 -+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
109.179 -+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
109.180 -+#define __strtof_l(S, E, L) strtof((S), (E))
109.181 -+#define __strtod_l(S, E, L) strtod((S), (E))
109.182 -+#define __strtold_l(S, E, L) strtold((S), (E))
109.183 -+#warning should dummy __newlocale check for C|POSIX ?
109.184 -+#define __newlocale(a, b, c) NULL
109.185 -+#define __freelocale(a) ((void)0)
109.186 -+#define __duplocale(a) __c_locale()
109.187 -+#endif
109.188 -+
109.189 -+namespace std
109.190 -+{
109.191 -+ template<>
109.192 -+ void
109.193 -+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
109.194 -+ const __c_locale& __cloc)
109.195 -+ {
109.196 -+ if (!(__err & ios_base::failbit))
109.197 -+ {
109.198 -+ char* __sanity;
109.199 -+ errno = 0;
109.200 -+ float __f = __strtof_l(__s, &__sanity, __cloc);
109.201 -+ if (__sanity != __s && errno != ERANGE)
109.202 -+ __v = __f;
109.203 -+ else
109.204 -+ __err |= ios_base::failbit;
109.205 -+ }
109.206 -+ }
109.207 -+
109.208 -+ template<>
109.209 -+ void
109.210 -+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
109.211 -+ const __c_locale& __cloc)
109.212 -+ {
109.213 -+ if (!(__err & ios_base::failbit))
109.214 -+ {
109.215 -+ char* __sanity;
109.216 -+ errno = 0;
109.217 -+ double __d = __strtod_l(__s, &__sanity, __cloc);
109.218 -+ if (__sanity != __s && errno != ERANGE)
109.219 -+ __v = __d;
109.220 -+ else
109.221 -+ __err |= ios_base::failbit;
109.222 -+ }
109.223 -+ }
109.224 -+
109.225 -+ template<>
109.226 -+ void
109.227 -+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
109.228 -+ const __c_locale& __cloc)
109.229 -+ {
109.230 -+ if (!(__err & ios_base::failbit))
109.231 -+ {
109.232 -+ char* __sanity;
109.233 -+ errno = 0;
109.234 -+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
109.235 -+ if (__sanity != __s && errno != ERANGE)
109.236 -+ __v = __ld;
109.237 -+ else
109.238 -+ __err |= ios_base::failbit;
109.239 -+ }
109.240 -+ }
109.241 -+
109.242 -+ void
109.243 -+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
109.244 -+ __c_locale __old)
109.245 -+ {
109.246 -+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
109.247 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.248 -+ if (!__cloc)
109.249 -+ {
109.250 -+ // This named locale is not supported by the underlying OS.
109.251 -+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
109.252 -+ "name not valid"));
109.253 -+ }
109.254 -+#endif
109.255 -+ }
109.256 -+
109.257 -+ void
109.258 -+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
109.259 -+ {
109.260 -+ if (_S_get_c_locale() != __cloc)
109.261 -+ __freelocale(__cloc);
109.262 -+ }
109.263 -+
109.264 -+ __c_locale
109.265 -+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
109.266 -+ { return __duplocale(__cloc); }
109.267 -+} // namespace std
109.268 -+
109.269 -+namespace __gnu_cxx
109.270 -+{
109.271 -+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
109.272 -+ {
109.273 -+ "LC_CTYPE",
109.274 -+ "LC_NUMERIC",
109.275 -+ "LC_TIME",
109.276 -+ "LC_COLLATE",
109.277 -+ "LC_MONETARY",
109.278 -+ "LC_MESSAGES",
109.279 -+#if _GLIBCXX_NUM_CATEGORIES != 0
109.280 -+ "LC_PAPER",
109.281 -+ "LC_NAME",
109.282 -+ "LC_ADDRESS",
109.283 -+ "LC_TELEPHONE",
109.284 -+ "LC_MEASUREMENT",
109.285 -+ "LC_IDENTIFICATION"
109.286 -+#endif
109.287 -+ };
109.288 -+}
109.289 -+
109.290 -+namespace std
109.291 -+{
109.292 -+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
109.293 -+} // namespace std
109.294 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h
109.295 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
109.296 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h 2005-04-28 01:13:15.000000000 -0500
109.297 -@@ -0,0 +1,115 @@
109.298 -+// Wrapper for underlying C-language localization -*- C++ -*-
109.299 -+
109.300 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.301 -+//
109.302 -+// This file is part of the GNU ISO C++ Library. This library is free
109.303 -+// software; you can redistribute it and/or modify it under the
109.304 -+// terms of the GNU General Public License as published by the
109.305 -+// Free Software Foundation; either version 2, or (at your option)
109.306 -+// any later version.
109.307 -+
109.308 -+// This library is distributed in the hope that it will be useful,
109.309 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.310 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.311 -+// GNU General Public License for more details.
109.312 -+
109.313 -+// You should have received a copy of the GNU General Public License along
109.314 -+// with this library; see the file COPYING. If not, write to the Free
109.315 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.316 -+// USA.
109.317 -+
109.318 -+// As a special exception, you may use this file as part of a free software
109.319 -+// library without restriction. Specifically, if other files instantiate
109.320 -+// templates or use macros or inline functions from this file, or you compile
109.321 -+// this file and link it with other files to produce an executable, this
109.322 -+// file does not by itself cause the resulting executable to be covered by
109.323 -+// the GNU General Public License. This exception does not however
109.324 -+// invalidate any other reasons why the executable file might be covered by
109.325 -+// the GNU General Public License.
109.326 -+
109.327 -+//
109.328 -+// ISO C++ 14882: 22.8 Standard locale categories.
109.329 -+//
109.330 -+
109.331 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.332 -+
109.333 -+#ifndef _C_LOCALE_H
109.334 -+#define _C_LOCALE_H 1
109.335 -+
109.336 -+#pragma GCC system_header
109.337 -+
109.338 -+#include <cstring> // get std::strlen
109.339 -+#include <cstdio> // get std::snprintf or std::sprintf
109.340 -+#include <clocale>
109.341 -+#include <langinfo.h> // For codecvt
109.342 -+#ifdef __UCLIBC_MJN3_ONLY__
109.343 -+#warning fix this
109.344 -+#endif
109.345 -+#ifdef __UCLIBC_HAS_LOCALE__
109.346 -+#include <iconv.h> // For codecvt using iconv, iconv_t
109.347 -+#endif
109.348 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
109.349 -+#include <libintl.h> // For messages
109.350 -+#endif
109.351 -+
109.352 -+#ifdef __UCLIBC_MJN3_ONLY__
109.353 -+#warning what is _GLIBCXX_C_LOCALE_GNU for
109.354 -+#endif
109.355 -+#define _GLIBCXX_C_LOCALE_GNU 1
109.356 -+
109.357 -+#ifdef __UCLIBC_MJN3_ONLY__
109.358 -+#warning fix categories
109.359 -+#endif
109.360 -+// #define _GLIBCXX_NUM_CATEGORIES 6
109.361 -+#define _GLIBCXX_NUM_CATEGORIES 0
109.362 -+
109.363 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.364 -+namespace __gnu_cxx
109.365 -+{
109.366 -+ extern "C" __typeof(uselocale) __uselocale;
109.367 -+}
109.368 -+#endif
109.369 -+
109.370 -+namespace std
109.371 -+{
109.372 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.373 -+ typedef __locale_t __c_locale;
109.374 -+#else
109.375 -+ typedef int* __c_locale;
109.376 -+#endif
109.377 -+
109.378 -+ // Convert numeric value of type _Tv to string and return length of
109.379 -+ // string. If snprintf is available use it, otherwise fall back to
109.380 -+ // the unsafe sprintf which, in general, can be dangerous and should
109.381 -+ // be avoided.
109.382 -+ template<typename _Tv>
109.383 -+ int
109.384 -+ __convert_from_v(char* __out, const int __size, const char* __fmt,
109.385 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.386 -+ _Tv __v, const __c_locale& __cloc, int __prec)
109.387 -+ {
109.388 -+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
109.389 -+#else
109.390 -+ _Tv __v, const __c_locale&, int __prec)
109.391 -+ {
109.392 -+# ifdef __UCLIBC_HAS_LOCALE__
109.393 -+ char* __old = std::setlocale(LC_ALL, NULL);
109.394 -+ char* __sav = new char[std::strlen(__old) + 1];
109.395 -+ std::strcpy(__sav, __old);
109.396 -+ std::setlocale(LC_ALL, "C");
109.397 -+# endif
109.398 -+#endif
109.399 -+
109.400 -+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
109.401 -+
109.402 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.403 -+ __gnu_cxx::__uselocale(__old);
109.404 -+#elif defined __UCLIBC_HAS_LOCALE__
109.405 -+ std::setlocale(LC_ALL, __sav);
109.406 -+ delete [] __sav;
109.407 -+#endif
109.408 -+ return __ret;
109.409 -+ }
109.410 -+}
109.411 -+
109.412 -+#endif
109.413 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
109.414 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
109.415 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2005-04-28 01:13:15.000000000 -0500
109.416 -@@ -0,0 +1,306 @@
109.417 -+// std::codecvt implementation details, GNU version -*- C++ -*-
109.418 -+
109.419 -+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
109.420 -+//
109.421 -+// This file is part of the GNU ISO C++ Library. This library is free
109.422 -+// software; you can redistribute it and/or modify it under the
109.423 -+// terms of the GNU General Public License as published by the
109.424 -+// Free Software Foundation; either version 2, or (at your option)
109.425 -+// any later version.
109.426 -+
109.427 -+// This library is distributed in the hope that it will be useful,
109.428 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.429 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.430 -+// GNU General Public License for more details.
109.431 -+
109.432 -+// You should have received a copy of the GNU General Public License along
109.433 -+// with this library; see the file COPYING. If not, write to the Free
109.434 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.435 -+// USA.
109.436 -+
109.437 -+// As a special exception, you may use this file as part of a free software
109.438 -+// library without restriction. Specifically, if other files instantiate
109.439 -+// templates or use macros or inline functions from this file, or you compile
109.440 -+// this file and link it with other files to produce an executable, this
109.441 -+// file does not by itself cause the resulting executable to be covered by
109.442 -+// the GNU General Public License. This exception does not however
109.443 -+// invalidate any other reasons why the executable file might be covered by
109.444 -+// the GNU General Public License.
109.445 -+
109.446 -+//
109.447 -+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
109.448 -+//
109.449 -+
109.450 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.451 -+
109.452 -+#include <locale>
109.453 -+#include <bits/c++locale_internal.h>
109.454 -+
109.455 -+namespace std
109.456 -+{
109.457 -+ // Specializations.
109.458 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.459 -+ codecvt_base::result
109.460 -+ codecvt<wchar_t, char, mbstate_t>::
109.461 -+ do_out(state_type& __state, const intern_type* __from,
109.462 -+ const intern_type* __from_end, const intern_type*& __from_next,
109.463 -+ extern_type* __to, extern_type* __to_end,
109.464 -+ extern_type*& __to_next) const
109.465 -+ {
109.466 -+ result __ret = ok;
109.467 -+ state_type __tmp_state(__state);
109.468 -+
109.469 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.470 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
109.471 -+#endif
109.472 -+
109.473 -+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
109.474 -+ // in case we fall back to wcrtomb and then continue, in a loop.
109.475 -+ // NB: wcsnrtombs is a GNU extension
109.476 -+ for (__from_next = __from, __to_next = __to;
109.477 -+ __from_next < __from_end && __to_next < __to_end
109.478 -+ && __ret == ok;)
109.479 -+ {
109.480 -+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
109.481 -+ __from_end - __from_next);
109.482 -+ if (!__from_chunk_end)
109.483 -+ __from_chunk_end = __from_end;
109.484 -+
109.485 -+ __from = __from_next;
109.486 -+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
109.487 -+ __from_chunk_end - __from_next,
109.488 -+ __to_end - __to_next, &__state);
109.489 -+ if (__conv == static_cast<size_t>(-1))
109.490 -+ {
109.491 -+ // In case of error, in order to stop at the exact place we
109.492 -+ // have to start again from the beginning with a series of
109.493 -+ // wcrtomb.
109.494 -+ for (; __from < __from_next; ++__from)
109.495 -+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
109.496 -+ __state = __tmp_state;
109.497 -+ __ret = error;
109.498 -+ }
109.499 -+ else if (__from_next && __from_next < __from_chunk_end)
109.500 -+ {
109.501 -+ __to_next += __conv;
109.502 -+ __ret = partial;
109.503 -+ }
109.504 -+ else
109.505 -+ {
109.506 -+ __from_next = __from_chunk_end;
109.507 -+ __to_next += __conv;
109.508 -+ }
109.509 -+
109.510 -+ if (__from_next < __from_end && __ret == ok)
109.511 -+ {
109.512 -+ extern_type __buf[MB_LEN_MAX];
109.513 -+ __tmp_state = __state;
109.514 -+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
109.515 -+ if (__conv > static_cast<size_t>(__to_end - __to_next))
109.516 -+ __ret = partial;
109.517 -+ else
109.518 -+ {
109.519 -+ memcpy(__to_next, __buf, __conv);
109.520 -+ __state = __tmp_state;
109.521 -+ __to_next += __conv;
109.522 -+ ++__from_next;
109.523 -+ }
109.524 -+ }
109.525 -+ }
109.526 -+
109.527 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.528 -+ __uselocale(__old);
109.529 -+#endif
109.530 -+
109.531 -+ return __ret;
109.532 -+ }
109.533 -+
109.534 -+ codecvt_base::result
109.535 -+ codecvt<wchar_t, char, mbstate_t>::
109.536 -+ do_in(state_type& __state, const extern_type* __from,
109.537 -+ const extern_type* __from_end, const extern_type*& __from_next,
109.538 -+ intern_type* __to, intern_type* __to_end,
109.539 -+ intern_type*& __to_next) const
109.540 -+ {
109.541 -+ result __ret = ok;
109.542 -+ state_type __tmp_state(__state);
109.543 -+
109.544 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.545 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
109.546 -+#endif
109.547 -+
109.548 -+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
109.549 -+ // in case we store a L'\0' and then continue, in a loop.
109.550 -+ // NB: mbsnrtowcs is a GNU extension
109.551 -+ for (__from_next = __from, __to_next = __to;
109.552 -+ __from_next < __from_end && __to_next < __to_end
109.553 -+ && __ret == ok;)
109.554 -+ {
109.555 -+ const extern_type* __from_chunk_end;
109.556 -+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
109.557 -+ __from_end
109.558 -+ - __from_next));
109.559 -+ if (!__from_chunk_end)
109.560 -+ __from_chunk_end = __from_end;
109.561 -+
109.562 -+ __from = __from_next;
109.563 -+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
109.564 -+ __from_chunk_end - __from_next,
109.565 -+ __to_end - __to_next, &__state);
109.566 -+ if (__conv == static_cast<size_t>(-1))
109.567 -+ {
109.568 -+ // In case of error, in order to stop at the exact place we
109.569 -+ // have to start again from the beginning with a series of
109.570 -+ // mbrtowc.
109.571 -+ for (;; ++__to_next, __from += __conv)
109.572 -+ {
109.573 -+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
109.574 -+ &__tmp_state);
109.575 -+ if (__conv == static_cast<size_t>(-1)
109.576 -+ || __conv == static_cast<size_t>(-2))
109.577 -+ break;
109.578 -+ }
109.579 -+ __from_next = __from;
109.580 -+ __state = __tmp_state;
109.581 -+ __ret = error;
109.582 -+ }
109.583 -+ else if (__from_next && __from_next < __from_chunk_end)
109.584 -+ {
109.585 -+ // It is unclear what to return in this case (see DR 382).
109.586 -+ __to_next += __conv;
109.587 -+ __ret = partial;
109.588 -+ }
109.589 -+ else
109.590 -+ {
109.591 -+ __from_next = __from_chunk_end;
109.592 -+ __to_next += __conv;
109.593 -+ }
109.594 -+
109.595 -+ if (__from_next < __from_end && __ret == ok)
109.596 -+ {
109.597 -+ if (__to_next < __to_end)
109.598 -+ {
109.599 -+ // XXX Probably wrong for stateful encodings
109.600 -+ __tmp_state = __state;
109.601 -+ ++__from_next;
109.602 -+ *__to_next++ = L'\0';
109.603 -+ }
109.604 -+ else
109.605 -+ __ret = partial;
109.606 -+ }
109.607 -+ }
109.608 -+
109.609 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.610 -+ __uselocale(__old);
109.611 -+#endif
109.612 -+
109.613 -+ return __ret;
109.614 -+ }
109.615 -+
109.616 -+ int
109.617 -+ codecvt<wchar_t, char, mbstate_t>::
109.618 -+ do_encoding() const throw()
109.619 -+ {
109.620 -+ // XXX This implementation assumes that the encoding is
109.621 -+ // stateless and is either single-byte or variable-width.
109.622 -+ int __ret = 0;
109.623 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.624 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
109.625 -+#endif
109.626 -+ if (MB_CUR_MAX == 1)
109.627 -+ __ret = 1;
109.628 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.629 -+ __uselocale(__old);
109.630 -+#endif
109.631 -+ return __ret;
109.632 -+ }
109.633 -+
109.634 -+ int
109.635 -+ codecvt<wchar_t, char, mbstate_t>::
109.636 -+ do_max_length() const throw()
109.637 -+ {
109.638 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.639 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
109.640 -+#endif
109.641 -+ // XXX Probably wrong for stateful encodings.
109.642 -+ int __ret = MB_CUR_MAX;
109.643 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.644 -+ __uselocale(__old);
109.645 -+#endif
109.646 -+ return __ret;
109.647 -+ }
109.648 -+
109.649 -+ int
109.650 -+ codecvt<wchar_t, char, mbstate_t>::
109.651 -+ do_length(state_type& __state, const extern_type* __from,
109.652 -+ const extern_type* __end, size_t __max) const
109.653 -+ {
109.654 -+ int __ret = 0;
109.655 -+ state_type __tmp_state(__state);
109.656 -+
109.657 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.658 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
109.659 -+#endif
109.660 -+
109.661 -+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
109.662 -+ // in case we advance past it and then continue, in a loop.
109.663 -+ // NB: mbsnrtowcs is a GNU extension
109.664 -+
109.665 -+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
109.666 -+ // its fourth parameter (it wouldn't with NULL as first parameter).
109.667 -+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
109.668 -+ * __max));
109.669 -+ while (__from < __end && __max)
109.670 -+ {
109.671 -+ const extern_type* __from_chunk_end;
109.672 -+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
109.673 -+ __end
109.674 -+ - __from));
109.675 -+ if (!__from_chunk_end)
109.676 -+ __from_chunk_end = __end;
109.677 -+
109.678 -+ const extern_type* __tmp_from = __from;
109.679 -+ size_t __conv = mbsnrtowcs(__to, &__from,
109.680 -+ __from_chunk_end - __from,
109.681 -+ __max, &__state);
109.682 -+ if (__conv == static_cast<size_t>(-1))
109.683 -+ {
109.684 -+ // In case of error, in order to stop at the exact place we
109.685 -+ // have to start again from the beginning with a series of
109.686 -+ // mbrtowc.
109.687 -+ for (__from = __tmp_from;; __from += __conv)
109.688 -+ {
109.689 -+ __conv = mbrtowc(NULL, __from, __end - __from,
109.690 -+ &__tmp_state);
109.691 -+ if (__conv == static_cast<size_t>(-1)
109.692 -+ || __conv == static_cast<size_t>(-2))
109.693 -+ break;
109.694 -+ }
109.695 -+ __state = __tmp_state;
109.696 -+ __ret += __from - __tmp_from;
109.697 -+ break;
109.698 -+ }
109.699 -+ if (!__from)
109.700 -+ __from = __from_chunk_end;
109.701 -+
109.702 -+ __ret += __from - __tmp_from;
109.703 -+ __max -= __conv;
109.704 -+
109.705 -+ if (__from < __end && __max)
109.706 -+ {
109.707 -+ // XXX Probably wrong for stateful encodings
109.708 -+ __tmp_state = __state;
109.709 -+ ++__from;
109.710 -+ ++__ret;
109.711 -+ --__max;
109.712 -+ }
109.713 -+ }
109.714 -+
109.715 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.716 -+ __uselocale(__old);
109.717 -+#endif
109.718 -+
109.719 -+ return __ret;
109.720 -+ }
109.721 -+#endif
109.722 -+}
109.723 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
109.724 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
109.725 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 2005-04-28 01:13:15.000000000 -0500
109.726 -@@ -0,0 +1,80 @@
109.727 -+// std::collate implementation details, GNU version -*- C++ -*-
109.728 -+
109.729 -+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
109.730 -+//
109.731 -+// This file is part of the GNU ISO C++ Library. This library is free
109.732 -+// software; you can redistribute it and/or modify it under the
109.733 -+// terms of the GNU General Public License as published by the
109.734 -+// Free Software Foundation; either version 2, or (at your option)
109.735 -+// any later version.
109.736 -+
109.737 -+// This library is distributed in the hope that it will be useful,
109.738 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.739 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.740 -+// GNU General Public License for more details.
109.741 -+
109.742 -+// You should have received a copy of the GNU General Public License along
109.743 -+// with this library; see the file COPYING. If not, write to the Free
109.744 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.745 -+// USA.
109.746 -+
109.747 -+// As a special exception, you may use this file as part of a free software
109.748 -+// library without restriction. Specifically, if other files instantiate
109.749 -+// templates or use macros or inline functions from this file, or you compile
109.750 -+// this file and link it with other files to produce an executable, this
109.751 -+// file does not by itself cause the resulting executable to be covered by
109.752 -+// the GNU General Public License. This exception does not however
109.753 -+// invalidate any other reasons why the executable file might be covered by
109.754 -+// the GNU General Public License.
109.755 -+
109.756 -+//
109.757 -+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
109.758 -+//
109.759 -+
109.760 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.761 -+
109.762 -+#include <locale>
109.763 -+#include <bits/c++locale_internal.h>
109.764 -+
109.765 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.766 -+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
109.767 -+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
109.768 -+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
109.769 -+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
109.770 -+#endif
109.771 -+
109.772 -+namespace std
109.773 -+{
109.774 -+ // These are basically extensions to char_traits, and perhaps should
109.775 -+ // be put there instead of here.
109.776 -+ template<>
109.777 -+ int
109.778 -+ collate<char>::_M_compare(const char* __one, const char* __two) const
109.779 -+ {
109.780 -+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
109.781 -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
109.782 -+ }
109.783 -+
109.784 -+ template<>
109.785 -+ size_t
109.786 -+ collate<char>::_M_transform(char* __to, const char* __from,
109.787 -+ size_t __n) const
109.788 -+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
109.789 -+
109.790 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.791 -+ template<>
109.792 -+ int
109.793 -+ collate<wchar_t>::_M_compare(const wchar_t* __one,
109.794 -+ const wchar_t* __two) const
109.795 -+ {
109.796 -+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
109.797 -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
109.798 -+ }
109.799 -+
109.800 -+ template<>
109.801 -+ size_t
109.802 -+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
109.803 -+ size_t __n) const
109.804 -+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
109.805 -+#endif
109.806 -+}
109.807 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
109.808 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
109.809 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2005-04-28 01:13:15.000000000 -0500
109.810 -@@ -0,0 +1,300 @@
109.811 -+// std::ctype implementation details, GNU version -*- C++ -*-
109.812 -+
109.813 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.814 -+//
109.815 -+// This file is part of the GNU ISO C++ Library. This library is free
109.816 -+// software; you can redistribute it and/or modify it under the
109.817 -+// terms of the GNU General Public License as published by the
109.818 -+// Free Software Foundation; either version 2, or (at your option)
109.819 -+// any later version.
109.820 -+
109.821 -+// This library is distributed in the hope that it will be useful,
109.822 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.823 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.824 -+// GNU General Public License for more details.
109.825 -+
109.826 -+// You should have received a copy of the GNU General Public License along
109.827 -+// with this library; see the file COPYING. If not, write to the Free
109.828 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.829 -+// USA.
109.830 -+
109.831 -+// As a special exception, you may use this file as part of a free software
109.832 -+// library without restriction. Specifically, if other files instantiate
109.833 -+// templates or use macros or inline functions from this file, or you compile
109.834 -+// this file and link it with other files to produce an executable, this
109.835 -+// file does not by itself cause the resulting executable to be covered by
109.836 -+// the GNU General Public License. This exception does not however
109.837 -+// invalidate any other reasons why the executable file might be covered by
109.838 -+// the GNU General Public License.
109.839 -+
109.840 -+//
109.841 -+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
109.842 -+//
109.843 -+
109.844 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.845 -+
109.846 -+#define _LIBC
109.847 -+#include <locale>
109.848 -+#undef _LIBC
109.849 -+#include <bits/c++locale_internal.h>
109.850 -+
109.851 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.852 -+#define __wctype_l(S, L) wctype((S))
109.853 -+#define __towupper_l(C, L) towupper((C))
109.854 -+#define __towlower_l(C, L) towlower((C))
109.855 -+#define __iswctype_l(C, M, L) iswctype((C), (M))
109.856 -+#endif
109.857 -+
109.858 -+namespace std
109.859 -+{
109.860 -+ // NB: The other ctype<char> specializations are in src/locale.cc and
109.861 -+ // various /config/os/* files.
109.862 -+ template<>
109.863 -+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
109.864 -+ : ctype<char>(0, false, __refs)
109.865 -+ {
109.866 -+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
109.867 -+ {
109.868 -+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
109.869 -+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
109.870 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.871 -+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
109.872 -+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
109.873 -+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
109.874 -+#endif
109.875 -+ }
109.876 -+ }
109.877 -+
109.878 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.879 -+ ctype<wchar_t>::__wmask_type
109.880 -+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
109.881 -+ {
109.882 -+ __wmask_type __ret;
109.883 -+ switch (__m)
109.884 -+ {
109.885 -+ case space:
109.886 -+ __ret = __wctype_l("space", _M_c_locale_ctype);
109.887 -+ break;
109.888 -+ case print:
109.889 -+ __ret = __wctype_l("print", _M_c_locale_ctype);
109.890 -+ break;
109.891 -+ case cntrl:
109.892 -+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
109.893 -+ break;
109.894 -+ case upper:
109.895 -+ __ret = __wctype_l("upper", _M_c_locale_ctype);
109.896 -+ break;
109.897 -+ case lower:
109.898 -+ __ret = __wctype_l("lower", _M_c_locale_ctype);
109.899 -+ break;
109.900 -+ case alpha:
109.901 -+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
109.902 -+ break;
109.903 -+ case digit:
109.904 -+ __ret = __wctype_l("digit", _M_c_locale_ctype);
109.905 -+ break;
109.906 -+ case punct:
109.907 -+ __ret = __wctype_l("punct", _M_c_locale_ctype);
109.908 -+ break;
109.909 -+ case xdigit:
109.910 -+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
109.911 -+ break;
109.912 -+ case alnum:
109.913 -+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
109.914 -+ break;
109.915 -+ case graph:
109.916 -+ __ret = __wctype_l("graph", _M_c_locale_ctype);
109.917 -+ break;
109.918 -+ default:
109.919 -+ __ret = __wmask_type();
109.920 -+ }
109.921 -+ return __ret;
109.922 -+ }
109.923 -+
109.924 -+ wchar_t
109.925 -+ ctype<wchar_t>::do_toupper(wchar_t __c) const
109.926 -+ { return __towupper_l(__c, _M_c_locale_ctype); }
109.927 -+
109.928 -+ const wchar_t*
109.929 -+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
109.930 -+ {
109.931 -+ while (__lo < __hi)
109.932 -+ {
109.933 -+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
109.934 -+ ++__lo;
109.935 -+ }
109.936 -+ return __hi;
109.937 -+ }
109.938 -+
109.939 -+ wchar_t
109.940 -+ ctype<wchar_t>::do_tolower(wchar_t __c) const
109.941 -+ { return __towlower_l(__c, _M_c_locale_ctype); }
109.942 -+
109.943 -+ const wchar_t*
109.944 -+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
109.945 -+ {
109.946 -+ while (__lo < __hi)
109.947 -+ {
109.948 -+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
109.949 -+ ++__lo;
109.950 -+ }
109.951 -+ return __hi;
109.952 -+ }
109.953 -+
109.954 -+ bool
109.955 -+ ctype<wchar_t>::
109.956 -+ do_is(mask __m, wchar_t __c) const
109.957 -+ {
109.958 -+ // Highest bitmask in ctype_base == 10, but extra in "C"
109.959 -+ // library for blank.
109.960 -+ bool __ret = false;
109.961 -+ const size_t __bitmasksize = 11;
109.962 -+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
109.963 -+ if (__m & _M_bit[__bitcur]
109.964 -+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
109.965 -+ {
109.966 -+ __ret = true;
109.967 -+ break;
109.968 -+ }
109.969 -+ return __ret;
109.970 -+ }
109.971 -+
109.972 -+ const wchar_t*
109.973 -+ ctype<wchar_t>::
109.974 -+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
109.975 -+ {
109.976 -+ for (; __lo < __hi; ++__vec, ++__lo)
109.977 -+ {
109.978 -+ // Highest bitmask in ctype_base == 10, but extra in "C"
109.979 -+ // library for blank.
109.980 -+ const size_t __bitmasksize = 11;
109.981 -+ mask __m = 0;
109.982 -+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
109.983 -+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
109.984 -+ __m |= _M_bit[__bitcur];
109.985 -+ *__vec = __m;
109.986 -+ }
109.987 -+ return __hi;
109.988 -+ }
109.989 -+
109.990 -+ const wchar_t*
109.991 -+ ctype<wchar_t>::
109.992 -+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
109.993 -+ {
109.994 -+ while (__lo < __hi && !this->do_is(__m, *__lo))
109.995 -+ ++__lo;
109.996 -+ return __lo;
109.997 -+ }
109.998 -+
109.999 -+ const wchar_t*
109.1000 -+ ctype<wchar_t>::
109.1001 -+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
109.1002 -+ {
109.1003 -+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
109.1004 -+ ++__lo;
109.1005 -+ return __lo;
109.1006 -+ }
109.1007 -+
109.1008 -+ wchar_t
109.1009 -+ ctype<wchar_t>::
109.1010 -+ do_widen(char __c) const
109.1011 -+ { return _M_widen[static_cast<unsigned char>(__c)]; }
109.1012 -+
109.1013 -+ const char*
109.1014 -+ ctype<wchar_t>::
109.1015 -+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
109.1016 -+ {
109.1017 -+ while (__lo < __hi)
109.1018 -+ {
109.1019 -+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
109.1020 -+ ++__lo;
109.1021 -+ ++__dest;
109.1022 -+ }
109.1023 -+ return __hi;
109.1024 -+ }
109.1025 -+
109.1026 -+ char
109.1027 -+ ctype<wchar_t>::
109.1028 -+ do_narrow(wchar_t __wc, char __dfault) const
109.1029 -+ {
109.1030 -+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
109.1031 -+ return _M_narrow[__wc];
109.1032 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1033 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
109.1034 -+#endif
109.1035 -+ const int __c = wctob(__wc);
109.1036 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1037 -+ __uselocale(__old);
109.1038 -+#endif
109.1039 -+ return (__c == EOF ? __dfault : static_cast<char>(__c));
109.1040 -+ }
109.1041 -+
109.1042 -+ const wchar_t*
109.1043 -+ ctype<wchar_t>::
109.1044 -+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
109.1045 -+ char* __dest) const
109.1046 -+ {
109.1047 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1048 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
109.1049 -+#endif
109.1050 -+ if (_M_narrow_ok)
109.1051 -+ while (__lo < __hi)
109.1052 -+ {
109.1053 -+ if (*__lo >= 0 && *__lo < 128)
109.1054 -+ *__dest = _M_narrow[*__lo];
109.1055 -+ else
109.1056 -+ {
109.1057 -+ const int __c = wctob(*__lo);
109.1058 -+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
109.1059 -+ }
109.1060 -+ ++__lo;
109.1061 -+ ++__dest;
109.1062 -+ }
109.1063 -+ else
109.1064 -+ while (__lo < __hi)
109.1065 -+ {
109.1066 -+ const int __c = wctob(*__lo);
109.1067 -+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
109.1068 -+ ++__lo;
109.1069 -+ ++__dest;
109.1070 -+ }
109.1071 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1072 -+ __uselocale(__old);
109.1073 -+#endif
109.1074 -+ return __hi;
109.1075 -+ }
109.1076 -+
109.1077 -+ void
109.1078 -+ ctype<wchar_t>::_M_initialize_ctype()
109.1079 -+ {
109.1080 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1081 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
109.1082 -+#endif
109.1083 -+ wint_t __i;
109.1084 -+ for (__i = 0; __i < 128; ++__i)
109.1085 -+ {
109.1086 -+ const int __c = wctob(__i);
109.1087 -+ if (__c == EOF)
109.1088 -+ break;
109.1089 -+ else
109.1090 -+ _M_narrow[__i] = static_cast<char>(__c);
109.1091 -+ }
109.1092 -+ if (__i == 128)
109.1093 -+ _M_narrow_ok = true;
109.1094 -+ else
109.1095 -+ _M_narrow_ok = false;
109.1096 -+ for (size_t __j = 0;
109.1097 -+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
109.1098 -+ _M_widen[__j] = btowc(__j);
109.1099 -+
109.1100 -+ for (size_t __k = 0; __k <= 11; ++__k)
109.1101 -+ {
109.1102 -+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
109.1103 -+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
109.1104 -+ }
109.1105 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1106 -+ __uselocale(__old);
109.1107 -+#endif
109.1108 -+ }
109.1109 -+#endif // _GLIBCXX_USE_WCHAR_T
109.1110 -+}
109.1111 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
109.1112 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
109.1113 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 2005-04-28 01:13:15.000000000 -0500
109.1114 -@@ -0,0 +1,100 @@
109.1115 -+// std::messages implementation details, GNU version -*- C++ -*-
109.1116 -+
109.1117 -+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
109.1118 -+//
109.1119 -+// This file is part of the GNU ISO C++ Library. This library is free
109.1120 -+// software; you can redistribute it and/or modify it under the
109.1121 -+// terms of the GNU General Public License as published by the
109.1122 -+// Free Software Foundation; either version 2, or (at your option)
109.1123 -+// any later version.
109.1124 -+
109.1125 -+// This library is distributed in the hope that it will be useful,
109.1126 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.1127 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.1128 -+// GNU General Public License for more details.
109.1129 -+
109.1130 -+// You should have received a copy of the GNU General Public License along
109.1131 -+// with this library; see the file COPYING. If not, write to the Free
109.1132 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.1133 -+// USA.
109.1134 -+
109.1135 -+// As a special exception, you may use this file as part of a free software
109.1136 -+// library without restriction. Specifically, if other files instantiate
109.1137 -+// templates or use macros or inline functions from this file, or you compile
109.1138 -+// this file and link it with other files to produce an executable, this
109.1139 -+// file does not by itself cause the resulting executable to be covered by
109.1140 -+// the GNU General Public License. This exception does not however
109.1141 -+// invalidate any other reasons why the executable file might be covered by
109.1142 -+// the GNU General Public License.
109.1143 -+
109.1144 -+//
109.1145 -+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
109.1146 -+//
109.1147 -+
109.1148 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.1149 -+
109.1150 -+#include <locale>
109.1151 -+#include <bits/c++locale_internal.h>
109.1152 -+
109.1153 -+#ifdef __UCLIBC_MJN3_ONLY__
109.1154 -+#warning fix gettext stuff
109.1155 -+#endif
109.1156 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
109.1157 -+extern "C" char *__dcgettext(const char *domainname,
109.1158 -+ const char *msgid, int category);
109.1159 -+#undef gettext
109.1160 -+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
109.1161 -+#else
109.1162 -+#undef gettext
109.1163 -+#define gettext(msgid) (msgid)
109.1164 -+#endif
109.1165 -+
109.1166 -+namespace std
109.1167 -+{
109.1168 -+ // Specializations.
109.1169 -+ template<>
109.1170 -+ string
109.1171 -+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
109.1172 -+ {
109.1173 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1174 -+ __c_locale __old = __uselocale(_M_c_locale_messages);
109.1175 -+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
109.1176 -+ __uselocale(__old);
109.1177 -+ return string(__msg);
109.1178 -+#elif defined __UCLIBC_HAS_LOCALE__
109.1179 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.1180 -+ setlocale(LC_ALL, _M_name_messages);
109.1181 -+ const char* __msg = gettext(__dfault.c_str());
109.1182 -+ setlocale(LC_ALL, __old);
109.1183 -+ free(__old);
109.1184 -+ return string(__msg);
109.1185 -+#else
109.1186 -+ const char* __msg = gettext(__dfault.c_str());
109.1187 -+ return string(__msg);
109.1188 -+#endif
109.1189 -+ }
109.1190 -+
109.1191 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.1192 -+ template<>
109.1193 -+ wstring
109.1194 -+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
109.1195 -+ {
109.1196 -+# ifdef __UCLIBC_HAS_XLOCALE__
109.1197 -+ __c_locale __old = __uselocale(_M_c_locale_messages);
109.1198 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
109.1199 -+ __uselocale(__old);
109.1200 -+ return _M_convert_from_char(__msg);
109.1201 -+# elif defined __UCLIBC_HAS_LOCALE__
109.1202 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.1203 -+ setlocale(LC_ALL, _M_name_messages);
109.1204 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
109.1205 -+ setlocale(LC_ALL, __old);
109.1206 -+ free(__old);
109.1207 -+ return _M_convert_from_char(__msg);
109.1208 -+# else
109.1209 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
109.1210 -+ return _M_convert_from_char(__msg);
109.1211 -+# endif
109.1212 -+ }
109.1213 -+#endif
109.1214 -+}
109.1215 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h
109.1216 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
109.1217 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h 2005-04-28 01:13:15.000000000 -0500
109.1218 -@@ -0,0 +1,118 @@
109.1219 -+// std::messages implementation details, GNU version -*- C++ -*-
109.1220 -+
109.1221 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.1222 -+//
109.1223 -+// This file is part of the GNU ISO C++ Library. This library is free
109.1224 -+// software; you can redistribute it and/or modify it under the
109.1225 -+// terms of the GNU General Public License as published by the
109.1226 -+// Free Software Foundation; either version 2, or (at your option)
109.1227 -+// any later version.
109.1228 -+
109.1229 -+// This library is distributed in the hope that it will be useful,
109.1230 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.1231 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.1232 -+// GNU General Public License for more details.
109.1233 -+
109.1234 -+// You should have received a copy of the GNU General Public License along
109.1235 -+// with this library; see the file COPYING. If not, write to the Free
109.1236 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.1237 -+// USA.
109.1238 -+
109.1239 -+// As a special exception, you may use this file as part of a free software
109.1240 -+// library without restriction. Specifically, if other files instantiate
109.1241 -+// templates or use macros or inline functions from this file, or you compile
109.1242 -+// this file and link it with other files to produce an executable, this
109.1243 -+// file does not by itself cause the resulting executable to be covered by
109.1244 -+// the GNU General Public License. This exception does not however
109.1245 -+// invalidate any other reasons why the executable file might be covered by
109.1246 -+// the GNU General Public License.
109.1247 -+
109.1248 -+//
109.1249 -+// ISO C++ 14882: 22.2.7.1.2 messages functions
109.1250 -+//
109.1251 -+
109.1252 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.1253 -+
109.1254 -+#ifdef __UCLIBC_MJN3_ONLY__
109.1255 -+#warning fix prototypes for *textdomain funcs
109.1256 -+#endif
109.1257 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
109.1258 -+extern "C" char *__textdomain(const char *domainname);
109.1259 -+extern "C" char *__bindtextdomain(const char *domainname,
109.1260 -+ const char *dirname);
109.1261 -+#else
109.1262 -+#undef __textdomain
109.1263 -+#undef __bindtextdomain
109.1264 -+#define __textdomain(D) ((void)0)
109.1265 -+#define __bindtextdomain(D,P) ((void)0)
109.1266 -+#endif
109.1267 -+
109.1268 -+ // Non-virtual member functions.
109.1269 -+ template<typename _CharT>
109.1270 -+ messages<_CharT>::messages(size_t __refs)
109.1271 -+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
109.1272 -+ _M_name_messages(_S_get_c_name())
109.1273 -+ { }
109.1274 -+
109.1275 -+ template<typename _CharT>
109.1276 -+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
109.1277 -+ size_t __refs)
109.1278 -+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
109.1279 -+ _M_name_messages(__s)
109.1280 -+ {
109.1281 -+ char* __tmp = new char[std::strlen(__s) + 1];
109.1282 -+ std::strcpy(__tmp, __s);
109.1283 -+ _M_name_messages = __tmp;
109.1284 -+ }
109.1285 -+
109.1286 -+ template<typename _CharT>
109.1287 -+ typename messages<_CharT>::catalog
109.1288 -+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
109.1289 -+ const char* __dir) const
109.1290 -+ {
109.1291 -+ __bindtextdomain(__s.c_str(), __dir);
109.1292 -+ return this->do_open(__s, __loc);
109.1293 -+ }
109.1294 -+
109.1295 -+ // Virtual member functions.
109.1296 -+ template<typename _CharT>
109.1297 -+ messages<_CharT>::~messages()
109.1298 -+ {
109.1299 -+ if (_M_name_messages != _S_get_c_name())
109.1300 -+ delete [] _M_name_messages;
109.1301 -+ _S_destroy_c_locale(_M_c_locale_messages);
109.1302 -+ }
109.1303 -+
109.1304 -+ template<typename _CharT>
109.1305 -+ typename messages<_CharT>::catalog
109.1306 -+ messages<_CharT>::do_open(const basic_string<char>& __s,
109.1307 -+ const locale&) const
109.1308 -+ {
109.1309 -+ // No error checking is done, assume the catalog exists and can
109.1310 -+ // be used.
109.1311 -+ __textdomain(__s.c_str());
109.1312 -+ return 0;
109.1313 -+ }
109.1314 -+
109.1315 -+ template<typename _CharT>
109.1316 -+ void
109.1317 -+ messages<_CharT>::do_close(catalog) const
109.1318 -+ { }
109.1319 -+
109.1320 -+ // messages_byname
109.1321 -+ template<typename _CharT>
109.1322 -+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
109.1323 -+ : messages<_CharT>(__refs)
109.1324 -+ {
109.1325 -+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
109.1326 -+ delete [] this->_M_name_messages;
109.1327 -+ char* __tmp = new char[std::strlen(__s) + 1];
109.1328 -+ std::strcpy(__tmp, __s);
109.1329 -+ this->_M_name_messages = __tmp;
109.1330 -+
109.1331 -+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
109.1332 -+ {
109.1333 -+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
109.1334 -+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
109.1335 -+ }
109.1336 -+ }
109.1337 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
109.1338 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
109.1339 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2005-04-28 01:23:02.000000000 -0500
109.1340 -@@ -0,0 +1,692 @@
109.1341 -+// std::moneypunct implementation details, GNU version -*- C++ -*-
109.1342 -+
109.1343 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.1344 -+//
109.1345 -+// This file is part of the GNU ISO C++ Library. This library is free
109.1346 -+// software; you can redistribute it and/or modify it under the
109.1347 -+// terms of the GNU General Public License as published by the
109.1348 -+// Free Software Foundation; either version 2, or (at your option)
109.1349 -+// any later version.
109.1350 -+
109.1351 -+// This library is distributed in the hope that it will be useful,
109.1352 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.1353 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.1354 -+// GNU General Public License for more details.
109.1355 -+
109.1356 -+// You should have received a copy of the GNU General Public License along
109.1357 -+// with this library; see the file COPYING. If not, write to the Free
109.1358 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.1359 -+// USA.
109.1360 -+
109.1361 -+// As a special exception, you may use this file as part of a free software
109.1362 -+// library without restriction. Specifically, if other files instantiate
109.1363 -+// templates or use macros or inline functions from this file, or you compile
109.1364 -+// this file and link it with other files to produce an executable, this
109.1365 -+// file does not by itself cause the resulting executable to be covered by
109.1366 -+// the GNU General Public License. This exception does not however
109.1367 -+// invalidate any other reasons why the executable file might be covered by
109.1368 -+// the GNU General Public License.
109.1369 -+
109.1370 -+//
109.1371 -+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
109.1372 -+//
109.1373 -+
109.1374 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.1375 -+
109.1376 -+#define _LIBC
109.1377 -+#include <locale>
109.1378 -+#undef _LIBC
109.1379 -+#include <bits/c++locale_internal.h>
109.1380 -+
109.1381 -+#ifdef __UCLIBC_MJN3_ONLY__
109.1382 -+#warning optimize this for uclibc
109.1383 -+#warning tailor for stub locale support
109.1384 -+#endif
109.1385 -+
109.1386 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.1387 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
109.1388 -+#endif
109.1389 -+
109.1390 -+namespace std
109.1391 -+{
109.1392 -+ // Construct and return valid pattern consisting of some combination of:
109.1393 -+ // space none symbol sign value
109.1394 -+ money_base::pattern
109.1395 -+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
109.1396 -+ {
109.1397 -+ pattern __ret;
109.1398 -+
109.1399 -+ // This insanely complicated routine attempts to construct a valid
109.1400 -+ // pattern for use with monyepunct. A couple of invariants:
109.1401 -+
109.1402 -+ // if (__precedes) symbol -> value
109.1403 -+ // else value -> symbol
109.1404 -+
109.1405 -+ // if (__space) space
109.1406 -+ // else none
109.1407 -+
109.1408 -+ // none == never first
109.1409 -+ // space never first or last
109.1410 -+
109.1411 -+ // Any elegant implementations of this are welcome.
109.1412 -+ switch (__posn)
109.1413 -+ {
109.1414 -+ case 0:
109.1415 -+ case 1:
109.1416 -+ // 1 The sign precedes the value and symbol.
109.1417 -+ __ret.field[0] = sign;
109.1418 -+ if (__space)
109.1419 -+ {
109.1420 -+ // Pattern starts with sign.
109.1421 -+ if (__precedes)
109.1422 -+ {
109.1423 -+ __ret.field[1] = symbol;
109.1424 -+ __ret.field[3] = value;
109.1425 -+ }
109.1426 -+ else
109.1427 -+ {
109.1428 -+ __ret.field[1] = value;
109.1429 -+ __ret.field[3] = symbol;
109.1430 -+ }
109.1431 -+ __ret.field[2] = space;
109.1432 -+ }
109.1433 -+ else
109.1434 -+ {
109.1435 -+ // Pattern starts with sign and ends with none.
109.1436 -+ if (__precedes)
109.1437 -+ {
109.1438 -+ __ret.field[1] = symbol;
109.1439 -+ __ret.field[2] = value;
109.1440 -+ }
109.1441 -+ else
109.1442 -+ {
109.1443 -+ __ret.field[1] = value;
109.1444 -+ __ret.field[2] = symbol;
109.1445 -+ }
109.1446 -+ __ret.field[3] = none;
109.1447 -+ }
109.1448 -+ break;
109.1449 -+ case 2:
109.1450 -+ // 2 The sign follows the value and symbol.
109.1451 -+ if (__space)
109.1452 -+ {
109.1453 -+ // Pattern either ends with sign.
109.1454 -+ if (__precedes)
109.1455 -+ {
109.1456 -+ __ret.field[0] = symbol;
109.1457 -+ __ret.field[2] = value;
109.1458 -+ }
109.1459 -+ else
109.1460 -+ {
109.1461 -+ __ret.field[0] = value;
109.1462 -+ __ret.field[2] = symbol;
109.1463 -+ }
109.1464 -+ __ret.field[1] = space;
109.1465 -+ __ret.field[3] = sign;
109.1466 -+ }
109.1467 -+ else
109.1468 -+ {
109.1469 -+ // Pattern ends with sign then none.
109.1470 -+ if (__precedes)
109.1471 -+ {
109.1472 -+ __ret.field[0] = symbol;
109.1473 -+ __ret.field[1] = value;
109.1474 -+ }
109.1475 -+ else
109.1476 -+ {
109.1477 -+ __ret.field[0] = value;
109.1478 -+ __ret.field[1] = symbol;
109.1479 -+ }
109.1480 -+ __ret.field[2] = sign;
109.1481 -+ __ret.field[3] = none;
109.1482 -+ }
109.1483 -+ break;
109.1484 -+ case 3:
109.1485 -+ // 3 The sign immediately precedes the symbol.
109.1486 -+ if (__precedes)
109.1487 -+ {
109.1488 -+ __ret.field[0] = sign;
109.1489 -+ __ret.field[1] = symbol;
109.1490 -+ if (__space)
109.1491 -+ {
109.1492 -+ __ret.field[2] = space;
109.1493 -+ __ret.field[3] = value;
109.1494 -+ }
109.1495 -+ else
109.1496 -+ {
109.1497 -+ __ret.field[2] = value;
109.1498 -+ __ret.field[3] = none;
109.1499 -+ }
109.1500 -+ }
109.1501 -+ else
109.1502 -+ {
109.1503 -+ __ret.field[0] = value;
109.1504 -+ if (__space)
109.1505 -+ {
109.1506 -+ __ret.field[1] = space;
109.1507 -+ __ret.field[2] = sign;
109.1508 -+ __ret.field[3] = symbol;
109.1509 -+ }
109.1510 -+ else
109.1511 -+ {
109.1512 -+ __ret.field[1] = sign;
109.1513 -+ __ret.field[2] = symbol;
109.1514 -+ __ret.field[3] = none;
109.1515 -+ }
109.1516 -+ }
109.1517 -+ break;
109.1518 -+ case 4:
109.1519 -+ // 4 The sign immediately follows the symbol.
109.1520 -+ if (__precedes)
109.1521 -+ {
109.1522 -+ __ret.field[0] = symbol;
109.1523 -+ __ret.field[1] = sign;
109.1524 -+ if (__space)
109.1525 -+ {
109.1526 -+ __ret.field[2] = space;
109.1527 -+ __ret.field[3] = value;
109.1528 -+ }
109.1529 -+ else
109.1530 -+ {
109.1531 -+ __ret.field[2] = value;
109.1532 -+ __ret.field[3] = none;
109.1533 -+ }
109.1534 -+ }
109.1535 -+ else
109.1536 -+ {
109.1537 -+ __ret.field[0] = value;
109.1538 -+ if (__space)
109.1539 -+ {
109.1540 -+ __ret.field[1] = space;
109.1541 -+ __ret.field[2] = symbol;
109.1542 -+ __ret.field[3] = sign;
109.1543 -+ }
109.1544 -+ else
109.1545 -+ {
109.1546 -+ __ret.field[1] = symbol;
109.1547 -+ __ret.field[2] = sign;
109.1548 -+ __ret.field[3] = none;
109.1549 -+ }
109.1550 -+ }
109.1551 -+ break;
109.1552 -+ default:
109.1553 -+ __ret = pattern();
109.1554 -+ }
109.1555 -+ return __ret;
109.1556 -+ }
109.1557 -+
109.1558 -+ template<>
109.1559 -+ void
109.1560 -+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
109.1561 -+ const char*)
109.1562 -+ {
109.1563 -+ if (!_M_data)
109.1564 -+ _M_data = new __moneypunct_cache<char, true>;
109.1565 -+
109.1566 -+ if (!__cloc)
109.1567 -+ {
109.1568 -+ // "C" locale
109.1569 -+ _M_data->_M_decimal_point = '.';
109.1570 -+ _M_data->_M_thousands_sep = ',';
109.1571 -+ _M_data->_M_grouping = "";
109.1572 -+ _M_data->_M_grouping_size = 0;
109.1573 -+ _M_data->_M_curr_symbol = "";
109.1574 -+ _M_data->_M_curr_symbol_size = 0;
109.1575 -+ _M_data->_M_positive_sign = "";
109.1576 -+ _M_data->_M_positive_sign_size = 0;
109.1577 -+ _M_data->_M_negative_sign = "";
109.1578 -+ _M_data->_M_negative_sign_size = 0;
109.1579 -+ _M_data->_M_frac_digits = 0;
109.1580 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
109.1581 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
109.1582 -+
109.1583 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
109.1584 -+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
109.1585 -+ }
109.1586 -+ else
109.1587 -+ {
109.1588 -+ // Named locale.
109.1589 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
109.1590 -+ __cloc));
109.1591 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
109.1592 -+ __cloc));
109.1593 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
109.1594 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.1595 -+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
109.1596 -+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
109.1597 -+
109.1598 -+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
109.1599 -+ if (!__nposn)
109.1600 -+ _M_data->_M_negative_sign = "()";
109.1601 -+ else
109.1602 -+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
109.1603 -+ __cloc);
109.1604 -+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
109.1605 -+
109.1606 -+ // _Intl == true
109.1607 -+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
109.1608 -+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
109.1609 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
109.1610 -+ __cloc));
109.1611 -+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
109.1612 -+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
109.1613 -+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
109.1614 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
109.1615 -+ __pposn);
109.1616 -+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
109.1617 -+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
109.1618 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
109.1619 -+ __nposn);
109.1620 -+ }
109.1621 -+ }
109.1622 -+
109.1623 -+ template<>
109.1624 -+ void
109.1625 -+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
109.1626 -+ const char*)
109.1627 -+ {
109.1628 -+ if (!_M_data)
109.1629 -+ _M_data = new __moneypunct_cache<char, false>;
109.1630 -+
109.1631 -+ if (!__cloc)
109.1632 -+ {
109.1633 -+ // "C" locale
109.1634 -+ _M_data->_M_decimal_point = '.';
109.1635 -+ _M_data->_M_thousands_sep = ',';
109.1636 -+ _M_data->_M_grouping = "";
109.1637 -+ _M_data->_M_grouping_size = 0;
109.1638 -+ _M_data->_M_curr_symbol = "";
109.1639 -+ _M_data->_M_curr_symbol_size = 0;
109.1640 -+ _M_data->_M_positive_sign = "";
109.1641 -+ _M_data->_M_positive_sign_size = 0;
109.1642 -+ _M_data->_M_negative_sign = "";
109.1643 -+ _M_data->_M_negative_sign_size = 0;
109.1644 -+ _M_data->_M_frac_digits = 0;
109.1645 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
109.1646 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
109.1647 -+
109.1648 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
109.1649 -+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
109.1650 -+ }
109.1651 -+ else
109.1652 -+ {
109.1653 -+ // Named locale.
109.1654 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
109.1655 -+ __cloc));
109.1656 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
109.1657 -+ __cloc));
109.1658 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
109.1659 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.1660 -+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
109.1661 -+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
109.1662 -+
109.1663 -+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
109.1664 -+ if (!__nposn)
109.1665 -+ _M_data->_M_negative_sign = "()";
109.1666 -+ else
109.1667 -+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
109.1668 -+ __cloc);
109.1669 -+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
109.1670 -+
109.1671 -+ // _Intl == false
109.1672 -+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
109.1673 -+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
109.1674 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
109.1675 -+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
109.1676 -+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
109.1677 -+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
109.1678 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
109.1679 -+ __pposn);
109.1680 -+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
109.1681 -+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
109.1682 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
109.1683 -+ __nposn);
109.1684 -+ }
109.1685 -+ }
109.1686 -+
109.1687 -+ template<>
109.1688 -+ moneypunct<char, true>::~moneypunct()
109.1689 -+ { delete _M_data; }
109.1690 -+
109.1691 -+ template<>
109.1692 -+ moneypunct<char, false>::~moneypunct()
109.1693 -+ { delete _M_data; }
109.1694 -+
109.1695 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.1696 -+ template<>
109.1697 -+ void
109.1698 -+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
109.1699 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1700 -+ const char*)
109.1701 -+#else
109.1702 -+ const char* __name)
109.1703 -+#endif
109.1704 -+ {
109.1705 -+ if (!_M_data)
109.1706 -+ _M_data = new __moneypunct_cache<wchar_t, true>;
109.1707 -+
109.1708 -+ if (!__cloc)
109.1709 -+ {
109.1710 -+ // "C" locale
109.1711 -+ _M_data->_M_decimal_point = L'.';
109.1712 -+ _M_data->_M_thousands_sep = L',';
109.1713 -+ _M_data->_M_grouping = "";
109.1714 -+ _M_data->_M_grouping_size = 0;
109.1715 -+ _M_data->_M_curr_symbol = L"";
109.1716 -+ _M_data->_M_curr_symbol_size = 0;
109.1717 -+ _M_data->_M_positive_sign = L"";
109.1718 -+ _M_data->_M_positive_sign_size = 0;
109.1719 -+ _M_data->_M_negative_sign = L"";
109.1720 -+ _M_data->_M_negative_sign_size = 0;
109.1721 -+ _M_data->_M_frac_digits = 0;
109.1722 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
109.1723 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
109.1724 -+
109.1725 -+ // Use ctype::widen code without the facet...
109.1726 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
109.1727 -+ _M_data->_M_atoms[__i] =
109.1728 -+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
109.1729 -+ }
109.1730 -+ else
109.1731 -+ {
109.1732 -+ // Named locale.
109.1733 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1734 -+ __c_locale __old = __uselocale(__cloc);
109.1735 -+#else
109.1736 -+ // Switch to named locale so that mbsrtowcs will work.
109.1737 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.1738 -+ setlocale(LC_ALL, __name);
109.1739 -+#endif
109.1740 -+
109.1741 -+#ifdef __UCLIBC_MJN3_ONLY__
109.1742 -+#warning fix this... should be monetary
109.1743 -+#endif
109.1744 -+#ifdef __UCLIBC__
109.1745 -+# ifdef __UCLIBC_HAS_XLOCALE__
109.1746 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
109.1747 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
109.1748 -+# else
109.1749 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
109.1750 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
109.1751 -+# endif
109.1752 -+#else
109.1753 -+ union { char *__s; wchar_t __w; } __u;
109.1754 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
109.1755 -+ _M_data->_M_decimal_point = __u.__w;
109.1756 -+
109.1757 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
109.1758 -+ _M_data->_M_thousands_sep = __u.__w;
109.1759 -+#endif
109.1760 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
109.1761 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.1762 -+
109.1763 -+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
109.1764 -+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
109.1765 -+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
109.1766 -+
109.1767 -+ wchar_t* __wcs_ps = 0;
109.1768 -+ wchar_t* __wcs_ns = 0;
109.1769 -+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
109.1770 -+ try
109.1771 -+ {
109.1772 -+ mbstate_t __state;
109.1773 -+ size_t __len = strlen(__cpossign);
109.1774 -+ if (__len)
109.1775 -+ {
109.1776 -+ ++__len;
109.1777 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1778 -+ __wcs_ps = new wchar_t[__len];
109.1779 -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
109.1780 -+ _M_data->_M_positive_sign = __wcs_ps;
109.1781 -+ }
109.1782 -+ else
109.1783 -+ _M_data->_M_positive_sign = L"";
109.1784 -+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
109.1785 -+
109.1786 -+ __len = strlen(__cnegsign);
109.1787 -+ if (!__nposn)
109.1788 -+ _M_data->_M_negative_sign = L"()";
109.1789 -+ else if (__len)
109.1790 -+ {
109.1791 -+ ++__len;
109.1792 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1793 -+ __wcs_ns = new wchar_t[__len];
109.1794 -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
109.1795 -+ _M_data->_M_negative_sign = __wcs_ns;
109.1796 -+ }
109.1797 -+ else
109.1798 -+ _M_data->_M_negative_sign = L"";
109.1799 -+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
109.1800 -+
109.1801 -+ // _Intl == true.
109.1802 -+ __len = strlen(__ccurr);
109.1803 -+ if (__len)
109.1804 -+ {
109.1805 -+ ++__len;
109.1806 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1807 -+ wchar_t* __wcs = new wchar_t[__len];
109.1808 -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
109.1809 -+ _M_data->_M_curr_symbol = __wcs;
109.1810 -+ }
109.1811 -+ else
109.1812 -+ _M_data->_M_curr_symbol = L"";
109.1813 -+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
109.1814 -+ }
109.1815 -+ catch (...)
109.1816 -+ {
109.1817 -+ delete _M_data;
109.1818 -+ _M_data = 0;
109.1819 -+ delete __wcs_ps;
109.1820 -+ delete __wcs_ns;
109.1821 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1822 -+ __uselocale(__old);
109.1823 -+#else
109.1824 -+ setlocale(LC_ALL, __old);
109.1825 -+ free(__old);
109.1826 -+#endif
109.1827 -+ __throw_exception_again;
109.1828 -+ }
109.1829 -+
109.1830 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
109.1831 -+ __cloc));
109.1832 -+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
109.1833 -+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
109.1834 -+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
109.1835 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
109.1836 -+ __pposn);
109.1837 -+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
109.1838 -+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
109.1839 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
109.1840 -+ __nposn);
109.1841 -+
109.1842 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1843 -+ __uselocale(__old);
109.1844 -+#else
109.1845 -+ setlocale(LC_ALL, __old);
109.1846 -+ free(__old);
109.1847 -+#endif
109.1848 -+ }
109.1849 -+ }
109.1850 -+
109.1851 -+ template<>
109.1852 -+ void
109.1853 -+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
109.1854 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1855 -+ const char*)
109.1856 -+#else
109.1857 -+ const char* __name)
109.1858 -+#endif
109.1859 -+ {
109.1860 -+ if (!_M_data)
109.1861 -+ _M_data = new __moneypunct_cache<wchar_t, false>;
109.1862 -+
109.1863 -+ if (!__cloc)
109.1864 -+ {
109.1865 -+ // "C" locale
109.1866 -+ _M_data->_M_decimal_point = L'.';
109.1867 -+ _M_data->_M_thousands_sep = L',';
109.1868 -+ _M_data->_M_grouping = "";
109.1869 -+ _M_data->_M_grouping_size = 0;
109.1870 -+ _M_data->_M_curr_symbol = L"";
109.1871 -+ _M_data->_M_curr_symbol_size = 0;
109.1872 -+ _M_data->_M_positive_sign = L"";
109.1873 -+ _M_data->_M_positive_sign_size = 0;
109.1874 -+ _M_data->_M_negative_sign = L"";
109.1875 -+ _M_data->_M_negative_sign_size = 0;
109.1876 -+ _M_data->_M_frac_digits = 0;
109.1877 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
109.1878 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
109.1879 -+
109.1880 -+ // Use ctype::widen code without the facet...
109.1881 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
109.1882 -+ _M_data->_M_atoms[__i] =
109.1883 -+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
109.1884 -+ }
109.1885 -+ else
109.1886 -+ {
109.1887 -+ // Named locale.
109.1888 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1889 -+ __c_locale __old = __uselocale(__cloc);
109.1890 -+#else
109.1891 -+ // Switch to named locale so that mbsrtowcs will work.
109.1892 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.1893 -+ setlocale(LC_ALL, __name);
109.1894 -+#endif
109.1895 -+
109.1896 -+#ifdef __UCLIBC_MJN3_ONLY__
109.1897 -+#warning fix this... should be monetary
109.1898 -+#endif
109.1899 -+#ifdef __UCLIBC__
109.1900 -+# ifdef __UCLIBC_HAS_XLOCALE__
109.1901 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
109.1902 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
109.1903 -+# else
109.1904 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
109.1905 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
109.1906 -+# endif
109.1907 -+#else
109.1908 -+ union { char *__s; wchar_t __w; } __u;
109.1909 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
109.1910 -+ _M_data->_M_decimal_point = __u.__w;
109.1911 -+
109.1912 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
109.1913 -+ _M_data->_M_thousands_sep = __u.__w;
109.1914 -+#endif
109.1915 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
109.1916 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.1917 -+
109.1918 -+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
109.1919 -+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
109.1920 -+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
109.1921 -+
109.1922 -+ wchar_t* __wcs_ps = 0;
109.1923 -+ wchar_t* __wcs_ns = 0;
109.1924 -+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
109.1925 -+ try
109.1926 -+ {
109.1927 -+ mbstate_t __state;
109.1928 -+ size_t __len;
109.1929 -+ __len = strlen(__cpossign);
109.1930 -+ if (__len)
109.1931 -+ {
109.1932 -+ ++__len;
109.1933 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1934 -+ __wcs_ps = new wchar_t[__len];
109.1935 -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
109.1936 -+ _M_data->_M_positive_sign = __wcs_ps;
109.1937 -+ }
109.1938 -+ else
109.1939 -+ _M_data->_M_positive_sign = L"";
109.1940 -+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
109.1941 -+
109.1942 -+ __len = strlen(__cnegsign);
109.1943 -+ if (!__nposn)
109.1944 -+ _M_data->_M_negative_sign = L"()";
109.1945 -+ else if (__len)
109.1946 -+ {
109.1947 -+ ++__len;
109.1948 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1949 -+ __wcs_ns = new wchar_t[__len];
109.1950 -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
109.1951 -+ _M_data->_M_negative_sign = __wcs_ns;
109.1952 -+ }
109.1953 -+ else
109.1954 -+ _M_data->_M_negative_sign = L"";
109.1955 -+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
109.1956 -+
109.1957 -+ // _Intl == true.
109.1958 -+ __len = strlen(__ccurr);
109.1959 -+ if (__len)
109.1960 -+ {
109.1961 -+ ++__len;
109.1962 -+ memset(&__state, 0, sizeof(mbstate_t));
109.1963 -+ wchar_t* __wcs = new wchar_t[__len];
109.1964 -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
109.1965 -+ _M_data->_M_curr_symbol = __wcs;
109.1966 -+ }
109.1967 -+ else
109.1968 -+ _M_data->_M_curr_symbol = L"";
109.1969 -+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
109.1970 -+ }
109.1971 -+ catch (...)
109.1972 -+ {
109.1973 -+ delete _M_data;
109.1974 -+ _M_data = 0;
109.1975 -+ delete __wcs_ps;
109.1976 -+ delete __wcs_ns;
109.1977 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1978 -+ __uselocale(__old);
109.1979 -+#else
109.1980 -+ setlocale(LC_ALL, __old);
109.1981 -+ free(__old);
109.1982 -+#endif
109.1983 -+ __throw_exception_again;
109.1984 -+ }
109.1985 -+
109.1986 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
109.1987 -+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
109.1988 -+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
109.1989 -+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
109.1990 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
109.1991 -+ __pposn);
109.1992 -+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
109.1993 -+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
109.1994 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
109.1995 -+ __nposn);
109.1996 -+
109.1997 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.1998 -+ __uselocale(__old);
109.1999 -+#else
109.2000 -+ setlocale(LC_ALL, __old);
109.2001 -+ free(__old);
109.2002 -+#endif
109.2003 -+ }
109.2004 -+ }
109.2005 -+
109.2006 -+ template<>
109.2007 -+ moneypunct<wchar_t, true>::~moneypunct()
109.2008 -+ {
109.2009 -+ if (_M_data->_M_positive_sign_size)
109.2010 -+ delete [] _M_data->_M_positive_sign;
109.2011 -+ if (_M_data->_M_negative_sign_size
109.2012 -+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
109.2013 -+ delete [] _M_data->_M_negative_sign;
109.2014 -+ if (_M_data->_M_curr_symbol_size)
109.2015 -+ delete [] _M_data->_M_curr_symbol;
109.2016 -+ delete _M_data;
109.2017 -+ }
109.2018 -+
109.2019 -+ template<>
109.2020 -+ moneypunct<wchar_t, false>::~moneypunct()
109.2021 -+ {
109.2022 -+ if (_M_data->_M_positive_sign_size)
109.2023 -+ delete [] _M_data->_M_positive_sign;
109.2024 -+ if (_M_data->_M_negative_sign_size
109.2025 -+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
109.2026 -+ delete [] _M_data->_M_negative_sign;
109.2027 -+ if (_M_data->_M_curr_symbol_size)
109.2028 -+ delete [] _M_data->_M_curr_symbol;
109.2029 -+ delete _M_data;
109.2030 -+ }
109.2031 -+#endif
109.2032 -+}
109.2033 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
109.2034 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
109.2035 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2005-04-28 01:20:20.000000000 -0500
109.2036 -@@ -0,0 +1,173 @@
109.2037 -+// std::numpunct implementation details, GNU version -*- C++ -*-
109.2038 -+
109.2039 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.2040 -+//
109.2041 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2042 -+// software; you can redistribute it and/or modify it under the
109.2043 -+// terms of the GNU General Public License as published by the
109.2044 -+// Free Software Foundation; either version 2, or (at your option)
109.2045 -+// any later version.
109.2046 -+
109.2047 -+// This library is distributed in the hope that it will be useful,
109.2048 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2049 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2050 -+// GNU General Public License for more details.
109.2051 -+
109.2052 -+// You should have received a copy of the GNU General Public License along
109.2053 -+// with this library; see the file COPYING. If not, write to the Free
109.2054 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2055 -+// USA.
109.2056 -+
109.2057 -+// As a special exception, you may use this file as part of a free software
109.2058 -+// library without restriction. Specifically, if other files instantiate
109.2059 -+// templates or use macros or inline functions from this file, or you compile
109.2060 -+// this file and link it with other files to produce an executable, this
109.2061 -+// file does not by itself cause the resulting executable to be covered by
109.2062 -+// the GNU General Public License. This exception does not however
109.2063 -+// invalidate any other reasons why the executable file might be covered by
109.2064 -+// the GNU General Public License.
109.2065 -+
109.2066 -+//
109.2067 -+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
109.2068 -+//
109.2069 -+
109.2070 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.2071 -+
109.2072 -+#define _LIBC
109.2073 -+#include <locale>
109.2074 -+#undef _LIBC
109.2075 -+#include <bits/c++locale_internal.h>
109.2076 -+
109.2077 -+#ifdef __UCLIBC_MJN3_ONLY__
109.2078 -+#warning tailor for stub locale support
109.2079 -+#endif
109.2080 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.2081 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
109.2082 -+#endif
109.2083 -+
109.2084 -+namespace std
109.2085 -+{
109.2086 -+ template<>
109.2087 -+ void
109.2088 -+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
109.2089 -+ {
109.2090 -+ if (!_M_data)
109.2091 -+ _M_data = new __numpunct_cache<char>;
109.2092 -+
109.2093 -+ if (!__cloc)
109.2094 -+ {
109.2095 -+ // "C" locale
109.2096 -+ _M_data->_M_grouping = "";
109.2097 -+ _M_data->_M_grouping_size = 0;
109.2098 -+ _M_data->_M_use_grouping = false;
109.2099 -+
109.2100 -+ _M_data->_M_decimal_point = '.';
109.2101 -+ _M_data->_M_thousands_sep = ',';
109.2102 -+
109.2103 -+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
109.2104 -+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
109.2105 -+
109.2106 -+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
109.2107 -+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
109.2108 -+ }
109.2109 -+ else
109.2110 -+ {
109.2111 -+ // Named locale.
109.2112 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
109.2113 -+ __cloc));
109.2114 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
109.2115 -+ __cloc));
109.2116 -+
109.2117 -+ // Check for NULL, which implies no grouping.
109.2118 -+ if (_M_data->_M_thousands_sep == '\0')
109.2119 -+ _M_data->_M_grouping = "";
109.2120 -+ else
109.2121 -+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
109.2122 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.2123 -+ }
109.2124 -+
109.2125 -+ // NB: There is no way to extact this info from posix locales.
109.2126 -+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
109.2127 -+ _M_data->_M_truename = "true";
109.2128 -+ _M_data->_M_truename_size = 4;
109.2129 -+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
109.2130 -+ _M_data->_M_falsename = "false";
109.2131 -+ _M_data->_M_falsename_size = 5;
109.2132 -+ }
109.2133 -+
109.2134 -+ template<>
109.2135 -+ numpunct<char>::~numpunct()
109.2136 -+ { delete _M_data; }
109.2137 -+
109.2138 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.2139 -+ template<>
109.2140 -+ void
109.2141 -+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
109.2142 -+ {
109.2143 -+ if (!_M_data)
109.2144 -+ _M_data = new __numpunct_cache<wchar_t>;
109.2145 -+
109.2146 -+ if (!__cloc)
109.2147 -+ {
109.2148 -+ // "C" locale
109.2149 -+ _M_data->_M_grouping = "";
109.2150 -+ _M_data->_M_grouping_size = 0;
109.2151 -+ _M_data->_M_use_grouping = false;
109.2152 -+
109.2153 -+ _M_data->_M_decimal_point = L'.';
109.2154 -+ _M_data->_M_thousands_sep = L',';
109.2155 -+
109.2156 -+ // Use ctype::widen code without the facet...
109.2157 -+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
109.2158 -+ _M_data->_M_atoms_out[__i] =
109.2159 -+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
109.2160 -+
109.2161 -+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
109.2162 -+ _M_data->_M_atoms_in[__j] =
109.2163 -+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
109.2164 -+ }
109.2165 -+ else
109.2166 -+ {
109.2167 -+ // Named locale.
109.2168 -+ // NB: In the GNU model wchar_t is always 32 bit wide.
109.2169 -+#ifdef __UCLIBC_MJN3_ONLY__
109.2170 -+#warning fix this
109.2171 -+#endif
109.2172 -+#ifdef __UCLIBC__
109.2173 -+# ifdef __UCLIBC_HAS_XLOCALE__
109.2174 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
109.2175 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
109.2176 -+# else
109.2177 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
109.2178 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
109.2179 -+# endif
109.2180 -+#else
109.2181 -+ union { char *__s; wchar_t __w; } __u;
109.2182 -+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
109.2183 -+ _M_data->_M_decimal_point = __u.__w;
109.2184 -+
109.2185 -+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
109.2186 -+ _M_data->_M_thousands_sep = __u.__w;
109.2187 -+#endif
109.2188 -+
109.2189 -+ if (_M_data->_M_thousands_sep == L'\0')
109.2190 -+ _M_data->_M_grouping = "";
109.2191 -+ else
109.2192 -+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
109.2193 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
109.2194 -+ }
109.2195 -+
109.2196 -+ // NB: There is no way to extact this info from posix locales.
109.2197 -+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
109.2198 -+ _M_data->_M_truename = L"true";
109.2199 -+ _M_data->_M_truename_size = 4;
109.2200 -+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
109.2201 -+ _M_data->_M_falsename = L"false";
109.2202 -+ _M_data->_M_falsename_size = 5;
109.2203 -+ }
109.2204 -+
109.2205 -+ template<>
109.2206 -+ numpunct<wchar_t>::~numpunct()
109.2207 -+ { delete _M_data; }
109.2208 -+ #endif
109.2209 -+}
109.2210 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc
109.2211 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
109.2212 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc 2005-04-28 01:13:15.000000000 -0500
109.2213 -@@ -0,0 +1,406 @@
109.2214 -+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
109.2215 -+
109.2216 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.2217 -+//
109.2218 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2219 -+// software; you can redistribute it and/or modify it under the
109.2220 -+// terms of the GNU General Public License as published by the
109.2221 -+// Free Software Foundation; either version 2, or (at your option)
109.2222 -+// any later version.
109.2223 -+
109.2224 -+// This library is distributed in the hope that it will be useful,
109.2225 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2226 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2227 -+// GNU General Public License for more details.
109.2228 -+
109.2229 -+// You should have received a copy of the GNU General Public License along
109.2230 -+// with this library; see the file COPYING. If not, write to the Free
109.2231 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2232 -+// USA.
109.2233 -+
109.2234 -+// As a special exception, you may use this file as part of a free software
109.2235 -+// library without restriction. Specifically, if other files instantiate
109.2236 -+// templates or use macros or inline functions from this file, or you compile
109.2237 -+// this file and link it with other files to produce an executable, this
109.2238 -+// file does not by itself cause the resulting executable to be covered by
109.2239 -+// the GNU General Public License. This exception does not however
109.2240 -+// invalidate any other reasons why the executable file might be covered by
109.2241 -+// the GNU General Public License.
109.2242 -+
109.2243 -+//
109.2244 -+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
109.2245 -+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
109.2246 -+//
109.2247 -+
109.2248 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.2249 -+
109.2250 -+#include <locale>
109.2251 -+#include <bits/c++locale_internal.h>
109.2252 -+
109.2253 -+#ifdef __UCLIBC_MJN3_ONLY__
109.2254 -+#warning tailor for stub locale support
109.2255 -+#endif
109.2256 -+#ifndef __UCLIBC_HAS_XLOCALE__
109.2257 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
109.2258 -+#endif
109.2259 -+
109.2260 -+namespace std
109.2261 -+{
109.2262 -+ template<>
109.2263 -+ void
109.2264 -+ __timepunct<char>::
109.2265 -+ _M_put(char* __s, size_t __maxlen, const char* __format,
109.2266 -+ const tm* __tm) const
109.2267 -+ {
109.2268 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.2269 -+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
109.2270 -+ _M_c_locale_timepunct);
109.2271 -+#else
109.2272 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.2273 -+ setlocale(LC_ALL, _M_name_timepunct);
109.2274 -+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
109.2275 -+ setlocale(LC_ALL, __old);
109.2276 -+ free(__old);
109.2277 -+#endif
109.2278 -+ // Make sure __s is null terminated.
109.2279 -+ if (__len == 0)
109.2280 -+ __s[0] = '\0';
109.2281 -+ }
109.2282 -+
109.2283 -+ template<>
109.2284 -+ void
109.2285 -+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
109.2286 -+ {
109.2287 -+ if (!_M_data)
109.2288 -+ _M_data = new __timepunct_cache<char>;
109.2289 -+
109.2290 -+ if (!__cloc)
109.2291 -+ {
109.2292 -+ // "C" locale
109.2293 -+ _M_c_locale_timepunct = _S_get_c_locale();
109.2294 -+
109.2295 -+ _M_data->_M_date_format = "%m/%d/%y";
109.2296 -+ _M_data->_M_date_era_format = "%m/%d/%y";
109.2297 -+ _M_data->_M_time_format = "%H:%M:%S";
109.2298 -+ _M_data->_M_time_era_format = "%H:%M:%S";
109.2299 -+ _M_data->_M_date_time_format = "";
109.2300 -+ _M_data->_M_date_time_era_format = "";
109.2301 -+ _M_data->_M_am = "AM";
109.2302 -+ _M_data->_M_pm = "PM";
109.2303 -+ _M_data->_M_am_pm_format = "";
109.2304 -+
109.2305 -+ // Day names, starting with "C"'s Sunday.
109.2306 -+ _M_data->_M_day1 = "Sunday";
109.2307 -+ _M_data->_M_day2 = "Monday";
109.2308 -+ _M_data->_M_day3 = "Tuesday";
109.2309 -+ _M_data->_M_day4 = "Wednesday";
109.2310 -+ _M_data->_M_day5 = "Thursday";
109.2311 -+ _M_data->_M_day6 = "Friday";
109.2312 -+ _M_data->_M_day7 = "Saturday";
109.2313 -+
109.2314 -+ // Abbreviated day names, starting with "C"'s Sun.
109.2315 -+ _M_data->_M_aday1 = "Sun";
109.2316 -+ _M_data->_M_aday2 = "Mon";
109.2317 -+ _M_data->_M_aday3 = "Tue";
109.2318 -+ _M_data->_M_aday4 = "Wed";
109.2319 -+ _M_data->_M_aday5 = "Thu";
109.2320 -+ _M_data->_M_aday6 = "Fri";
109.2321 -+ _M_data->_M_aday7 = "Sat";
109.2322 -+
109.2323 -+ // Month names, starting with "C"'s January.
109.2324 -+ _M_data->_M_month01 = "January";
109.2325 -+ _M_data->_M_month02 = "February";
109.2326 -+ _M_data->_M_month03 = "March";
109.2327 -+ _M_data->_M_month04 = "April";
109.2328 -+ _M_data->_M_month05 = "May";
109.2329 -+ _M_data->_M_month06 = "June";
109.2330 -+ _M_data->_M_month07 = "July";
109.2331 -+ _M_data->_M_month08 = "August";
109.2332 -+ _M_data->_M_month09 = "September";
109.2333 -+ _M_data->_M_month10 = "October";
109.2334 -+ _M_data->_M_month11 = "November";
109.2335 -+ _M_data->_M_month12 = "December";
109.2336 -+
109.2337 -+ // Abbreviated month names, starting with "C"'s Jan.
109.2338 -+ _M_data->_M_amonth01 = "Jan";
109.2339 -+ _M_data->_M_amonth02 = "Feb";
109.2340 -+ _M_data->_M_amonth03 = "Mar";
109.2341 -+ _M_data->_M_amonth04 = "Apr";
109.2342 -+ _M_data->_M_amonth05 = "May";
109.2343 -+ _M_data->_M_amonth06 = "Jun";
109.2344 -+ _M_data->_M_amonth07 = "Jul";
109.2345 -+ _M_data->_M_amonth08 = "Aug";
109.2346 -+ _M_data->_M_amonth09 = "Sep";
109.2347 -+ _M_data->_M_amonth10 = "Oct";
109.2348 -+ _M_data->_M_amonth11 = "Nov";
109.2349 -+ _M_data->_M_amonth12 = "Dec";
109.2350 -+ }
109.2351 -+ else
109.2352 -+ {
109.2353 -+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
109.2354 -+
109.2355 -+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
109.2356 -+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
109.2357 -+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
109.2358 -+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
109.2359 -+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
109.2360 -+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
109.2361 -+ __cloc);
109.2362 -+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
109.2363 -+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
109.2364 -+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
109.2365 -+
109.2366 -+ // Day names, starting with "C"'s Sunday.
109.2367 -+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
109.2368 -+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
109.2369 -+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
109.2370 -+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
109.2371 -+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
109.2372 -+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
109.2373 -+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
109.2374 -+
109.2375 -+ // Abbreviated day names, starting with "C"'s Sun.
109.2376 -+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
109.2377 -+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
109.2378 -+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
109.2379 -+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
109.2380 -+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
109.2381 -+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
109.2382 -+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
109.2383 -+
109.2384 -+ // Month names, starting with "C"'s January.
109.2385 -+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
109.2386 -+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
109.2387 -+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
109.2388 -+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
109.2389 -+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
109.2390 -+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
109.2391 -+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
109.2392 -+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
109.2393 -+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
109.2394 -+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
109.2395 -+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
109.2396 -+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
109.2397 -+
109.2398 -+ // Abbreviated month names, starting with "C"'s Jan.
109.2399 -+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
109.2400 -+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
109.2401 -+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
109.2402 -+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
109.2403 -+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
109.2404 -+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
109.2405 -+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
109.2406 -+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
109.2407 -+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
109.2408 -+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
109.2409 -+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
109.2410 -+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
109.2411 -+ }
109.2412 -+ }
109.2413 -+
109.2414 -+#ifdef _GLIBCXX_USE_WCHAR_T
109.2415 -+ template<>
109.2416 -+ void
109.2417 -+ __timepunct<wchar_t>::
109.2418 -+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
109.2419 -+ const tm* __tm) const
109.2420 -+ {
109.2421 -+#ifdef __UCLIBC_HAS_XLOCALE__
109.2422 -+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
109.2423 -+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
109.2424 -+ _M_c_locale_timepunct);
109.2425 -+#else
109.2426 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
109.2427 -+ setlocale(LC_ALL, _M_name_timepunct);
109.2428 -+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
109.2429 -+ setlocale(LC_ALL, __old);
109.2430 -+ free(__old);
109.2431 -+#endif
109.2432 -+ // Make sure __s is null terminated.
109.2433 -+ if (__len == 0)
109.2434 -+ __s[0] = L'\0';
109.2435 -+ }
109.2436 -+
109.2437 -+ template<>
109.2438 -+ void
109.2439 -+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
109.2440 -+ {
109.2441 -+ if (!_M_data)
109.2442 -+ _M_data = new __timepunct_cache<wchar_t>;
109.2443 -+
109.2444 -+#warning wide time stuff
109.2445 -+// if (!__cloc)
109.2446 -+ {
109.2447 -+ // "C" locale
109.2448 -+ _M_c_locale_timepunct = _S_get_c_locale();
109.2449 -+
109.2450 -+ _M_data->_M_date_format = L"%m/%d/%y";
109.2451 -+ _M_data->_M_date_era_format = L"%m/%d/%y";
109.2452 -+ _M_data->_M_time_format = L"%H:%M:%S";
109.2453 -+ _M_data->_M_time_era_format = L"%H:%M:%S";
109.2454 -+ _M_data->_M_date_time_format = L"";
109.2455 -+ _M_data->_M_date_time_era_format = L"";
109.2456 -+ _M_data->_M_am = L"AM";
109.2457 -+ _M_data->_M_pm = L"PM";
109.2458 -+ _M_data->_M_am_pm_format = L"";
109.2459 -+
109.2460 -+ // Day names, starting with "C"'s Sunday.
109.2461 -+ _M_data->_M_day1 = L"Sunday";
109.2462 -+ _M_data->_M_day2 = L"Monday";
109.2463 -+ _M_data->_M_day3 = L"Tuesday";
109.2464 -+ _M_data->_M_day4 = L"Wednesday";
109.2465 -+ _M_data->_M_day5 = L"Thursday";
109.2466 -+ _M_data->_M_day6 = L"Friday";
109.2467 -+ _M_data->_M_day7 = L"Saturday";
109.2468 -+
109.2469 -+ // Abbreviated day names, starting with "C"'s Sun.
109.2470 -+ _M_data->_M_aday1 = L"Sun";
109.2471 -+ _M_data->_M_aday2 = L"Mon";
109.2472 -+ _M_data->_M_aday3 = L"Tue";
109.2473 -+ _M_data->_M_aday4 = L"Wed";
109.2474 -+ _M_data->_M_aday5 = L"Thu";
109.2475 -+ _M_data->_M_aday6 = L"Fri";
109.2476 -+ _M_data->_M_aday7 = L"Sat";
109.2477 -+
109.2478 -+ // Month names, starting with "C"'s January.
109.2479 -+ _M_data->_M_month01 = L"January";
109.2480 -+ _M_data->_M_month02 = L"February";
109.2481 -+ _M_data->_M_month03 = L"March";
109.2482 -+ _M_data->_M_month04 = L"April";
109.2483 -+ _M_data->_M_month05 = L"May";
109.2484 -+ _M_data->_M_month06 = L"June";
109.2485 -+ _M_data->_M_month07 = L"July";
109.2486 -+ _M_data->_M_month08 = L"August";
109.2487 -+ _M_data->_M_month09 = L"September";
109.2488 -+ _M_data->_M_month10 = L"October";
109.2489 -+ _M_data->_M_month11 = L"November";
109.2490 -+ _M_data->_M_month12 = L"December";
109.2491 -+
109.2492 -+ // Abbreviated month names, starting with "C"'s Jan.
109.2493 -+ _M_data->_M_amonth01 = L"Jan";
109.2494 -+ _M_data->_M_amonth02 = L"Feb";
109.2495 -+ _M_data->_M_amonth03 = L"Mar";
109.2496 -+ _M_data->_M_amonth04 = L"Apr";
109.2497 -+ _M_data->_M_amonth05 = L"May";
109.2498 -+ _M_data->_M_amonth06 = L"Jun";
109.2499 -+ _M_data->_M_amonth07 = L"Jul";
109.2500 -+ _M_data->_M_amonth08 = L"Aug";
109.2501 -+ _M_data->_M_amonth09 = L"Sep";
109.2502 -+ _M_data->_M_amonth10 = L"Oct";
109.2503 -+ _M_data->_M_amonth11 = L"Nov";
109.2504 -+ _M_data->_M_amonth12 = L"Dec";
109.2505 -+ }
109.2506 -+#if 0
109.2507 -+ else
109.2508 -+ {
109.2509 -+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
109.2510 -+
109.2511 -+ union { char *__s; wchar_t *__w; } __u;
109.2512 -+
109.2513 -+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
109.2514 -+ _M_data->_M_date_format = __u.__w;
109.2515 -+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
109.2516 -+ _M_data->_M_date_era_format = __u.__w;
109.2517 -+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
109.2518 -+ _M_data->_M_time_format = __u.__w;
109.2519 -+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
109.2520 -+ _M_data->_M_time_era_format = __u.__w;
109.2521 -+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
109.2522 -+ _M_data->_M_date_time_format = __u.__w;
109.2523 -+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
109.2524 -+ _M_data->_M_date_time_era_format = __u.__w;
109.2525 -+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
109.2526 -+ _M_data->_M_am = __u.__w;
109.2527 -+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
109.2528 -+ _M_data->_M_pm = __u.__w;
109.2529 -+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
109.2530 -+ _M_data->_M_am_pm_format = __u.__w;
109.2531 -+
109.2532 -+ // Day names, starting with "C"'s Sunday.
109.2533 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
109.2534 -+ _M_data->_M_day1 = __u.__w;
109.2535 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
109.2536 -+ _M_data->_M_day2 = __u.__w;
109.2537 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
109.2538 -+ _M_data->_M_day3 = __u.__w;
109.2539 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
109.2540 -+ _M_data->_M_day4 = __u.__w;
109.2541 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
109.2542 -+ _M_data->_M_day5 = __u.__w;
109.2543 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
109.2544 -+ _M_data->_M_day6 = __u.__w;
109.2545 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
109.2546 -+ _M_data->_M_day7 = __u.__w;
109.2547 -+
109.2548 -+ // Abbreviated day names, starting with "C"'s Sun.
109.2549 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
109.2550 -+ _M_data->_M_aday1 = __u.__w;
109.2551 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
109.2552 -+ _M_data->_M_aday2 = __u.__w;
109.2553 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
109.2554 -+ _M_data->_M_aday3 = __u.__w;
109.2555 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
109.2556 -+ _M_data->_M_aday4 = __u.__w;
109.2557 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
109.2558 -+ _M_data->_M_aday5 = __u.__w;
109.2559 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
109.2560 -+ _M_data->_M_aday6 = __u.__w;
109.2561 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
109.2562 -+ _M_data->_M_aday7 = __u.__w;
109.2563 -+
109.2564 -+ // Month names, starting with "C"'s January.
109.2565 -+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
109.2566 -+ _M_data->_M_month01 = __u.__w;
109.2567 -+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
109.2568 -+ _M_data->_M_month02 = __u.__w;
109.2569 -+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
109.2570 -+ _M_data->_M_month03 = __u.__w;
109.2571 -+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
109.2572 -+ _M_data->_M_month04 = __u.__w;
109.2573 -+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
109.2574 -+ _M_data->_M_month05 = __u.__w;
109.2575 -+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
109.2576 -+ _M_data->_M_month06 = __u.__w;
109.2577 -+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
109.2578 -+ _M_data->_M_month07 = __u.__w;
109.2579 -+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
109.2580 -+ _M_data->_M_month08 = __u.__w;
109.2581 -+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
109.2582 -+ _M_data->_M_month09 = __u.__w;
109.2583 -+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
109.2584 -+ _M_data->_M_month10 = __u.__w;
109.2585 -+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
109.2586 -+ _M_data->_M_month11 = __u.__w;
109.2587 -+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
109.2588 -+ _M_data->_M_month12 = __u.__w;
109.2589 -+
109.2590 -+ // Abbreviated month names, starting with "C"'s Jan.
109.2591 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
109.2592 -+ _M_data->_M_amonth01 = __u.__w;
109.2593 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
109.2594 -+ _M_data->_M_amonth02 = __u.__w;
109.2595 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
109.2596 -+ _M_data->_M_amonth03 = __u.__w;
109.2597 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
109.2598 -+ _M_data->_M_amonth04 = __u.__w;
109.2599 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
109.2600 -+ _M_data->_M_amonth05 = __u.__w;
109.2601 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
109.2602 -+ _M_data->_M_amonth06 = __u.__w;
109.2603 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
109.2604 -+ _M_data->_M_amonth07 = __u.__w;
109.2605 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
109.2606 -+ _M_data->_M_amonth08 = __u.__w;
109.2607 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
109.2608 -+ _M_data->_M_amonth09 = __u.__w;
109.2609 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
109.2610 -+ _M_data->_M_amonth10 = __u.__w;
109.2611 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
109.2612 -+ _M_data->_M_amonth11 = __u.__w;
109.2613 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
109.2614 -+ _M_data->_M_amonth12 = __u.__w;
109.2615 -+ }
109.2616 -+#endif // 0
109.2617 -+ }
109.2618 -+#endif
109.2619 -+}
109.2620 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h
109.2621 ---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
109.2622 -+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h 2004-05-22 18:46:31.000000000 -0500
109.2623 -@@ -0,0 +1,68 @@
109.2624 -+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
109.2625 -+
109.2626 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
109.2627 -+//
109.2628 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2629 -+// software; you can redistribute it and/or modify it under the
109.2630 -+// terms of the GNU General Public License as published by the
109.2631 -+// Free Software Foundation; either version 2, or (at your option)
109.2632 -+// any later version.
109.2633 -+
109.2634 -+// This library is distributed in the hope that it will be useful,
109.2635 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2636 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2637 -+// GNU General Public License for more details.
109.2638 -+
109.2639 -+// You should have received a copy of the GNU General Public License along
109.2640 -+// with this library; see the file COPYING. If not, write to the Free
109.2641 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2642 -+// USA.
109.2643 -+
109.2644 -+// As a special exception, you may use this file as part of a free software
109.2645 -+// library without restriction. Specifically, if other files instantiate
109.2646 -+// templates or use macros or inline functions from this file, or you compile
109.2647 -+// this file and link it with other files to produce an executable, this
109.2648 -+// file does not by itself cause the resulting executable to be covered by
109.2649 -+// the GNU General Public License. This exception does not however
109.2650 -+// invalidate any other reasons why the executable file might be covered by
109.2651 -+// the GNU General Public License.
109.2652 -+
109.2653 -+//
109.2654 -+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
109.2655 -+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
109.2656 -+//
109.2657 -+
109.2658 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
109.2659 -+
109.2660 -+ template<typename _CharT>
109.2661 -+ __timepunct<_CharT>::__timepunct(size_t __refs)
109.2662 -+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
109.2663 -+ _M_name_timepunct(_S_get_c_name())
109.2664 -+ { _M_initialize_timepunct(); }
109.2665 -+
109.2666 -+ template<typename _CharT>
109.2667 -+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
109.2668 -+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
109.2669 -+ _M_name_timepunct(_S_get_c_name())
109.2670 -+ { _M_initialize_timepunct(); }
109.2671 -+
109.2672 -+ template<typename _CharT>
109.2673 -+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
109.2674 -+ size_t __refs)
109.2675 -+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
109.2676 -+ _M_name_timepunct(__s)
109.2677 -+ {
109.2678 -+ char* __tmp = new char[std::strlen(__s) + 1];
109.2679 -+ std::strcpy(__tmp, __s);
109.2680 -+ _M_name_timepunct = __tmp;
109.2681 -+ _M_initialize_timepunct(__cloc);
109.2682 -+ }
109.2683 -+
109.2684 -+ template<typename _CharT>
109.2685 -+ __timepunct<_CharT>::~__timepunct()
109.2686 -+ {
109.2687 -+ if (_M_name_timepunct != _S_get_c_name())
109.2688 -+ delete [] _M_name_timepunct;
109.2689 -+ delete _M_data;
109.2690 -+ _S_destroy_c_locale(_M_c_locale_timepunct);
109.2691 -+ }
109.2692 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h
109.2693 ---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
109.2694 -+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h 2005-04-28 01:10:27.000000000 -0500
109.2695 -@@ -0,0 +1,64 @@
109.2696 -+// Locale support -*- C++ -*-
109.2697 -+
109.2698 -+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
109.2699 -+// Free Software Foundation, Inc.
109.2700 -+//
109.2701 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2702 -+// software; you can redistribute it and/or modify it under the
109.2703 -+// terms of the GNU General Public License as published by the
109.2704 -+// Free Software Foundation; either version 2, or (at your option)
109.2705 -+// any later version.
109.2706 -+
109.2707 -+// This library is distributed in the hope that it will be useful,
109.2708 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2709 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2710 -+// GNU General Public License for more details.
109.2711 -+
109.2712 -+// You should have received a copy of the GNU General Public License along
109.2713 -+// with this library; see the file COPYING. If not, write to the Free
109.2714 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2715 -+// USA.
109.2716 -+
109.2717 -+// As a special exception, you may use this file as part of a free software
109.2718 -+// library without restriction. Specifically, if other files instantiate
109.2719 -+// templates or use macros or inline functions from this file, or you compile
109.2720 -+// this file and link it with other files to produce an executable, this
109.2721 -+// file does not by itself cause the resulting executable to be covered by
109.2722 -+// the GNU General Public License. This exception does not however
109.2723 -+// invalidate any other reasons why the executable file might be covered by
109.2724 -+// the GNU General Public License.
109.2725 -+
109.2726 -+//
109.2727 -+// ISO C++ 14882: 22.1 Locales
109.2728 -+//
109.2729 -+
109.2730 -+/** @file ctype_base.h
109.2731 -+ * This is an internal header file, included by other library headers.
109.2732 -+ * You should not attempt to use it directly.
109.2733 -+ */
109.2734 -+
109.2735 -+// Information as gleaned from /usr/include/ctype.h
109.2736 -+
109.2737 -+ /// @brief Base class for ctype.
109.2738 -+ struct ctype_base
109.2739 -+ {
109.2740 -+ // Note: In uClibc, the following two types depend on configuration.
109.2741 -+
109.2742 -+ // Non-standard typedefs.
109.2743 -+ typedef const __ctype_touplow_t* __to_type;
109.2744 -+
109.2745 -+ // NB: Offsets into ctype<char>::_M_table force a particular size
109.2746 -+ // on the mask type. Because of this, we don't use an enum.
109.2747 -+ typedef __ctype_mask_t mask;
109.2748 -+ static const mask upper = _ISupper;
109.2749 -+ static const mask lower = _ISlower;
109.2750 -+ static const mask alpha = _ISalpha;
109.2751 -+ static const mask digit = _ISdigit;
109.2752 -+ static const mask xdigit = _ISxdigit;
109.2753 -+ static const mask space = _ISspace;
109.2754 -+ static const mask print = _ISprint;
109.2755 -+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
109.2756 -+ static const mask cntrl = _IScntrl;
109.2757 -+ static const mask punct = _ISpunct;
109.2758 -+ static const mask alnum = _ISalpha | _ISdigit;
109.2759 -+ };
109.2760 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
109.2761 ---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
109.2762 -+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h 2002-06-24 00:49:19.000000000 -0500
109.2763 -@@ -0,0 +1,69 @@
109.2764 -+// Locale support -*- C++ -*-
109.2765 -+
109.2766 -+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
109.2767 -+//
109.2768 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2769 -+// software; you can redistribute it and/or modify it under the
109.2770 -+// terms of the GNU General Public License as published by the
109.2771 -+// Free Software Foundation; either version 2, or (at your option)
109.2772 -+// any later version.
109.2773 -+
109.2774 -+// This library is distributed in the hope that it will be useful,
109.2775 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2776 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2777 -+// GNU General Public License for more details.
109.2778 -+
109.2779 -+// You should have received a copy of the GNU General Public License along
109.2780 -+// with this library; see the file COPYING. If not, write to the Free
109.2781 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2782 -+// USA.
109.2783 -+
109.2784 -+// As a special exception, you may use this file as part of a free software
109.2785 -+// library without restriction. Specifically, if other files instantiate
109.2786 -+// templates or use macros or inline functions from this file, or you compile
109.2787 -+// this file and link it with other files to produce an executable, this
109.2788 -+// file does not by itself cause the resulting executable to be covered by
109.2789 -+// the GNU General Public License. This exception does not however
109.2790 -+// invalidate any other reasons why the executable file might be covered by
109.2791 -+// the GNU General Public License.
109.2792 -+
109.2793 -+//
109.2794 -+// ISO C++ 14882: 22.1 Locales
109.2795 -+//
109.2796 -+
109.2797 -+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
109.2798 -+// functions go in ctype.cc
109.2799 -+
109.2800 -+ bool
109.2801 -+ ctype<char>::
109.2802 -+ is(mask __m, char __c) const
109.2803 -+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
109.2804 -+
109.2805 -+ const char*
109.2806 -+ ctype<char>::
109.2807 -+ is(const char* __low, const char* __high, mask* __vec) const
109.2808 -+ {
109.2809 -+ while (__low < __high)
109.2810 -+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
109.2811 -+ return __high;
109.2812 -+ }
109.2813 -+
109.2814 -+ const char*
109.2815 -+ ctype<char>::
109.2816 -+ scan_is(mask __m, const char* __low, const char* __high) const
109.2817 -+ {
109.2818 -+ while (__low < __high
109.2819 -+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
109.2820 -+ ++__low;
109.2821 -+ return __low;
109.2822 -+ }
109.2823 -+
109.2824 -+ const char*
109.2825 -+ ctype<char>::
109.2826 -+ scan_not(mask __m, const char* __low, const char* __high) const
109.2827 -+ {
109.2828 -+ while (__low < __high
109.2829 -+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
109.2830 -+ ++__low;
109.2831 -+ return __low;
109.2832 -+ }
109.2833 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
109.2834 ---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
109.2835 -+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2005-04-28 01:10:27.000000000 -0500
109.2836 -@@ -0,0 +1,92 @@
109.2837 -+// Locale support -*- C++ -*-
109.2838 -+
109.2839 -+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
109.2840 -+// Free Software Foundation, Inc.
109.2841 -+//
109.2842 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2843 -+// software; you can redistribute it and/or modify it under the
109.2844 -+// terms of the GNU General Public License as published by the
109.2845 -+// Free Software Foundation; either version 2, or (at your option)
109.2846 -+// any later version.
109.2847 -+
109.2848 -+// This library is distributed in the hope that it will be useful,
109.2849 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2850 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2851 -+// GNU General Public License for more details.
109.2852 -+
109.2853 -+// You should have received a copy of the GNU General Public License along
109.2854 -+// with this library; see the file COPYING. If not, write to the Free
109.2855 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2856 -+// USA.
109.2857 -+
109.2858 -+// As a special exception, you may use this file as part of a free software
109.2859 -+// library without restriction. Specifically, if other files instantiate
109.2860 -+// templates or use macros or inline functions from this file, or you compile
109.2861 -+// this file and link it with other files to produce an executable, this
109.2862 -+// file does not by itself cause the resulting executable to be covered by
109.2863 -+// the GNU General Public License. This exception does not however
109.2864 -+// invalidate any other reasons why the executable file might be covered by
109.2865 -+// the GNU General Public License.
109.2866 -+
109.2867 -+//
109.2868 -+// ISO C++ 14882: 22.1 Locales
109.2869 -+//
109.2870 -+
109.2871 -+// Information as gleaned from /usr/include/ctype.h
109.2872 -+
109.2873 -+ const ctype_base::mask*
109.2874 -+ ctype<char>::classic_table() throw()
109.2875 -+ { return __C_ctype_b; }
109.2876 -+
109.2877 -+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
109.2878 -+ size_t __refs)
109.2879 -+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
109.2880 -+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
109.2881 -+ {
109.2882 -+ _M_toupper = __C_ctype_toupper;
109.2883 -+ _M_tolower = __C_ctype_tolower;
109.2884 -+ _M_table = __table ? __table : __C_ctype_b;
109.2885 -+ memset(_M_widen, 0, sizeof(_M_widen));
109.2886 -+ memset(_M_narrow, 0, sizeof(_M_narrow));
109.2887 -+ }
109.2888 -+
109.2889 -+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
109.2890 -+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
109.2891 -+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
109.2892 -+ {
109.2893 -+ _M_toupper = __C_ctype_toupper;
109.2894 -+ _M_tolower = __C_ctype_tolower;
109.2895 -+ _M_table = __table ? __table : __C_ctype_b;
109.2896 -+ memset(_M_widen, 0, sizeof(_M_widen));
109.2897 -+ memset(_M_narrow, 0, sizeof(_M_narrow));
109.2898 -+ }
109.2899 -+
109.2900 -+ char
109.2901 -+ ctype<char>::do_toupper(char __c) const
109.2902 -+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
109.2903 -+
109.2904 -+ const char*
109.2905 -+ ctype<char>::do_toupper(char* __low, const char* __high) const
109.2906 -+ {
109.2907 -+ while (__low < __high)
109.2908 -+ {
109.2909 -+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
109.2910 -+ ++__low;
109.2911 -+ }
109.2912 -+ return __high;
109.2913 -+ }
109.2914 -+
109.2915 -+ char
109.2916 -+ ctype<char>::do_tolower(char __c) const
109.2917 -+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
109.2918 -+
109.2919 -+ const char*
109.2920 -+ ctype<char>::do_tolower(char* __low, const char* __high) const
109.2921 -+ {
109.2922 -+ while (__low < __high)
109.2923 -+ {
109.2924 -+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
109.2925 -+ ++__low;
109.2926 -+ }
109.2927 -+ return __high;
109.2928 -+ }
109.2929 -diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h
109.2930 ---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
109.2931 -+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h 2005-04-28 01:10:27.000000000 -0500
109.2932 -@@ -0,0 +1,44 @@
109.2933 -+// Specific definitions for GNU/Linux -*- C++ -*-
109.2934 -+
109.2935 -+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
109.2936 -+//
109.2937 -+// This file is part of the GNU ISO C++ Library. This library is free
109.2938 -+// software; you can redistribute it and/or modify it under the
109.2939 -+// terms of the GNU General Public License as published by the
109.2940 -+// Free Software Foundation; either version 2, or (at your option)
109.2941 -+// any later version.
109.2942 -+
109.2943 -+// This library is distributed in the hope that it will be useful,
109.2944 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
109.2945 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
109.2946 -+// GNU General Public License for more details.
109.2947 -+
109.2948 -+// You should have received a copy of the GNU General Public License along
109.2949 -+// with this library; see the file COPYING. If not, write to the Free
109.2950 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
109.2951 -+// USA.
109.2952 -+
109.2953 -+// As a special exception, you may use this file as part of a free software
109.2954 -+// library without restriction. Specifically, if other files instantiate
109.2955 -+// templates or use macros or inline functions from this file, or you compile
109.2956 -+// this file and link it with other files to produce an executable, this
109.2957 -+// file does not by itself cause the resulting executable to be covered by
109.2958 -+// the GNU General Public License. This exception does not however
109.2959 -+// invalidate any other reasons why the executable file might be covered by
109.2960 -+// the GNU General Public License.
109.2961 -+
109.2962 -+#ifndef _GLIBCXX_OS_DEFINES
109.2963 -+#define _GLIBCXX_OS_DEFINES 1
109.2964 -+
109.2965 -+// System-specific #define, typedefs, corrections, etc, go here. This
109.2966 -+// file will come before all others.
109.2967 -+
109.2968 -+// This keeps isanum, et al from being propagated as macros.
109.2969 -+#define __NO_CTYPE 1
109.2970 -+
109.2971 -+#include <features.h>
109.2972 -+
109.2973 -+// We must not see the optimized string functions GNU libc defines.
109.2974 -+#define __NO_STRING_INLINES
109.2975 -+
109.2976 -+#endif
109.2977 -diff -urN gcc-4.0.0-100/libstdc++-v3/configure gcc-4.0.0/libstdc++-v3/configure
109.2978 ---- gcc-4.0.0-100/libstdc++-v3/configure 2005-04-30 13:06:53.683055232 -0500
109.2979 -+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 12:24:24.000000000 -0500
109.2980 -@@ -3998,6 +3998,11 @@
109.2981 - lt_cv_deplibs_check_method=pass_all
109.2982 - ;;
109.2983 -
109.2984 -+linux-uclibc*)
109.2985 -+ lt_cv_deplibs_check_method=pass_all
109.2986 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
109.2987 -+ ;;
109.2988 -+
109.2989 - netbsd* | knetbsd*-gnu)
109.2990 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
109.2991 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
109.2992 -@@ -5672,7 +5677,7 @@
109.2993 - enableval="$enable_clocale"
109.2994 -
109.2995 - case "$enableval" in
109.2996 -- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
109.2997 -+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
109.2998 - *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
109.2999 - echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
109.3000 - { (exit 1); exit 1; }; } ;;
109.3001 -@@ -5697,6 +5702,9 @@
109.3002 - # Default to "generic".
109.3003 - if test $enable_clocale_flag = auto; then
109.3004 - case ${target_os} in
109.3005 -+ linux-uclibc*)
109.3006 -+ enable_clocale_flag=uclibc
109.3007 -+ ;;
109.3008 - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
109.3009 - cat >conftest.$ac_ext <<_ACEOF
109.3010 - /* confdefs.h. */
109.3011 -@@ -5927,6 +5935,76 @@
109.3012 - CTIME_CC=config/locale/generic/time_members.cc
109.3013 - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
109.3014 - ;;
109.3015 -+ uclibc)
109.3016 -+ echo "$as_me:$LINENO: result: uclibc" >&5
109.3017 -+echo "${ECHO_T}uclibc" >&6
109.3018 -+
109.3019 -+ # Declare intention to use gettext, and add support for specific
109.3020 -+ # languages.
109.3021 -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
109.3022 -+ ALL_LINGUAS="de fr"
109.3023 -+
109.3024 -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
109.3025 -+ # Extract the first word of "msgfmt", so it can be a program name with args.
109.3026 -+set dummy msgfmt; ac_word=$2
109.3027 -+echo "$as_me:$LINENO: checking for $ac_word" >&5
109.3028 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
109.3029 -+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
109.3030 -+ echo $ECHO_N "(cached) $ECHO_C" >&6
109.3031 -+else
109.3032 -+ if test -n "$check_msgfmt"; then
109.3033 -+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
109.3034 -+else
109.3035 -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
109.3036 -+for as_dir in $PATH
109.3037 -+do
109.3038 -+ IFS=$as_save_IFS
109.3039 -+ test -z "$as_dir" && as_dir=.
109.3040 -+ for ac_exec_ext in '' $ac_executable_extensions; do
109.3041 -+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
109.3042 -+ ac_cv_prog_check_msgfmt="yes"
109.3043 -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
109.3044 -+ break 2
109.3045 -+ fi
109.3046 -+done
109.3047 -+done
109.3048 -+
109.3049 -+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
109.3050 -+fi
109.3051 -+fi
109.3052 -+check_msgfmt=$ac_cv_prog_check_msgfmt
109.3053 -+if test -n "$check_msgfmt"; then
109.3054 -+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
109.3055 -+echo "${ECHO_T}$check_msgfmt" >&6
109.3056 -+else
109.3057 -+ echo "$as_me:$LINENO: result: no" >&5
109.3058 -+echo "${ECHO_T}no" >&6
109.3059 -+fi
109.3060 -+
109.3061 -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
109.3062 -+ USE_NLS=yes
109.3063 -+ fi
109.3064 -+ # Export the build objects.
109.3065 -+ for ling in $ALL_LINGUAS; do \
109.3066 -+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
109.3067 -+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
109.3068 -+ done
109.3069 -+
109.3070 -+
109.3071 -+
109.3072 -+ CLOCALE_H=config/locale/uclibc/c_locale.h
109.3073 -+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
109.3074 -+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
109.3075 -+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
109.3076 -+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
109.3077 -+ CMESSAGES_H=config/locale/uclibc/messages_members.h
109.3078 -+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
109.3079 -+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
109.3080 -+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
109.3081 -+ CTIME_H=config/locale/uclibc/time_members.h
109.3082 -+ CTIME_CC=config/locale/uclibc/time_members.cc
109.3083 -+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
109.3084 -+ ;;
109.3085 - esac
109.3086 -
109.3087 - # This is where the testsuite looks for locale catalogs, using the
109.3088 -diff -urN gcc-4.0.0-100/libstdc++-v3/configure.host gcc-4.0.0/libstdc++-v3/configure.host
109.3089 ---- gcc-4.0.0-100/libstdc++-v3/configure.host 2005-04-30 13:06:53.688054472 -0500
109.3090 -+++ gcc-4.0.0/libstdc++-v3/configure.host 2005-04-28 20:20:32.000000000 -0500
109.3091 -@@ -249,6 +249,12 @@
109.3092 - ;;
109.3093 - esac
109.3094 -
109.3095 -+# Override for uClibc since linux-uclibc gets mishandled above.
109.3096 -+case "${host_os}" in
109.3097 -+ *-uclibc*)
109.3098 -+ os_include_dir="os/uclibc"
109.3099 -+ ;;
109.3100 -+esac
109.3101 -
109.3102 - # Set any OS-dependent and CPU-dependent bits.
109.3103 - # THIS TABLE IS SORTED. KEEP IT THAT WAY.
109.3104 -diff -urN gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 gcc-4.0.0/libstdc++-v3/crossconfig.m4
109.3105 ---- gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 2005-04-30 13:06:53.689054320 -0500
109.3106 -+++ gcc-4.0.0/libstdc++-v3/crossconfig.m4 2005-04-28 20:27:15.000000000 -0500
109.3107 -@@ -142,6 +142,98 @@
109.3108 - ;;
109.3109 - esac
109.3110 - ;;
109.3111 -+ *-uclibc*)
109.3112 -+# Temporary hack until we implement the float versions of the libm funcs
109.3113 -+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
109.3114 -+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
109.3115 -+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
109.3116 -+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
109.3117 -+ AC_SUBST(SECTION_FLAGS)
109.3118 -+ GLIBCXX_CHECK_LINKER_FEATURES
109.3119 -+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
109.3120 -+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
109.3121 -+
109.3122 -+ # For LFS.
109.3123 -+ AC_DEFINE(HAVE_INT64_T)
109.3124 -+ case "$target" in
109.3125 -+ *-uclinux*)
109.3126 -+ # Don't enable LFS with uClinux
109.3127 -+ ;;
109.3128 -+ *)
109.3129 -+ AC_DEFINE(_GLIBCXX_USE_LFS)
109.3130 -+ esac
109.3131 -+
109.3132 -+ # For showmanyc_helper().
109.3133 -+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
109.3134 -+ GLIBCXX_CHECK_POLL
109.3135 -+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
109.3136 -+
109.3137 -+ # For xsputn_2().
109.3138 -+ AC_CHECK_HEADERS(sys/uio.h)
109.3139 -+ GLIBCXX_CHECK_WRITEV
109.3140 -+
109.3141 -+# AC_DEFINE(HAVE_ACOSF)
109.3142 -+# AC_DEFINE(HAVE_ASINF)
109.3143 -+# AC_DEFINE(HAVE_ATANF)
109.3144 -+# AC_DEFINE(HAVE_ATAN2F)
109.3145 -+ AC_DEFINE(HAVE_CEILF)
109.3146 -+ AC_DEFINE(HAVE_COPYSIGN)
109.3147 -+# AC_DEFINE(HAVE_COPYSIGNF)
109.3148 -+# AC_DEFINE(HAVE_COSF)
109.3149 -+# AC_DEFINE(HAVE_COSHF)
109.3150 -+# AC_DEFINE(HAVE_EXPF)
109.3151 -+# AC_DEFINE(HAVE_FABSF)
109.3152 -+ AC_DEFINE(HAVE_FINITE)
109.3153 -+ AC_DEFINE(HAVE_FINITEF)
109.3154 -+ AC_DEFINE(HAVE_FLOORF)
109.3155 -+# AC_DEFINE(HAVE_FMODF)
109.3156 -+# AC_DEFINE(HAVE_FREXPF)
109.3157 -+ AC_DEFINE(HAVE_HYPOT)
109.3158 -+# AC_DEFINE(HAVE_HYPOTF)
109.3159 -+ AC_DEFINE(HAVE_ISINF)
109.3160 -+ AC_DEFINE(HAVE_ISINFF)
109.3161 -+ AC_DEFINE(HAVE_ISNAN)
109.3162 -+ AC_DEFINE(HAVE_ISNANF)
109.3163 -+# AC_DEFINE(HAVE_LOGF)
109.3164 -+# AC_DEFINE(HAVE_LOG10F)
109.3165 -+# AC_DEFINE(HAVE_MODFF)
109.3166 -+# AC_DEFINE(HAVE_SINF)
109.3167 -+# AC_DEFINE(HAVE_SINHF)
109.3168 -+# AC_DEFINE(HAVE_SINCOS)
109.3169 -+# AC_DEFINE(HAVE_SINCOSF)
109.3170 -+ AC_DEFINE(HAVE_SQRTF)
109.3171 -+# AC_DEFINE(HAVE_TANF)
109.3172 -+# AC_DEFINE(HAVE_TANHF)
109.3173 -+ if test x"long_double_math_on_this_cpu" = x"yes"; then
109.3174 -+# AC_DEFINE(HAVE_ACOSL)
109.3175 -+# AC_DEFINE(HAVE_ASINL)
109.3176 -+# AC_DEFINE(HAVE_ATANL)
109.3177 -+# AC_DEFINE(HAVE_ATAN2L)
109.3178 -+# AC_DEFINE(HAVE_CEILL)
109.3179 -+# AC_DEFINE(HAVE_COPYSIGNL)
109.3180 -+# AC_DEFINE(HAVE_COSL)
109.3181 -+# AC_DEFINE(HAVE_COSHL)
109.3182 -+# AC_DEFINE(HAVE_EXPL)
109.3183 -+# AC_DEFINE(HAVE_FABSL)
109.3184 -+# AC_DEFINE(HAVE_FINITEL)
109.3185 -+# AC_DEFINE(HAVE_FLOORL)
109.3186 -+# AC_DEFINE(HAVE_FMODL)
109.3187 -+# AC_DEFINE(HAVE_FREXPL)
109.3188 -+# AC_DEFINE(HAVE_HYPOTL)
109.3189 -+# AC_DEFINE(HAVE_ISINFL)
109.3190 -+# AC_DEFINE(HAVE_ISNANL)
109.3191 -+# AC_DEFINE(HAVE_LOGL)
109.3192 -+# AC_DEFINE(HAVE_LOG10L)
109.3193 -+# AC_DEFINE(HAVE_MODFL)
109.3194 -+# AC_DEFINE(HAVE_POWL)
109.3195 -+# AC_DEFINE(HAVE_SINL)
109.3196 -+# AC_DEFINE(HAVE_SINHL)
109.3197 -+# AC_DEFINE(HAVE_SINCOSL)
109.3198 -+# AC_DEFINE(HAVE_SQRTL)
109.3199 -+# AC_DEFINE(HAVE_TANL)
109.3200 -+# AC_DEFINE(HAVE_TANHL)
109.3201 -+ fi
109.3202 -+ ;;
109.3203 - *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
109.3204 - AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
109.3205 - machine/endian.h machine/param.h sys/machine.h sys/types.h \
109.3206 -@@ -156,7 +248,7 @@
109.3207 - AC_DEFINE(HAVE_INT64_T)
109.3208 - case "$target" in
109.3209 - *-uclinux*)
109.3210 -- # Don't enable LFS with uClibc
109.3211 -+ # Don't enable LFS with uClinux
109.3212 - ;;
109.3213 - *)
109.3214 - AC_DEFINE(_GLIBCXX_USE_LFS)
109.3215 -diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h
109.3216 ---- gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-30 13:06:53.690054168 -0500
109.3217 -+++ gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-28 20:15:56.000000000 -0500
109.3218 -@@ -101,7 +101,9 @@
109.3219 - using std::wmemcpy;
109.3220 - using std::wmemmove;
109.3221 - using std::wmemset;
109.3222 -+#if _GLIBCXX_HAVE_WCSFTIME
109.3223 - using std::wcsftime;
109.3224 -+#endif
109.3225 -
109.3226 - #if _GLIBCXX_USE_C99
109.3227 - using std::wcstold;
109.3228 -diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h
109.3229 ---- gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-30 13:06:53.691054016 -0500
109.3230 -+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-28 20:15:56.000000000 -0500
109.3231 -@@ -179,7 +179,9 @@
109.3232 - using ::wcscoll;
109.3233 - using ::wcscpy;
109.3234 - using ::wcscspn;
109.3235 -+#if _GLIBCXX_HAVE_WCSFTIME
109.3236 - using ::wcsftime;
109.3237 -+#endif
109.3238 - using ::wcslen;
109.3239 - using ::wcsncat;
109.3240 - using ::wcsncmp;
110.1 --- a/patches/gcc/4.0.3/120-libstdc++-pic.patch Wed Oct 28 12:03:38 2009 +0100
110.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
110.3 @@ -1,45 +0,0 @@
110.4 ---- gcc-4.0.0/libstdc++-v3/src/Makefile.am
110.5 -+++ gcc-4.0.0/libstdc++-v3/src/Makefile.am
110.6 -@@ -214,6 +214,10 @@
110.7 - $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
110.8 -
110.9 -
110.10 -+install-exec-local:
110.11 -+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
110.12 -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
110.13 -+
110.14 - # Added bits to build debug library.
110.15 - if GLIBCXX_BUILD_DEBUG
110.16 - all-local: build_debug
110.17 ---- gcc-4.0.0/libstdc++-v3/src/Makefile.in
110.18 -+++ gcc-4.0.0/libstdc++-v3/src/Makefile.in
110.19 -@@ -625,7 +625,7 @@
110.20 -
110.21 - install-data-am: install-data-local
110.22 -
110.23 --install-exec-am: install-toolexeclibLTLIBRARIES
110.24 -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
110.25 -
110.26 - install-info: install-info-am
110.27 -
110.28 -@@ -664,7 +664,7 @@
110.29 - maintainer-clean-generic mostlyclean mostlyclean-compile \
110.30 - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
110.31 - tags uninstall uninstall-am uninstall-info-am \
110.32 -- uninstall-toolexeclibLTLIBRARIES
110.33 -+ uninstall-toolexeclibLTLIBRARIES install-exec-local
110.34 -
110.35 - @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
110.36 - @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
110.37 -@@ -743,6 +743,11 @@
110.38 - install_debug:
110.39 - (cd ${debugdir} && $(MAKE) \
110.40 - toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
110.41 -+
110.42 -+install-exec-local:
110.43 -+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
110.44 -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
110.45 -+
110.46 - # Tell versions [3.59,3.63) of GNU make to not export all variables.
110.47 - # Otherwise a system limit (for SysV at least) may be exceeded.
110.48 - .NOEXPORT:
111.1 --- a/patches/gcc/4.0.3/130-missing-execinfo_h.patch Wed Oct 28 12:03:38 2009 +0100
111.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
111.3 @@ -1,11 +0,0 @@
111.4 ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
111.5 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
111.6 -@@ -500,7 +500,7 @@
111.7 - #ifdef __linux__
111.8 - # include <features.h>
111.9 - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
111.10 -- && !defined(__ia64__)
111.11 -+ && !defined(__ia64__) && !defined(__UCLIBC__)
111.12 - # ifndef GC_HAVE_BUILTIN_BACKTRACE
111.13 - # define GC_HAVE_BUILTIN_BACKTRACE
111.14 - # endif
112.1 --- a/patches/gcc/4.0.3/140-c99-snprintf.patch Wed Oct 28 12:03:38 2009 +0100
112.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
112.3 @@ -1,11 +0,0 @@
112.4 ---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
112.5 -+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
112.6 -@@ -142,7 +142,7 @@
112.7 - using ::vsprintf;
112.8 - }
112.9 -
112.10 --#if _GLIBCXX_USE_C99
112.11 -+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
112.12 -
112.13 - #undef snprintf
112.14 - #undef vfscanf
113.1 --- a/patches/gcc/4.0.3/150-c99-complex-ugly-hack.patch Wed Oct 28 12:03:38 2009 +0100
113.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
113.3 @@ -1,12 +0,0 @@
113.4 ---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
113.5 -+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
113.6 -@@ -7194,6 +7194,9 @@
113.7 - cat >>conftest.$ac_ext <<_ACEOF
113.8 - /* end confdefs.h. */
113.9 - #include <complex.h>
113.10 -+#ifdef __UCLIBC__
113.11 -+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
113.12 -+#endif
113.13 - int
113.14 - main ()
113.15 - {
114.1 --- a/patches/gcc/4.0.3/160-index_macro.patch Wed Oct 28 12:03:38 2009 +0100
114.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
114.3 @@ -1,24 +0,0 @@
114.4 ---- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
114.5 -+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
114.6 -@@ -59,6 +59,9 @@
114.7 - #include <bits/allocator.h>
114.8 - #include <ext/hash_fun.h>
114.9 -
114.10 -+/* cope w/ index defined as macro, SuSv3 proposal */
114.11 -+#undef index
114.12 -+
114.13 - # ifdef __GC
114.14 - # define __GC_CONST const
114.15 - # else
114.16 ---- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
114.17 -+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
114.18 -@@ -53,6 +53,9 @@
114.19 - #include <ext/memory> // For uninitialized_copy_n
114.20 - #include <ext/numeric> // For power
114.21 -
114.22 -+/* cope w/ index defined as macro, SuSv3 proposal */
114.23 -+#undef index
114.24 -+
114.25 - namespace __gnu_cxx
114.26 - {
114.27 - using std::size_t;
115.1 --- a/patches/gcc/4.0.3/170-sdk-libstdc++-includes.patch Wed Oct 28 12:03:38 2009 +0100
115.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
115.3 @@ -1,22 +0,0 @@
115.4 -diff -urN gcc-4.0.0-100/libstdc++-v3/fragment.am gcc-4.0.0/libstdc++-v3/fragment.am
115.5 ---- gcc-4.0.0-100/libstdc++-v3/fragment.am 2004-10-25 15:32:40.000000000 -0500
115.6 -+++ gcc-4.0.0/libstdc++-v3/fragment.am 2005-04-28 21:48:43.000000000 -0500
115.7 -@@ -18,5 +18,5 @@
115.8 - $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
115.9 -
115.10 - # -I/-D flags to pass when compiling.
115.11 --AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
115.12 -+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
115.13 -
115.14 -diff -urN gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am gcc-4.0.0/libstdc++-v3/libmath/Makefile.am
115.15 ---- gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am 2003-08-27 16:29:42.000000000 -0500
115.16 -+++ gcc-4.0.0/libstdc++-v3/libmath/Makefile.am 2005-04-28 21:48:43.000000000 -0500
115.17 -@@ -32,7 +32,7 @@
115.18 -
115.19 - libmath_la_SOURCES = stubs.c
115.20 -
115.21 --AM_CPPFLAGS = $(CANADIAN_INCLUDES)
115.22 -+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
115.23 -
115.24 - # Only compiling "C" sources in this directory.
115.25 - LIBTOOL = @LIBTOOL@ --tag CC
116.1 --- a/patches/gcc/4.0.3/180-arm-bigendian.patch Wed Oct 28 12:03:38 2009 +0100
116.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
116.3 @@ -1,67 +0,0 @@
116.4 -By Lennert Buytenhek <buytenh@wantstofly.org>
116.5 -Adds support for arm*b-linux* big-endian ARM targets
116.6 -
116.7 -See http://gcc.gnu.org/PR16350
116.8 -
116.9 ---- gcc-4.0.3/gcc/config/arm/linux-elf.h
116.10 -+++ gcc-4.0.3/gcc/config/arm/linux-elf.h
116.11 -@@ -31,19 +31,33 @@
116.12 - /* Do not assume anything about header files. */
116.13 - #define NO_IMPLICIT_EXTERN_C
116.14 -
116.15 -+/*
116.16 -+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
116.17 -+ * (big endian) configurations.
116.18 -+ */
116.19 -+#if TARGET_BIG_ENDIAN_DEFAULT
116.20 -+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
116.21 -+#define TARGET_ENDIAN_OPTION "mbig-endian"
116.22 -+#define TARGET_LINKER_EMULATION "armelfb_linux"
116.23 -+#else
116.24 -+#define TARGET_ENDIAN_DEFAULT 0
116.25 -+#define TARGET_ENDIAN_OPTION "mlittle-endian"
116.26 -+#define TARGET_LINKER_EMULATION "armelf_linux"
116.27 -+#endif
116.28 -+
116.29 - #undef TARGET_DEFAULT_FLOAT_ABI
116.30 - #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
116.31 -
116.32 - #undef TARGET_DEFAULT
116.33 --#define TARGET_DEFAULT (0)
116.34 -+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
116.35 -
116.36 - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
116.37 -
116.38 --#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
116.39 -+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
116.40 -
116.41 - #undef MULTILIB_DEFAULTS
116.42 - #define MULTILIB_DEFAULTS \
116.43 -- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
116.44 -+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
116.45 -
116.46 - /* The GNU C++ standard library requires that these macros be defined. */
116.47 - #undef CPLUSPLUS_CPP_SPEC
116.48 -@@ -90,7 +104,7 @@
116.49 - %{rdynamic:-export-dynamic} \
116.50 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
116.51 - -X \
116.52 -- %{mbig-endian:-EB}" \
116.53 -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
116.54 - SUBTARGET_EXTRA_LINK_SPEC
116.55 -
116.56 - #define TARGET_OS_CPP_BUILTINS() \
116.57 ---- gcc-4.0.3/gcc/config.gcc
116.58 -+++ gcc-4.0.3/gcc/config.gcc
116.59 -@@ -672,6 +672,11 @@
116.60 - ;;
116.61 - arm*-*-linux*) # ARM GNU/Linux with ELF
116.62 - tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
116.63 -+ case $target in
116.64 -+ arm*b-*)
116.65 -+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
116.66 -+ ;;
116.67 -+ esac
116.68 - tmake_file="${tmake_file} arm/t-arm arm/t-linux"
116.69 - extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
116.70 - gnu_ld=yes
117.1 --- a/patches/gcc/4.1.0/100-fix-fixincl.patch Wed Oct 28 12:03:38 2009 +0100
117.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
117.3 @@ -1,71 +0,0 @@
117.4 -See http://gcc.gnu.org/PR22541
117.5 -
117.6 -From: Dan Kegel
117.7 -
117.8 -When building gcc-3.4.3 or gcc-4.x into a clean $PREFIX,
117.9 -the configure script happily copies the glibc include files from include to sys-include;
117.10 -here's the line from the log file (with $PREFIX instead of the real prefix):
117.11 -
117.12 -Copying $PREFIX/i686-unknown-linux-gnu/include to $PREFIX/i686-unknown-linux-gnu/sys-include
117.13 -
117.14 -But later, when running fixincludes, it gives the error message
117.15 - The directory that should contain system headers does not exist:
117.16 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/../../../../i686-unknown-linux-gnu/sys-include
117.17 -
117.18 -Nevertheless, it continues building; the header files it installs in
117.19 - $PREFIX/lib/gcc/i686-unknown-linux-gnu/3.4.3/include
117.20 -do not include the boilerplate that would cause it to #include_next the
117.21 -glibc headers in the system header directory.
117.22 -Thus the resulting toolchain can't compile the following program:
117.23 -#include <limits.h>
117.24 -int x = PATH_MAX;
117.25 -because its limits.h doesn't include the glibc header.
117.26 -
117.27 -The problem is that gcc/Makefile.in assumes that
117.28 -it can refer to $PREFIX/i686-unknown-linux-gnu with the path
117.29 - $PREFIX/lib/../i686-unknown-linux-gnu, but
117.30 -that fails because the directory $PREFIX/lib doesn't exist during 'make all';
117.31 -it is only created later, during 'make install'. (Which makes this problem
117.32 -confusing, since one only notices the breakage well after 'make install',
117.33 -at which point the path configure complained about does exist, and has the
117.34 -right stuff in it.)
117.35 -
117.36 -A fix that I've been using for a while is to use sed to canonicalize
117.37 -the path. The sed syntax is a bit obtuse, but it works.
117.38 -
117.39 -(hey, that's the first time I've ever used a label in a sed script; thanks to the sed faq
117.40 -for explaining the :a ... ta method of looping to repeat a search-and-replace until it doesn't match.)
117.41 -
117.42 -[rediffed against gcc-4.1-20060210]
117.43 -
117.44 ---- gcc-4.1-20060210/gcc/Makefile.in.old 2006-01-11 06:29:29.000000000 -0800
117.45 -+++ gcc-4.1-20060210/gcc/Makefile.in 2006-02-14 16:08:54.000000000 -0800
117.46 -@@ -388,7 +388,10 @@
117.47 - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
117.48 -
117.49 - # autoconf sets SYSTEM_HEADER_DIR to one of the above.
117.50 --SYSTEM_HEADER_DIR = @SYSTEM_HEADER_DIR@
117.51 -+# Purge it of unneccessary internal relative paths
117.52 -+# to directories that might not exist yet.
117.53 -+# The sed idiom for this is to repeat the search-and-replace until it doesn't match, using :a ... ta.
117.54 -+SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`
117.55 -
117.56 - # Control whether to run fixproto and fixincludes.
117.57 - STMP_FIXPROTO = @STMP_FIXPROTO@
117.58 -@@ -3167,13 +3170,15 @@
117.59 - ../$(build_subdir)/fixincludes/fixincl: ; @ :
117.60 -
117.61 - # Build fixed copies of system files.
117.62 -+# Abort if no system headers available, unless building a crosscompiler.
117.63 -+# Canonicalize $gcc_tooldir/sys-include in same way as $SYSTEM_HEADER_DIR was canonicalized so test still works
117.64 - stmp-fixinc: gsyslimits.h macro_list \
117.65 - $(build_objdir)/fixincludes/fixincl \
117.66 - $(build_objdir)/fixincludes/fixinc.sh
117.67 - @if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \
117.68 - echo The directory that should contain system headers does not exist: >&2 ; \
117.69 - echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
117.70 -- if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
117.71 -+ if test "x${SYSTEM_HEADER_DIR}" = "x`echo "${gcc_tooldir}/sys-include" | sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`"; \
117.72 - then sleep 1; else exit 1; fi; \
117.73 - fi
117.74 - rm -rf include; mkdir include
118.1 --- a/patches/gcc/4.1.1/100-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
118.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
118.3 @@ -1,544 +0,0 @@
118.4 ---- gcc-4.1.0/gcc/config/t-linux-uclibc
118.5 -+++ gcc-4.1.0/gcc/config/t-linux-uclibc
118.6 -@@ -0,0 +1,5 @@
118.7 -+# Remove glibc specific files added in t-linux
118.8 -+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
118.9 -+
118.10 -+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
118.11 -+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
118.12 ---- gcc-4.1.0/gcc/config.gcc
118.13 -+++ gcc-4.1.0/gcc/config.gcc
118.14 -@@ -1887,7 +1887,7 @@ s390x-ibm-tpf*)
118.15 - ;;
118.16 - sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
118.17 - sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
118.18 -- sh-*-linux* | sh[346lbe]*-*-linux* | \
118.19 -+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
118.20 - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
118.21 - sh64-*-netbsd* | sh64l*-*-netbsd*)
118.22 - tmake_file="${tmake_file} sh/t-sh sh/t-elf"
118.23 -@@ -2341,6 +2341,12 @@ m32c-*-elf*)
118.24 - ;;
118.25 - esac
118.26 -
118.27 -+# Rather than hook into each target, just do it after all the linux
118.28 -+# targets have been processed
118.29 -+case ${target} in
118.30 -+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
118.31 -+esac
118.32 -+
118.33 - case ${target} in
118.34 - i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
118.35 - tmake_file="${tmake_file} i386/t-gmm_malloc"
118.36 ---- gcc-4.1.0/boehm-gc/configure
118.37 -+++ gcc-4.1.0/boehm-gc/configure
118.38 -@@ -4320,6 +4320,11 @@ linux-gnu*)
118.39 - lt_cv_deplibs_check_method=pass_all
118.40 - ;;
118.41 -
118.42 -+linux-uclibc*)
118.43 -+ lt_cv_deplibs_check_method=pass_all
118.44 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.45 -+ ;;
118.46 -+
118.47 - netbsd* | knetbsd*-gnu)
118.48 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.49 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.50 ---- gcc-4.1.0/configure
118.51 -+++ gcc-4.1.0/configure
118.52 -@@ -1133,7 +1133,7 @@ no)
118.53 - ;;
118.54 - "")
118.55 - case "${target}" in
118.56 -- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
118.57 -+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
118.58 - # Enable libmudflap by default in GNU and friends.
118.59 - ;;
118.60 - *-*-freebsd*)
118.61 ---- gcc-4.1.0/configure.in
118.62 -+++ gcc-4.1.0/configure.in
118.63 -@@ -341,7 +341,7 @@ no)
118.64 - ;;
118.65 - "")
118.66 - case "${target}" in
118.67 -- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
118.68 -+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
118.69 - # Enable libmudflap by default in GNU and friends.
118.70 - ;;
118.71 - *-*-freebsd*)
118.72 ---- gcc-4.1.0/contrib/regression/objs-gcc.sh
118.73 -+++ gcc-4.1.0/contrib/regression/objs-gcc.sh
118.74 -@@ -105,6 +105,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H
118.75 - then
118.76 - make all-gdb all-dejagnu all-ld || exit 1
118.77 - make install-gdb install-dejagnu install-ld || exit 1
118.78 -+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
118.79 -+ then
118.80 -+ make all-gdb all-dejagnu all-ld || exit 1
118.81 -+ make install-gdb install-dejagnu install-ld || exit 1
118.82 - elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
118.83 - make bootstrap || exit 1
118.84 - make install || exit 1
118.85 ---- gcc-4.1.0/gcc/config/alpha/linux-elf.h
118.86 -+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h
118.87 -@@ -27,7 +27,11 @@ Boston, MA 02110-1301, USA. */
118.88 - #define SUBTARGET_EXTRA_SPECS \
118.89 - { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
118.90 -
118.91 -+#if defined USE_UCLIBC
118.92 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.93 -+#else
118.94 - #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
118.95 -+#endif
118.96 -
118.97 - #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
118.98 - %{O*:-O3} %{!O*:-O1} \
118.99 ---- gcc-4.1.0/gcc/config/arm/linux-elf.h
118.100 -+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
118.101 -@@ -51,7 +51,11 @@
118.102 -
118.103 - #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
118.104 -
118.105 -+#ifdef USE_UCLIBC
118.106 -+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
118.107 -+#else
118.108 - #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
118.109 -+#endif
118.110 -
118.111 - #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
118.112 - %{b} \
118.113 ---- gcc-4.1.0/gcc/config/cris/linux.h
118.114 -+++ gcc-4.1.0/gcc/config/cris/linux.h
118.115 -@@ -73,6 +73,25 @@ Boston, MA 02110-1301, USA. */
118.116 - #undef CRIS_DEFAULT_CPU_VERSION
118.117 - #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
118.118 -
118.119 -+#ifdef USE_UCLIBC
118.120 -+
118.121 -+#undef CRIS_SUBTARGET_VERSION
118.122 -+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
118.123 -+
118.124 -+#undef CRIS_LINK_SUBTARGET_SPEC
118.125 -+#define CRIS_LINK_SUBTARGET_SPEC \
118.126 -+ "-mcrislinux\
118.127 -+ -rpath-link include/asm/../..%s\
118.128 -+ %{shared} %{static}\
118.129 -+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
118.130 -+ %{!shared: \
118.131 -+ %{!static: \
118.132 -+ %{rdynamic:-export-dynamic} \
118.133 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
118.134 -+ %{!r:%{O2|O3: --gc-sections}}"
118.135 -+
118.136 -+#else /* USE_UCLIBC */
118.137 -+
118.138 - #undef CRIS_SUBTARGET_VERSION
118.139 - #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
118.140 -
118.141 -@@ -87,6 +106,8 @@ Boston, MA 02110-1301, USA. */
118.142 - %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
118.143 - %{!r:%{O2|O3: --gc-sections}}"
118.144 -
118.145 -+#endif /* USE_UCLIBC */
118.146 -+
118.147 -
118.148 - /* Node: Run-time Target */
118.149 -
118.150 ---- gcc-4.1.0/gcc/config/i386/linux.h
118.151 -+++ gcc-4.1.0/gcc/config/i386/linux.h
118.152 -@@ -107,6 +107,11 @@ Boston, MA 02110-1301, USA. */
118.153 - #define LINK_EMULATION "elf_i386"
118.154 - #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
118.155 -
118.156 -+#if defined USE_UCLIBC
118.157 -+#undef DYNAMIC_LINKER
118.158 -+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.159 -+#endif
118.160 -+
118.161 - #undef SUBTARGET_EXTRA_SPECS
118.162 - #define SUBTARGET_EXTRA_SPECS \
118.163 - { "link_emulation", LINK_EMULATION },\
118.164 ---- gcc-4.1.0/gcc/config/i386/linux64.h
118.165 -+++ gcc-4.1.0/gcc/config/i386/linux64.h
118.166 -@@ -54,14 +54,21 @@ Boston, MA 02110-1301, USA. */
118.167 - When the -shared link option is used a final link is not being
118.168 - done. */
118.169 -
118.170 -+#ifdef USE_UCLIBC
118.171 -+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.172 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
118.173 -+#else
118.174 -+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
118.175 -+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
118.176 -+#endif
118.177 - #undef LINK_SPEC
118.178 - #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
118.179 - %{shared:-shared} \
118.180 - %{!shared: \
118.181 - %{!static: \
118.182 - %{rdynamic:-export-dynamic} \
118.183 -- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
118.184 -- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
118.185 -+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
118.186 -+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
118.187 - %{static:-static}}"
118.188 -
118.189 - /* Similar to standard Linux, but adding -ffast-math support. */
118.190 ---- gcc-4.1.0/gcc/config/ia64/linux.h
118.191 -+++ gcc-4.1.0/gcc/config/ia64/linux.h
118.192 -@@ -37,13 +37,18 @@ do { \
118.193 - /* Define this for shared library support because it isn't in the main
118.194 - linux.h file. */
118.195 -
118.196 -+#ifdef USE_UCLIBC
118.197 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.198 -+#else
118.199 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
118.200 -+#endif
118.201 - #undef LINK_SPEC
118.202 - #define LINK_SPEC "\
118.203 - %{shared:-shared} \
118.204 - %{!shared: \
118.205 - %{!static: \
118.206 - %{rdynamic:-export-dynamic} \
118.207 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
118.208 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.209 - %{static:-static}}"
118.210 -
118.211 -
118.212 ---- gcc-4.1.0/gcc/config/m68k/linux.h
118.213 -+++ gcc-4.1.0/gcc/config/m68k/linux.h
118.214 -@@ -123,12 +123,17 @@ Boston, MA 02110-1301, USA. */
118.215 -
118.216 - /* If ELF is the default format, we should not use /lib/elf. */
118.217 -
118.218 -+#ifdef USE_UCLIBC
118.219 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.220 -+#else
118.221 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
118.222 -+#endif
118.223 - #undef LINK_SPEC
118.224 - #define LINK_SPEC "-m m68kelf %{shared} \
118.225 - %{!shared: \
118.226 - %{!static: \
118.227 - %{rdynamic:-export-dynamic} \
118.228 -- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
118.229 -+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.230 - %{static}}"
118.231 -
118.232 - /* For compatibility with linux/a.out */
118.233 ---- gcc-4.1.0/gcc/config/mips/linux.h
118.234 -+++ gcc-4.1.0/gcc/config/mips/linux.h
118.235 -@@ -105,6 +105,11 @@ Boston, MA 02110-1301, USA. */
118.236 -
118.237 - /* Borrowed from sparc/linux.h */
118.238 - #undef LINK_SPEC
118.239 -+#ifdef USE_UCLIBC
118.240 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.241 -+#else
118.242 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
118.243 -+#endif
118.244 - #define LINK_SPEC \
118.245 - "%(endian_spec) \
118.246 - %{shared:-shared} \
118.247 -@@ -112,7 +117,7 @@ Boston, MA 02110-1301, USA. */
118.248 - %{!ibcs: \
118.249 - %{!static: \
118.250 - %{rdynamic:-export-dynamic} \
118.251 -- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
118.252 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.253 - %{static:-static}}}"
118.254 -
118.255 - #undef SUBTARGET_ASM_SPEC
118.256 ---- gcc-4.1.0/gcc/config/pa/pa-linux.h
118.257 -+++ gcc-4.1.0/gcc/config/pa/pa-linux.h
118.258 -@@ -49,13 +49,18 @@ Boston, MA 02110-1301, USA. */
118.259 - /* Define this for shared library support because it isn't in the main
118.260 - linux.h file. */
118.261 -
118.262 -+#ifdef USE_UCLIBC
118.263 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.264 -+#else
118.265 -+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
118.266 -+#endif
118.267 - #undef LINK_SPEC
118.268 - #define LINK_SPEC "\
118.269 - %{shared:-shared} \
118.270 - %{!shared: \
118.271 - %{!static: \
118.272 - %{rdynamic:-export-dynamic} \
118.273 -- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
118.274 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.275 - %{static:-static}}"
118.276 -
118.277 - /* glibc's profiling functions don't need gcc to allocate counters. */
118.278 ---- gcc-4.1.0/gcc/config/rs6000/linux.h
118.279 -+++ gcc-4.1.0/gcc/config/rs6000/linux.h
118.280 -@@ -72,7 +72,11 @@
118.281 - #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
118.282 -
118.283 - #undef LINK_OS_DEFAULT_SPEC
118.284 -+#ifdef USE_UCLIBC
118.285 -+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
118.286 -+#else
118.287 - #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
118.288 -+#endif
118.289 -
118.290 - #define LINK_GCC_C_SEQUENCE_SPEC \
118.291 - "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
118.292 ---- gcc-4.1.0/gcc/config/rs6000/sysv4.h
118.293 -+++ gcc-4.1.0/gcc/config/rs6000/sysv4.h
118.294 -@@ -866,6 +866,7 @@ extern int fixuplabelno;
118.295 - mcall-linux : %(link_os_linux) ; \
118.296 - mcall-gnu : %(link_os_gnu) ; \
118.297 - mcall-netbsd : %(link_os_netbsd) ; \
118.298 -+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
118.299 - mcall-openbsd: %(link_os_openbsd) ; \
118.300 - : %(link_os_default) }"
118.301 -
118.302 -@@ -1043,6 +1044,10 @@ extern int fixuplabelno;
118.303 - %{rdynamic:-export-dynamic} \
118.304 - %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
118.305 -
118.306 -+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
118.307 -+ %{rdynamic:-export-dynamic} \
118.308 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
118.309 -+
118.310 - #if defined(HAVE_LD_EH_FRAME_HDR)
118.311 - # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
118.312 - #endif
118.313 -@@ -1209,6 +1214,7 @@ ncrtn.o%s"
118.314 - { "link_os_sim", LINK_OS_SIM_SPEC }, \
118.315 - { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
118.316 - { "link_os_linux", LINK_OS_LINUX_SPEC }, \
118.317 -+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
118.318 - { "link_os_gnu", LINK_OS_GNU_SPEC }, \
118.319 - { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
118.320 - { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
118.321 ---- gcc-4.1.0/gcc/config/s390/linux.h
118.322 -+++ gcc-4.1.0/gcc/config/s390/linux.h
118.323 -@@ -77,6 +77,13 @@ Software Foundation, 51 Franklin Street,
118.324 - #define MULTILIB_DEFAULTS { "m31" }
118.325 - #endif
118.326 -
118.327 -+#ifdef USE_UCLIBC
118.328 -+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.329 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
118.330 -+#else
118.331 -+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
118.332 -+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
118.333 -+#endif
118.334 - #undef LINK_SPEC
118.335 - #define LINK_SPEC \
118.336 - "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
118.337 -@@ -86,8 +93,8 @@ Software Foundation, 51 Franklin Street,
118.338 - %{!static: \
118.339 - %{rdynamic:-export-dynamic} \
118.340 - %{!dynamic-linker: \
118.341 -- %{m31:-dynamic-linker /lib/ld.so.1} \
118.342 -- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
118.343 -+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
118.344 -+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
118.345 -
118.346 -
118.347 - #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
118.348 ---- gcc-4.1.0/gcc/config/sh/linux.h
118.349 -+++ gcc-4.1.0/gcc/config/sh/linux.h
118.350 -@@ -56,12 +56,21 @@ Boston, MA 02110-1301, USA. */
118.351 - #undef SUBTARGET_LINK_EMUL_SUFFIX
118.352 - #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
118.353 - #undef SUBTARGET_LINK_SPEC
118.354 -+#ifdef USE_UCLIBC
118.355 -+#define SUBTARGET_LINK_SPEC \
118.356 -+ "%{shared:-shared} \
118.357 -+ %{!static: \
118.358 -+ %{rdynamic:-export-dynamic} \
118.359 -+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
118.360 -+ %{static:-static}"
118.361 -+#else
118.362 - #define SUBTARGET_LINK_SPEC \
118.363 - "%{shared:-shared} \
118.364 - %{!static: \
118.365 - %{rdynamic:-export-dynamic} \
118.366 - %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
118.367 - %{static:-static}"
118.368 -+#endif
118.369 -
118.370 - /* Output assembler code to STREAM to call the profiler. */
118.371 -
118.372 ---- gcc-4.1.0/gcc/config/sparc/linux.h
118.373 -+++ gcc-4.1.0/gcc/config/sparc/linux.h
118.374 -@@ -125,6 +125,11 @@ Boston, MA 02110-1301, USA. */
118.375 -
118.376 - /* If ELF is the default format, we should not use /lib/elf. */
118.377 -
118.378 -+#ifdef USE_UCLIBC
118.379 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.380 -+#else
118.381 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
118.382 -+#endif
118.383 - #undef LINK_SPEC
118.384 - #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
118.385 - %{!mno-relax:%{!r:-relax}} \
118.386 -@@ -132,7 +137,7 @@ Boston, MA 02110-1301, USA. */
118.387 - %{!ibcs: \
118.388 - %{!static: \
118.389 - %{rdynamic:-export-dynamic} \
118.390 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
118.391 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.392 - %{static:-static}}}"
118.393 -
118.394 - /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
118.395 ---- gcc-4.1.0/gcc/config/sparc/linux64.h
118.396 -+++ gcc-4.1.0/gcc/config/sparc/linux64.h
118.397 -@@ -162,12 +162,17 @@ Boston, MA 02110-1301, USA. */
118.398 - { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
118.399 - { "link_arch", LINK_ARCH_SPEC },
118.400 -
118.401 -+#ifdef USE_UCLIBC
118.402 -+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
118.403 -+#else
118.404 -+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
118.405 -+#endif
118.406 - #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
118.407 - %{!shared: \
118.408 - %{!ibcs: \
118.409 - %{!static: \
118.410 - %{rdynamic:-export-dynamic} \
118.411 -- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
118.412 -+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
118.413 - %{static:-static}}} \
118.414 - "
118.415 -
118.416 ---- gcc-4.1.0/libffi/configure
118.417 -+++ gcc-4.1.0/libffi/configure
118.418 -@@ -3457,6 +3457,11 @@ linux-gnu*)
118.419 - lt_cv_deplibs_check_method=pass_all
118.420 - ;;
118.421 -
118.422 -+linux-uclibc*)
118.423 -+ lt_cv_deplibs_check_method=pass_all
118.424 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.425 -+ ;;
118.426 -+
118.427 - netbsd* | knetbsd*-gnu)
118.428 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.429 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.430 ---- gcc-4.1.0/libgfortran/configure
118.431 -+++ gcc-4.1.0/libgfortran/configure
118.432 -@@ -3699,6 +3699,11 @@ linux-gnu*)
118.433 - lt_cv_deplibs_check_method=pass_all
118.434 - ;;
118.435 -
118.436 -+linux-uclibc*)
118.437 -+ lt_cv_deplibs_check_method=pass_all
118.438 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.439 -+ ;;
118.440 -+
118.441 - netbsd* | knetbsd*-gnu)
118.442 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.443 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.444 ---- gcc-4.1.0/libjava/configure
118.445 -+++ gcc-4.1.0/libjava/configure
118.446 -@@ -5137,6 +5137,11 @@ linux-gnu*)
118.447 - lt_cv_deplibs_check_method=pass_all
118.448 - ;;
118.449 -
118.450 -+linux-uclibc*)
118.451 -+ lt_cv_deplibs_check_method=pass_all
118.452 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.453 -+ ;;
118.454 -+
118.455 - netbsd* | knetbsd*-gnu)
118.456 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.457 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.458 ---- gcc-4.1.0/libmudflap/configure
118.459 -+++ gcc-4.1.0/libmudflap/configure
118.460 -@@ -5382,6 +5382,11 @@ linux-gnu*)
118.461 - lt_cv_deplibs_check_method=pass_all
118.462 - ;;
118.463 -
118.464 -+linux-uclibc*)
118.465 -+ lt_cv_deplibs_check_method=pass_all
118.466 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.467 -+ ;;
118.468 -+
118.469 - netbsd* | knetbsd*-gnu)
118.470 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.471 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.472 ---- gcc-4.1.0/libobjc/configure
118.473 -+++ gcc-4.1.0/libobjc/configure
118.474 -@@ -3312,6 +3312,11 @@ linux-gnu*)
118.475 - lt_cv_deplibs_check_method=pass_all
118.476 - ;;
118.477 -
118.478 -+linux-uclibc*)
118.479 -+ lt_cv_deplibs_check_method=pass_all
118.480 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.481 -+ ;;
118.482 -+
118.483 - netbsd* | knetbsd*-gnu)
118.484 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.485 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
118.486 ---- gcc-4.1.0/libtool.m4
118.487 -+++ gcc-4.1.0/libtool.m4
118.488 -@@ -743,6 +743,11 @@ linux-gnu*)
118.489 - lt_cv_deplibs_check_method=pass_all
118.490 - ;;
118.491 -
118.492 -+linux-uclibc*)
118.493 -+ lt_cv_deplibs_check_method=pass_all
118.494 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.495 -+ ;;
118.496 -+
118.497 - netbsd* | knetbsd*-gnu)
118.498 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.499 - [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
118.500 ---- gcc-4.1.0/ltconfig
118.501 -+++ gcc-4.1.0/ltconfig
118.502 -@@ -603,6 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
118.503 -
118.504 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
118.505 - case $host_os in
118.506 -+linux-uclibc*) ;;
118.507 - linux-gnu*) ;;
118.508 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
118.509 - esac
118.510 -@@ -1274,6 +1275,23 @@ linux-gnu*)
118.511 - dynamic_linker='GNU/Linux ld.so'
118.512 - ;;
118.513 -
118.514 -+linux-uclibc*)
118.515 -+ version_type=linux
118.516 -+ need_lib_prefix=no
118.517 -+ need_version=no
118.518 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
118.519 -+ soname_spec='${libname}${release}.so$major'
118.520 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
118.521 -+ shlibpath_var=LD_LIBRARY_PATH
118.522 -+ shlibpath_overrides_runpath=no
118.523 -+ # This implies no fast_install, which is unacceptable.
118.524 -+ # Some rework will be needed to allow for fast_install
118.525 -+ # before this can be enabled.
118.526 -+ hardcode_into_libs=yes
118.527 -+ # Assume using the uClibc dynamic linker.
118.528 -+ dynamic_linker="uClibc ld.so"
118.529 -+ ;;
118.530 -+
118.531 - netbsd*)
118.532 - need_lib_prefix=no
118.533 - need_version=no
118.534 ---- gcc-4.1.0/zlib/configure
118.535 -+++ gcc-4.1.0/zlib/configure
118.536 -@@ -3426,6 +3426,11 @@ linux-gnu*)
118.537 - lt_cv_deplibs_check_method=pass_all
118.538 - ;;
118.539 -
118.540 -+linux-uclibc*)
118.541 -+ lt_cv_deplibs_check_method=pass_all
118.542 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
118.543 -+ ;;
118.544 -+
118.545 - netbsd* | knetbsd*-gnu)
118.546 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
118.547 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
119.1 --- a/patches/gcc/4.1.1/110-arm-eabi.patch Wed Oct 28 12:03:38 2009 +0100
119.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
119.3 @@ -1,27 +0,0 @@
119.4 ---- gcc-2005q3-1.orig/gcc/config.gcc 2005-10-31 19:02:54.000000000 +0300
119.5 -+++ gcc-2005q3-1/gcc/config.gcc 2006-01-27 01:09:09.000000000 +0300
119.6 -@@ -674,7 +674,7 @@
119.7 - tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
119.8 - tmake_file="${tmake_file} t-linux arm/t-arm"
119.9 - case ${target} in
119.10 -- arm*-*-linux-gnueabi)
119.11 -+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
119.12 - tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
119.13 - tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
119.14 - # The BPABI long long divmod functions return a 128-bit value in
119.15 -
119.16 -diff -urN gcc-2005q3-2/gcc/config/arm/linux-eabi.h gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h
119.17 ---- gcc-2005q3-2/gcc/config/arm/linux-eabi.h 2005-12-07 23:14:16.000000000 +0300
119.18 -+++ gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h 2006-03-29 19:02:34.000000000 +0400
119.19 -@@ -53,7 +53,11 @@
119.20 - /* Use ld-linux.so.3 so that it will be possible to run "classic"
119.21 - GNU/Linux binaries on an EABI system. */
119.22 - #undef LINUX_TARGET_INTERPRETER
119.23 -+#ifdef USE_UCLIBC
119.24 -+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
119.25 -+#else
119.26 - #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
119.27 -+#endif
119.28 -
119.29 - /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
119.30 - use the GNU/Linux version, not the generic BPABI version. */
120.1 --- a/patches/gcc/4.1.1/120-uclibc-locale.patch Wed Oct 28 12:03:38 2009 +0100
120.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
120.3 @@ -1,3239 +0,0 @@
120.4 ---- gcc-4.1.0-dist/libstdc++-v3/acinclude.m4
120.5 -+++ gcc-4.1.0/libstdc++-v3/acinclude.m4
120.6 -@@ -1071,7 +1071,7 @@
120.7 - AC_MSG_CHECKING([for C locale to use])
120.8 - GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
120.9 - [use MODEL for target locale package],
120.10 -- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
120.11 -+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
120.12 -
120.13 - # If they didn't use this option switch, or if they specified --enable
120.14 - # with no specific model, we'll have to look for one. If they
120.15 -@@ -1087,6 +1087,9 @@
120.16 - # Default to "generic".
120.17 - if test $enable_clocale_flag = auto; then
120.18 - case ${target_os} in
120.19 -+ *-uclibc*)
120.20 -+ enable_clocale_flag=uclibc
120.21 -+ ;;
120.22 - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
120.23 - AC_EGREP_CPP([_GLIBCXX_ok], [
120.24 - #include <features.h>
120.25 -@@ -1230,6 +1233,40 @@
120.26 - CTIME_CC=config/locale/generic/time_members.cc
120.27 - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
120.28 - ;;
120.29 -+ uclibc)
120.30 -+ AC_MSG_RESULT(uclibc)
120.31 -+
120.32 -+ # Declare intention to use gettext, and add support for specific
120.33 -+ # languages.
120.34 -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
120.35 -+ ALL_LINGUAS="de fr"
120.36 -+
120.37 -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
120.38 -+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
120.39 -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
120.40 -+ USE_NLS=yes
120.41 -+ fi
120.42 -+ # Export the build objects.
120.43 -+ for ling in $ALL_LINGUAS; do \
120.44 -+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
120.45 -+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
120.46 -+ done
120.47 -+ AC_SUBST(glibcxx_MOFILES)
120.48 -+ AC_SUBST(glibcxx_POFILES)
120.49 -+
120.50 -+ CLOCALE_H=config/locale/uclibc/c_locale.h
120.51 -+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
120.52 -+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
120.53 -+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
120.54 -+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
120.55 -+ CMESSAGES_H=config/locale/uclibc/messages_members.h
120.56 -+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
120.57 -+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
120.58 -+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
120.59 -+ CTIME_H=config/locale/uclibc/time_members.h
120.60 -+ CTIME_CC=config/locale/uclibc/time_members.cc
120.61 -+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
120.62 -+ ;;
120.63 - esac
120.64 -
120.65 - # This is where the testsuite looks for locale catalogs, using the
120.66 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
120.67 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
120.68 -@@ -0,0 +1,63 @@
120.69 -+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
120.70 -+
120.71 -+// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
120.72 -+//
120.73 -+// This file is part of the GNU ISO C++ Library. This library is free
120.74 -+// software; you can redistribute it and/or modify it under the
120.75 -+// terms of the GNU General Public License as published by the
120.76 -+// Free Software Foundation; either version 2, or (at your option)
120.77 -+// any later version.
120.78 -+
120.79 -+// This library is distributed in the hope that it will be useful,
120.80 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.81 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.82 -+// GNU General Public License for more details.
120.83 -+
120.84 -+// You should have received a copy of the GNU General Public License along
120.85 -+// with this library; see the file COPYING. If not, write to the Free
120.86 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.87 -+// USA.
120.88 -+
120.89 -+// As a special exception, you may use this file as part of a free software
120.90 -+// library without restriction. Specifically, if other files instantiate
120.91 -+// templates or use macros or inline functions from this file, or you compile
120.92 -+// this file and link it with other files to produce an executable, this
120.93 -+// file does not by itself cause the resulting executable to be covered by
120.94 -+// the GNU General Public License. This exception does not however
120.95 -+// invalidate any other reasons why the executable file might be covered by
120.96 -+// the GNU General Public License.
120.97 -+
120.98 -+// Written by Jakub Jelinek <jakub@redhat.com>
120.99 -+
120.100 -+#include <bits/c++config.h>
120.101 -+#include <clocale>
120.102 -+
120.103 -+#ifdef __UCLIBC_MJN3_ONLY__
120.104 -+#warning clean this up
120.105 -+#endif
120.106 -+
120.107 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.108 -+
120.109 -+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
120.110 -+extern "C" __typeof(strcoll_l) __strcoll_l;
120.111 -+extern "C" __typeof(strftime_l) __strftime_l;
120.112 -+extern "C" __typeof(strtod_l) __strtod_l;
120.113 -+extern "C" __typeof(strtof_l) __strtof_l;
120.114 -+extern "C" __typeof(strtold_l) __strtold_l;
120.115 -+extern "C" __typeof(strxfrm_l) __strxfrm_l;
120.116 -+extern "C" __typeof(newlocale) __newlocale;
120.117 -+extern "C" __typeof(freelocale) __freelocale;
120.118 -+extern "C" __typeof(duplocale) __duplocale;
120.119 -+extern "C" __typeof(uselocale) __uselocale;
120.120 -+
120.121 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.122 -+extern "C" __typeof(iswctype_l) __iswctype_l;
120.123 -+extern "C" __typeof(towlower_l) __towlower_l;
120.124 -+extern "C" __typeof(towupper_l) __towupper_l;
120.125 -+extern "C" __typeof(wcscoll_l) __wcscoll_l;
120.126 -+extern "C" __typeof(wcsftime_l) __wcsftime_l;
120.127 -+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
120.128 -+extern "C" __typeof(wctype_l) __wctype_l;
120.129 -+#endif
120.130 -+
120.131 -+#endif // GLIBC 2.3 and later
120.132 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc
120.133 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
120.134 -@@ -0,0 +1,152 @@
120.135 -+// Wrapper for underlying C-language localization -*- C++ -*-
120.136 -+
120.137 -+// Copyright (C) 2001, 2002, 2003, 2004, 2005
120.138 -+// Free Software Foundation, Inc.
120.139 -+//
120.140 -+// This file is part of the GNU ISO C++ Library. This library is free
120.141 -+// software; you can redistribute it and/or modify it under the
120.142 -+// terms of the GNU General Public License as published by the
120.143 -+// Free Software Foundation; either version 2, or (at your option)
120.144 -+// any later version.
120.145 -+
120.146 -+// This library is distributed in the hope that it will be useful,
120.147 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.148 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.149 -+// GNU General Public License for more details.
120.150 -+
120.151 -+// You should have received a copy of the GNU General Public License along
120.152 -+// with this library; see the file COPYING. If not, write to the Free
120.153 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.154 -+// USA.
120.155 -+
120.156 -+// As a special exception, you may use this file as part of a free software
120.157 -+// library without restriction. Specifically, if other files instantiate
120.158 -+// templates or use macros or inline functions from this file, or you compile
120.159 -+// this file and link it with other files to produce an executable, this
120.160 -+// file does not by itself cause the resulting executable to be covered by
120.161 -+// the GNU General Public License. This exception does not however
120.162 -+// invalidate any other reasons why the executable file might be covered by
120.163 -+// the GNU General Public License.
120.164 -+
120.165 -+//
120.166 -+// ISO C++ 14882: 22.8 Standard locale categories.
120.167 -+//
120.168 -+
120.169 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.170 -+
120.171 -+#include <cerrno> // For errno
120.172 -+#include <locale>
120.173 -+#include <stdexcept>
120.174 -+#include <langinfo.h>
120.175 -+#include <bits/c++locale_internal.h>
120.176 -+
120.177 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.178 -+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
120.179 -+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
120.180 -+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
120.181 -+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
120.182 -+#define __strtof_l(S, E, L) strtof((S), (E))
120.183 -+#define __strtod_l(S, E, L) strtod((S), (E))
120.184 -+#define __strtold_l(S, E, L) strtold((S), (E))
120.185 -+#warning should dummy __newlocale check for C|POSIX ?
120.186 -+#define __newlocale(a, b, c) NULL
120.187 -+#define __freelocale(a) ((void)0)
120.188 -+#define __duplocale(a) __c_locale()
120.189 -+#endif
120.190 -+
120.191 -+namespace std
120.192 -+{
120.193 -+ template<>
120.194 -+ void
120.195 -+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
120.196 -+ const __c_locale& __cloc)
120.197 -+ {
120.198 -+ char* __sanity;
120.199 -+ errno = 0;
120.200 -+ float __f = __strtof_l(__s, &__sanity, __cloc);
120.201 -+ if (__sanity != __s && errno != ERANGE)
120.202 -+ __v = __f;
120.203 -+ else
120.204 -+ __err |= ios_base::failbit;
120.205 -+ }
120.206 -+
120.207 -+ template<>
120.208 -+ void
120.209 -+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
120.210 -+ const __c_locale& __cloc)
120.211 -+ {
120.212 -+ char* __sanity;
120.213 -+ errno = 0;
120.214 -+ double __d = __strtod_l(__s, &__sanity, __cloc);
120.215 -+ if (__sanity != __s && errno != ERANGE)
120.216 -+ __v = __d;
120.217 -+ else
120.218 -+ __err |= ios_base::failbit;
120.219 -+ }
120.220 -+
120.221 -+ template<>
120.222 -+ void
120.223 -+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
120.224 -+ const __c_locale& __cloc)
120.225 -+ {
120.226 -+ char* __sanity;
120.227 -+ errno = 0;
120.228 -+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
120.229 -+ if (__sanity != __s && errno != ERANGE)
120.230 -+ __v = __ld;
120.231 -+ else
120.232 -+ __err |= ios_base::failbit;
120.233 -+ }
120.234 -+
120.235 -+ void
120.236 -+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
120.237 -+ __c_locale __old)
120.238 -+ {
120.239 -+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
120.240 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.241 -+ if (!__cloc)
120.242 -+ {
120.243 -+ // This named locale is not supported by the underlying OS.
120.244 -+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
120.245 -+ "name not valid"));
120.246 -+ }
120.247 -+#endif
120.248 -+ }
120.249 -+
120.250 -+ void
120.251 -+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
120.252 -+ {
120.253 -+ if (__cloc && _S_get_c_locale() != __cloc)
120.254 -+ __freelocale(__cloc);
120.255 -+ }
120.256 -+
120.257 -+ __c_locale
120.258 -+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
120.259 -+ { return __duplocale(__cloc); }
120.260 -+} // namespace std
120.261 -+
120.262 -+namespace __gnu_cxx
120.263 -+{
120.264 -+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
120.265 -+ {
120.266 -+ "LC_CTYPE",
120.267 -+ "LC_NUMERIC",
120.268 -+ "LC_TIME",
120.269 -+ "LC_COLLATE",
120.270 -+ "LC_MONETARY",
120.271 -+ "LC_MESSAGES",
120.272 -+#if _GLIBCXX_NUM_CATEGORIES != 0
120.273 -+ "LC_PAPER",
120.274 -+ "LC_NAME",
120.275 -+ "LC_ADDRESS",
120.276 -+ "LC_TELEPHONE",
120.277 -+ "LC_MEASUREMENT",
120.278 -+ "LC_IDENTIFICATION"
120.279 -+#endif
120.280 -+ };
120.281 -+}
120.282 -+
120.283 -+namespace std
120.284 -+{
120.285 -+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
120.286 -+} // namespace std
120.287 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c_locale.h
120.288 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h
120.289 -@@ -0,0 +1,117 @@
120.290 -+// Wrapper for underlying C-language localization -*- C++ -*-
120.291 -+
120.292 -+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
120.293 -+//
120.294 -+// This file is part of the GNU ISO C++ Library. This library is free
120.295 -+// software; you can redistribute it and/or modify it under the
120.296 -+// terms of the GNU General Public License as published by the
120.297 -+// Free Software Foundation; either version 2, or (at your option)
120.298 -+// any later version.
120.299 -+
120.300 -+// This library is distributed in the hope that it will be useful,
120.301 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.302 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.303 -+// GNU General Public License for more details.
120.304 -+
120.305 -+// You should have received a copy of the GNU General Public License along
120.306 -+// with this library; see the file COPYING. If not, write to the Free
120.307 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.308 -+// USA.
120.309 -+
120.310 -+// As a special exception, you may use this file as part of a free software
120.311 -+// library without restriction. Specifically, if other files instantiate
120.312 -+// templates or use macros or inline functions from this file, or you compile
120.313 -+// this file and link it with other files to produce an executable, this
120.314 -+// file does not by itself cause the resulting executable to be covered by
120.315 -+// the GNU General Public License. This exception does not however
120.316 -+// invalidate any other reasons why the executable file might be covered by
120.317 -+// the GNU General Public License.
120.318 -+
120.319 -+//
120.320 -+// ISO C++ 14882: 22.8 Standard locale categories.
120.321 -+//
120.322 -+
120.323 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.324 -+
120.325 -+#ifndef _C_LOCALE_H
120.326 -+#define _C_LOCALE_H 1
120.327 -+
120.328 -+#pragma GCC system_header
120.329 -+
120.330 -+#include <cstring> // get std::strlen
120.331 -+#include <cstdio> // get std::snprintf or std::sprintf
120.332 -+#include <clocale>
120.333 -+#include <langinfo.h> // For codecvt
120.334 -+#ifdef __UCLIBC_MJN3_ONLY__
120.335 -+#warning fix this
120.336 -+#endif
120.337 -+#ifdef __UCLIBC_HAS_LOCALE__
120.338 -+#include <iconv.h> // For codecvt using iconv, iconv_t
120.339 -+#endif
120.340 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
120.341 -+#include <libintl.h> // For messages
120.342 -+#endif
120.343 -+
120.344 -+#ifdef __UCLIBC_MJN3_ONLY__
120.345 -+#warning what is _GLIBCXX_C_LOCALE_GNU for
120.346 -+#endif
120.347 -+#define _GLIBCXX_C_LOCALE_GNU 1
120.348 -+
120.349 -+#ifdef __UCLIBC_MJN3_ONLY__
120.350 -+#warning fix categories
120.351 -+#endif
120.352 -+// #define _GLIBCXX_NUM_CATEGORIES 6
120.353 -+#define _GLIBCXX_NUM_CATEGORIES 0
120.354 -+
120.355 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.356 -+namespace __gnu_cxx
120.357 -+{
120.358 -+ extern "C" __typeof(uselocale) __uselocale;
120.359 -+}
120.360 -+#endif
120.361 -+
120.362 -+namespace std
120.363 -+{
120.364 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.365 -+ typedef __locale_t __c_locale;
120.366 -+#else
120.367 -+ typedef int* __c_locale;
120.368 -+#endif
120.369 -+
120.370 -+ // Convert numeric value of type _Tv to string and return length of
120.371 -+ // string. If snprintf is available use it, otherwise fall back to
120.372 -+ // the unsafe sprintf which, in general, can be dangerous and should
120.373 -+ // be avoided.
120.374 -+ template<typename _Tv>
120.375 -+ int
120.376 -+ __convert_from_v(char* __out,
120.377 -+ const int __size __attribute__ ((__unused__)),
120.378 -+ const char* __fmt,
120.379 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.380 -+ _Tv __v, const __c_locale& __cloc, int __prec)
120.381 -+ {
120.382 -+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
120.383 -+#else
120.384 -+ _Tv __v, const __c_locale&, int __prec)
120.385 -+ {
120.386 -+# ifdef __UCLIBC_HAS_LOCALE__
120.387 -+ char* __old = std::setlocale(LC_ALL, NULL);
120.388 -+ char* __sav = new char[std::strlen(__old) + 1];
120.389 -+ std::strcpy(__sav, __old);
120.390 -+ std::setlocale(LC_ALL, "C");
120.391 -+# endif
120.392 -+#endif
120.393 -+
120.394 -+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
120.395 -+
120.396 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.397 -+ __gnu_cxx::__uselocale(__old);
120.398 -+#elif defined __UCLIBC_HAS_LOCALE__
120.399 -+ std::setlocale(LC_ALL, __sav);
120.400 -+ delete [] __sav;
120.401 -+#endif
120.402 -+ return __ret;
120.403 -+ }
120.404 -+}
120.405 -+
120.406 -+#endif
120.407 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
120.408 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
120.409 -@@ -0,0 +1,306 @@
120.410 -+// std::codecvt implementation details, GNU version -*- C++ -*-
120.411 -+
120.412 -+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
120.413 -+//
120.414 -+// This file is part of the GNU ISO C++ Library. This library is free
120.415 -+// software; you can redistribute it and/or modify it under the
120.416 -+// terms of the GNU General Public License as published by the
120.417 -+// Free Software Foundation; either version 2, or (at your option)
120.418 -+// any later version.
120.419 -+
120.420 -+// This library is distributed in the hope that it will be useful,
120.421 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.422 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.423 -+// GNU General Public License for more details.
120.424 -+
120.425 -+// You should have received a copy of the GNU General Public License along
120.426 -+// with this library; see the file COPYING. If not, write to the Free
120.427 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.428 -+// USA.
120.429 -+
120.430 -+// As a special exception, you may use this file as part of a free software
120.431 -+// library without restriction. Specifically, if other files instantiate
120.432 -+// templates or use macros or inline functions from this file, or you compile
120.433 -+// this file and link it with other files to produce an executable, this
120.434 -+// file does not by itself cause the resulting executable to be covered by
120.435 -+// the GNU General Public License. This exception does not however
120.436 -+// invalidate any other reasons why the executable file might be covered by
120.437 -+// the GNU General Public License.
120.438 -+
120.439 -+//
120.440 -+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
120.441 -+//
120.442 -+
120.443 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.444 -+
120.445 -+#include <locale>
120.446 -+#include <bits/c++locale_internal.h>
120.447 -+
120.448 -+namespace std
120.449 -+{
120.450 -+ // Specializations.
120.451 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.452 -+ codecvt_base::result
120.453 -+ codecvt<wchar_t, char, mbstate_t>::
120.454 -+ do_out(state_type& __state, const intern_type* __from,
120.455 -+ const intern_type* __from_end, const intern_type*& __from_next,
120.456 -+ extern_type* __to, extern_type* __to_end,
120.457 -+ extern_type*& __to_next) const
120.458 -+ {
120.459 -+ result __ret = ok;
120.460 -+ state_type __tmp_state(__state);
120.461 -+
120.462 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.463 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
120.464 -+#endif
120.465 -+
120.466 -+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
120.467 -+ // in case we fall back to wcrtomb and then continue, in a loop.
120.468 -+ // NB: wcsnrtombs is a GNU extension
120.469 -+ for (__from_next = __from, __to_next = __to;
120.470 -+ __from_next < __from_end && __to_next < __to_end
120.471 -+ && __ret == ok;)
120.472 -+ {
120.473 -+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
120.474 -+ __from_end - __from_next);
120.475 -+ if (!__from_chunk_end)
120.476 -+ __from_chunk_end = __from_end;
120.477 -+
120.478 -+ __from = __from_next;
120.479 -+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
120.480 -+ __from_chunk_end - __from_next,
120.481 -+ __to_end - __to_next, &__state);
120.482 -+ if (__conv == static_cast<size_t>(-1))
120.483 -+ {
120.484 -+ // In case of error, in order to stop at the exact place we
120.485 -+ // have to start again from the beginning with a series of
120.486 -+ // wcrtomb.
120.487 -+ for (; __from < __from_next; ++__from)
120.488 -+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
120.489 -+ __state = __tmp_state;
120.490 -+ __ret = error;
120.491 -+ }
120.492 -+ else if (__from_next && __from_next < __from_chunk_end)
120.493 -+ {
120.494 -+ __to_next += __conv;
120.495 -+ __ret = partial;
120.496 -+ }
120.497 -+ else
120.498 -+ {
120.499 -+ __from_next = __from_chunk_end;
120.500 -+ __to_next += __conv;
120.501 -+ }
120.502 -+
120.503 -+ if (__from_next < __from_end && __ret == ok)
120.504 -+ {
120.505 -+ extern_type __buf[MB_LEN_MAX];
120.506 -+ __tmp_state = __state;
120.507 -+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
120.508 -+ if (__conv > static_cast<size_t>(__to_end - __to_next))
120.509 -+ __ret = partial;
120.510 -+ else
120.511 -+ {
120.512 -+ memcpy(__to_next, __buf, __conv);
120.513 -+ __state = __tmp_state;
120.514 -+ __to_next += __conv;
120.515 -+ ++__from_next;
120.516 -+ }
120.517 -+ }
120.518 -+ }
120.519 -+
120.520 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.521 -+ __uselocale(__old);
120.522 -+#endif
120.523 -+
120.524 -+ return __ret;
120.525 -+ }
120.526 -+
120.527 -+ codecvt_base::result
120.528 -+ codecvt<wchar_t, char, mbstate_t>::
120.529 -+ do_in(state_type& __state, const extern_type* __from,
120.530 -+ const extern_type* __from_end, const extern_type*& __from_next,
120.531 -+ intern_type* __to, intern_type* __to_end,
120.532 -+ intern_type*& __to_next) const
120.533 -+ {
120.534 -+ result __ret = ok;
120.535 -+ state_type __tmp_state(__state);
120.536 -+
120.537 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.538 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
120.539 -+#endif
120.540 -+
120.541 -+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
120.542 -+ // in case we store a L'\0' and then continue, in a loop.
120.543 -+ // NB: mbsnrtowcs is a GNU extension
120.544 -+ for (__from_next = __from, __to_next = __to;
120.545 -+ __from_next < __from_end && __to_next < __to_end
120.546 -+ && __ret == ok;)
120.547 -+ {
120.548 -+ const extern_type* __from_chunk_end;
120.549 -+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
120.550 -+ __from_end
120.551 -+ - __from_next));
120.552 -+ if (!__from_chunk_end)
120.553 -+ __from_chunk_end = __from_end;
120.554 -+
120.555 -+ __from = __from_next;
120.556 -+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
120.557 -+ __from_chunk_end - __from_next,
120.558 -+ __to_end - __to_next, &__state);
120.559 -+ if (__conv == static_cast<size_t>(-1))
120.560 -+ {
120.561 -+ // In case of error, in order to stop at the exact place we
120.562 -+ // have to start again from the beginning with a series of
120.563 -+ // mbrtowc.
120.564 -+ for (;; ++__to_next, __from += __conv)
120.565 -+ {
120.566 -+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
120.567 -+ &__tmp_state);
120.568 -+ if (__conv == static_cast<size_t>(-1)
120.569 -+ || __conv == static_cast<size_t>(-2))
120.570 -+ break;
120.571 -+ }
120.572 -+ __from_next = __from;
120.573 -+ __state = __tmp_state;
120.574 -+ __ret = error;
120.575 -+ }
120.576 -+ else if (__from_next && __from_next < __from_chunk_end)
120.577 -+ {
120.578 -+ // It is unclear what to return in this case (see DR 382).
120.579 -+ __to_next += __conv;
120.580 -+ __ret = partial;
120.581 -+ }
120.582 -+ else
120.583 -+ {
120.584 -+ __from_next = __from_chunk_end;
120.585 -+ __to_next += __conv;
120.586 -+ }
120.587 -+
120.588 -+ if (__from_next < __from_end && __ret == ok)
120.589 -+ {
120.590 -+ if (__to_next < __to_end)
120.591 -+ {
120.592 -+ // XXX Probably wrong for stateful encodings
120.593 -+ __tmp_state = __state;
120.594 -+ ++__from_next;
120.595 -+ *__to_next++ = L'\0';
120.596 -+ }
120.597 -+ else
120.598 -+ __ret = partial;
120.599 -+ }
120.600 -+ }
120.601 -+
120.602 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.603 -+ __uselocale(__old);
120.604 -+#endif
120.605 -+
120.606 -+ return __ret;
120.607 -+ }
120.608 -+
120.609 -+ int
120.610 -+ codecvt<wchar_t, char, mbstate_t>::
120.611 -+ do_encoding() const throw()
120.612 -+ {
120.613 -+ // XXX This implementation assumes that the encoding is
120.614 -+ // stateless and is either single-byte or variable-width.
120.615 -+ int __ret = 0;
120.616 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.617 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
120.618 -+#endif
120.619 -+ if (MB_CUR_MAX == 1)
120.620 -+ __ret = 1;
120.621 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.622 -+ __uselocale(__old);
120.623 -+#endif
120.624 -+ return __ret;
120.625 -+ }
120.626 -+
120.627 -+ int
120.628 -+ codecvt<wchar_t, char, mbstate_t>::
120.629 -+ do_max_length() const throw()
120.630 -+ {
120.631 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.632 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
120.633 -+#endif
120.634 -+ // XXX Probably wrong for stateful encodings.
120.635 -+ int __ret = MB_CUR_MAX;
120.636 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.637 -+ __uselocale(__old);
120.638 -+#endif
120.639 -+ return __ret;
120.640 -+ }
120.641 -+
120.642 -+ int
120.643 -+ codecvt<wchar_t, char, mbstate_t>::
120.644 -+ do_length(state_type& __state, const extern_type* __from,
120.645 -+ const extern_type* __end, size_t __max) const
120.646 -+ {
120.647 -+ int __ret = 0;
120.648 -+ state_type __tmp_state(__state);
120.649 -+
120.650 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.651 -+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
120.652 -+#endif
120.653 -+
120.654 -+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
120.655 -+ // in case we advance past it and then continue, in a loop.
120.656 -+ // NB: mbsnrtowcs is a GNU extension
120.657 -+
120.658 -+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
120.659 -+ // its fourth parameter (it wouldn't with NULL as first parameter).
120.660 -+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
120.661 -+ * __max));
120.662 -+ while (__from < __end && __max)
120.663 -+ {
120.664 -+ const extern_type* __from_chunk_end;
120.665 -+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
120.666 -+ __end
120.667 -+ - __from));
120.668 -+ if (!__from_chunk_end)
120.669 -+ __from_chunk_end = __end;
120.670 -+
120.671 -+ const extern_type* __tmp_from = __from;
120.672 -+ size_t __conv = mbsnrtowcs(__to, &__from,
120.673 -+ __from_chunk_end - __from,
120.674 -+ __max, &__state);
120.675 -+ if (__conv == static_cast<size_t>(-1))
120.676 -+ {
120.677 -+ // In case of error, in order to stop at the exact place we
120.678 -+ // have to start again from the beginning with a series of
120.679 -+ // mbrtowc.
120.680 -+ for (__from = __tmp_from;; __from += __conv)
120.681 -+ {
120.682 -+ __conv = mbrtowc(NULL, __from, __end - __from,
120.683 -+ &__tmp_state);
120.684 -+ if (__conv == static_cast<size_t>(-1)
120.685 -+ || __conv == static_cast<size_t>(-2))
120.686 -+ break;
120.687 -+ }
120.688 -+ __state = __tmp_state;
120.689 -+ __ret += __from - __tmp_from;
120.690 -+ break;
120.691 -+ }
120.692 -+ if (!__from)
120.693 -+ __from = __from_chunk_end;
120.694 -+
120.695 -+ __ret += __from - __tmp_from;
120.696 -+ __max -= __conv;
120.697 -+
120.698 -+ if (__from < __end && __max)
120.699 -+ {
120.700 -+ // XXX Probably wrong for stateful encodings
120.701 -+ __tmp_state = __state;
120.702 -+ ++__from;
120.703 -+ ++__ret;
120.704 -+ --__max;
120.705 -+ }
120.706 -+ }
120.707 -+
120.708 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.709 -+ __uselocale(__old);
120.710 -+#endif
120.711 -+
120.712 -+ return __ret;
120.713 -+ }
120.714 -+#endif
120.715 -+}
120.716 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc
120.717 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
120.718 -@@ -0,0 +1,80 @@
120.719 -+// std::collate implementation details, GNU version -*- C++ -*-
120.720 -+
120.721 -+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
120.722 -+//
120.723 -+// This file is part of the GNU ISO C++ Library. This library is free
120.724 -+// software; you can redistribute it and/or modify it under the
120.725 -+// terms of the GNU General Public License as published by the
120.726 -+// Free Software Foundation; either version 2, or (at your option)
120.727 -+// any later version.
120.728 -+
120.729 -+// This library is distributed in the hope that it will be useful,
120.730 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.731 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.732 -+// GNU General Public License for more details.
120.733 -+
120.734 -+// You should have received a copy of the GNU General Public License along
120.735 -+// with this library; see the file COPYING. If not, write to the Free
120.736 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.737 -+// USA.
120.738 -+
120.739 -+// As a special exception, you may use this file as part of a free software
120.740 -+// library without restriction. Specifically, if other files instantiate
120.741 -+// templates or use macros or inline functions from this file, or you compile
120.742 -+// this file and link it with other files to produce an executable, this
120.743 -+// file does not by itself cause the resulting executable to be covered by
120.744 -+// the GNU General Public License. This exception does not however
120.745 -+// invalidate any other reasons why the executable file might be covered by
120.746 -+// the GNU General Public License.
120.747 -+
120.748 -+//
120.749 -+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
120.750 -+//
120.751 -+
120.752 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.753 -+
120.754 -+#include <locale>
120.755 -+#include <bits/c++locale_internal.h>
120.756 -+
120.757 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.758 -+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
120.759 -+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
120.760 -+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
120.761 -+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
120.762 -+#endif
120.763 -+
120.764 -+namespace std
120.765 -+{
120.766 -+ // These are basically extensions to char_traits, and perhaps should
120.767 -+ // be put there instead of here.
120.768 -+ template<>
120.769 -+ int
120.770 -+ collate<char>::_M_compare(const char* __one, const char* __two) const
120.771 -+ {
120.772 -+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
120.773 -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
120.774 -+ }
120.775 -+
120.776 -+ template<>
120.777 -+ size_t
120.778 -+ collate<char>::_M_transform(char* __to, const char* __from,
120.779 -+ size_t __n) const
120.780 -+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
120.781 -+
120.782 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.783 -+ template<>
120.784 -+ int
120.785 -+ collate<wchar_t>::_M_compare(const wchar_t* __one,
120.786 -+ const wchar_t* __two) const
120.787 -+ {
120.788 -+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
120.789 -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
120.790 -+ }
120.791 -+
120.792 -+ template<>
120.793 -+ size_t
120.794 -+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
120.795 -+ size_t __n) const
120.796 -+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
120.797 -+#endif
120.798 -+}
120.799 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc
120.800 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
120.801 -@@ -0,0 +1,314 @@
120.802 -+// std::ctype implementation details, GNU version -*- C++ -*-
120.803 -+
120.804 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
120.805 -+//
120.806 -+// This file is part of the GNU ISO C++ Library. This library is free
120.807 -+// software; you can redistribute it and/or modify it under the
120.808 -+// terms of the GNU General Public License as published by the
120.809 -+// Free Software Foundation; either version 2, or (at your option)
120.810 -+// any later version.
120.811 -+
120.812 -+// This library is distributed in the hope that it will be useful,
120.813 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.814 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.815 -+// GNU General Public License for more details.
120.816 -+
120.817 -+// You should have received a copy of the GNU General Public License along
120.818 -+// with this library; see the file COPYING. If not, write to the Free
120.819 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.820 -+// USA.
120.821 -+
120.822 -+// As a special exception, you may use this file as part of a free software
120.823 -+// library without restriction. Specifically, if other files instantiate
120.824 -+// templates or use macros or inline functions from this file, or you compile
120.825 -+// this file and link it with other files to produce an executable, this
120.826 -+// file does not by itself cause the resulting executable to be covered by
120.827 -+// the GNU General Public License. This exception does not however
120.828 -+// invalidate any other reasons why the executable file might be covered by
120.829 -+// the GNU General Public License.
120.830 -+
120.831 -+//
120.832 -+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
120.833 -+//
120.834 -+
120.835 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.836 -+
120.837 -+#define _LIBC
120.838 -+#include <locale>
120.839 -+#undef _LIBC
120.840 -+#include <bits/c++locale_internal.h>
120.841 -+
120.842 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.843 -+#define __wctype_l(S, L) wctype((S))
120.844 -+#define __towupper_l(C, L) towupper((C))
120.845 -+#define __towlower_l(C, L) towlower((C))
120.846 -+#define __iswctype_l(C, M, L) iswctype((C), (M))
120.847 -+#endif
120.848 -+
120.849 -+namespace std
120.850 -+{
120.851 -+ // NB: The other ctype<char> specializations are in src/locale.cc and
120.852 -+ // various /config/os/* files.
120.853 -+ template<>
120.854 -+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
120.855 -+ : ctype<char>(0, false, __refs)
120.856 -+ {
120.857 -+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
120.858 -+ {
120.859 -+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
120.860 -+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
120.861 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.862 -+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
120.863 -+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
120.864 -+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
120.865 -+#endif
120.866 -+ }
120.867 -+ }
120.868 -+
120.869 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.870 -+ ctype<wchar_t>::__wmask_type
120.871 -+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
120.872 -+ {
120.873 -+ __wmask_type __ret;
120.874 -+ switch (__m)
120.875 -+ {
120.876 -+ case space:
120.877 -+ __ret = __wctype_l("space", _M_c_locale_ctype);
120.878 -+ break;
120.879 -+ case print:
120.880 -+ __ret = __wctype_l("print", _M_c_locale_ctype);
120.881 -+ break;
120.882 -+ case cntrl:
120.883 -+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
120.884 -+ break;
120.885 -+ case upper:
120.886 -+ __ret = __wctype_l("upper", _M_c_locale_ctype);
120.887 -+ break;
120.888 -+ case lower:
120.889 -+ __ret = __wctype_l("lower", _M_c_locale_ctype);
120.890 -+ break;
120.891 -+ case alpha:
120.892 -+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
120.893 -+ break;
120.894 -+ case digit:
120.895 -+ __ret = __wctype_l("digit", _M_c_locale_ctype);
120.896 -+ break;
120.897 -+ case punct:
120.898 -+ __ret = __wctype_l("punct", _M_c_locale_ctype);
120.899 -+ break;
120.900 -+ case xdigit:
120.901 -+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
120.902 -+ break;
120.903 -+ case alnum:
120.904 -+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
120.905 -+ break;
120.906 -+ case graph:
120.907 -+ __ret = __wctype_l("graph", _M_c_locale_ctype);
120.908 -+ break;
120.909 -+ default:
120.910 -+ __ret = __wmask_type();
120.911 -+ }
120.912 -+ return __ret;
120.913 -+ }
120.914 -+
120.915 -+ wchar_t
120.916 -+ ctype<wchar_t>::do_toupper(wchar_t __c) const
120.917 -+ { return __towupper_l(__c, _M_c_locale_ctype); }
120.918 -+
120.919 -+ const wchar_t*
120.920 -+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
120.921 -+ {
120.922 -+ while (__lo < __hi)
120.923 -+ {
120.924 -+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
120.925 -+ ++__lo;
120.926 -+ }
120.927 -+ return __hi;
120.928 -+ }
120.929 -+
120.930 -+ wchar_t
120.931 -+ ctype<wchar_t>::do_tolower(wchar_t __c) const
120.932 -+ { return __towlower_l(__c, _M_c_locale_ctype); }
120.933 -+
120.934 -+ const wchar_t*
120.935 -+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
120.936 -+ {
120.937 -+ while (__lo < __hi)
120.938 -+ {
120.939 -+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
120.940 -+ ++__lo;
120.941 -+ }
120.942 -+ return __hi;
120.943 -+ }
120.944 -+
120.945 -+ bool
120.946 -+ ctype<wchar_t>::
120.947 -+ do_is(mask __m, wchar_t __c) const
120.948 -+ {
120.949 -+ // The case of __m == ctype_base::space is particularly important,
120.950 -+ // due to its use in many istream functions. Therefore we deal with
120.951 -+ // it first, exploiting the knowledge that on GNU systems _M_bit[5]
120.952 -+ // is the mask corresponding to ctype_base::space. NB: an encoding
120.953 -+ // change would not affect correctness!
120.954 -+ bool __ret = false;
120.955 -+ if (__m == _M_bit[5])
120.956 -+ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
120.957 -+ else
120.958 -+ {
120.959 -+ // Highest bitmask in ctype_base == 10, but extra in "C"
120.960 -+ // library for blank.
120.961 -+ const size_t __bitmasksize = 11;
120.962 -+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
120.963 -+ if (__m & _M_bit[__bitcur])
120.964 -+ {
120.965 -+ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
120.966 -+ {
120.967 -+ __ret = true;
120.968 -+ break;
120.969 -+ }
120.970 -+ else if (__m == _M_bit[__bitcur])
120.971 -+ break;
120.972 -+ }
120.973 -+ }
120.974 -+ return __ret;
120.975 -+ }
120.976 -+
120.977 -+ const wchar_t*
120.978 -+ ctype<wchar_t>::
120.979 -+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
120.980 -+ {
120.981 -+ for (; __lo < __hi; ++__vec, ++__lo)
120.982 -+ {
120.983 -+ // Highest bitmask in ctype_base == 10, but extra in "C"
120.984 -+ // library for blank.
120.985 -+ const size_t __bitmasksize = 11;
120.986 -+ mask __m = 0;
120.987 -+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
120.988 -+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
120.989 -+ __m |= _M_bit[__bitcur];
120.990 -+ *__vec = __m;
120.991 -+ }
120.992 -+ return __hi;
120.993 -+ }
120.994 -+
120.995 -+ const wchar_t*
120.996 -+ ctype<wchar_t>::
120.997 -+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
120.998 -+ {
120.999 -+ while (__lo < __hi && !this->do_is(__m, *__lo))
120.1000 -+ ++__lo;
120.1001 -+ return __lo;
120.1002 -+ }
120.1003 -+
120.1004 -+ const wchar_t*
120.1005 -+ ctype<wchar_t>::
120.1006 -+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
120.1007 -+ {
120.1008 -+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
120.1009 -+ ++__lo;
120.1010 -+ return __lo;
120.1011 -+ }
120.1012 -+
120.1013 -+ wchar_t
120.1014 -+ ctype<wchar_t>::
120.1015 -+ do_widen(char __c) const
120.1016 -+ { return _M_widen[static_cast<unsigned char>(__c)]; }
120.1017 -+
120.1018 -+ const char*
120.1019 -+ ctype<wchar_t>::
120.1020 -+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
120.1021 -+ {
120.1022 -+ while (__lo < __hi)
120.1023 -+ {
120.1024 -+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
120.1025 -+ ++__lo;
120.1026 -+ ++__dest;
120.1027 -+ }
120.1028 -+ return __hi;
120.1029 -+ }
120.1030 -+
120.1031 -+ char
120.1032 -+ ctype<wchar_t>::
120.1033 -+ do_narrow(wchar_t __wc, char __dfault) const
120.1034 -+ {
120.1035 -+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
120.1036 -+ return _M_narrow[__wc];
120.1037 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1038 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
120.1039 -+#endif
120.1040 -+ const int __c = wctob(__wc);
120.1041 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1042 -+ __uselocale(__old);
120.1043 -+#endif
120.1044 -+ return (__c == EOF ? __dfault : static_cast<char>(__c));
120.1045 -+ }
120.1046 -+
120.1047 -+ const wchar_t*
120.1048 -+ ctype<wchar_t>::
120.1049 -+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
120.1050 -+ char* __dest) const
120.1051 -+ {
120.1052 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1053 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
120.1054 -+#endif
120.1055 -+ if (_M_narrow_ok)
120.1056 -+ while (__lo < __hi)
120.1057 -+ {
120.1058 -+ if (*__lo >= 0 && *__lo < 128)
120.1059 -+ *__dest = _M_narrow[*__lo];
120.1060 -+ else
120.1061 -+ {
120.1062 -+ const int __c = wctob(*__lo);
120.1063 -+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
120.1064 -+ }
120.1065 -+ ++__lo;
120.1066 -+ ++__dest;
120.1067 -+ }
120.1068 -+ else
120.1069 -+ while (__lo < __hi)
120.1070 -+ {
120.1071 -+ const int __c = wctob(*__lo);
120.1072 -+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
120.1073 -+ ++__lo;
120.1074 -+ ++__dest;
120.1075 -+ }
120.1076 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1077 -+ __uselocale(__old);
120.1078 -+#endif
120.1079 -+ return __hi;
120.1080 -+ }
120.1081 -+
120.1082 -+ void
120.1083 -+ ctype<wchar_t>::_M_initialize_ctype()
120.1084 -+ {
120.1085 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1086 -+ __c_locale __old = __uselocale(_M_c_locale_ctype);
120.1087 -+#endif
120.1088 -+ wint_t __i;
120.1089 -+ for (__i = 0; __i < 128; ++__i)
120.1090 -+ {
120.1091 -+ const int __c = wctob(__i);
120.1092 -+ if (__c == EOF)
120.1093 -+ break;
120.1094 -+ else
120.1095 -+ _M_narrow[__i] = static_cast<char>(__c);
120.1096 -+ }
120.1097 -+ if (__i == 128)
120.1098 -+ _M_narrow_ok = true;
120.1099 -+ else
120.1100 -+ _M_narrow_ok = false;
120.1101 -+ for (size_t __j = 0;
120.1102 -+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
120.1103 -+ _M_widen[__j] = btowc(__j);
120.1104 -+
120.1105 -+ for (size_t __k = 0; __k <= 11; ++__k)
120.1106 -+ {
120.1107 -+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
120.1108 -+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
120.1109 -+ }
120.1110 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1111 -+ __uselocale(__old);
120.1112 -+#endif
120.1113 -+ }
120.1114 -+#endif // _GLIBCXX_USE_WCHAR_T
120.1115 -+}
120.1116 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc
120.1117 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
120.1118 -@@ -0,0 +1,100 @@
120.1119 -+// std::messages implementation details, GNU version -*- C++ -*-
120.1120 -+
120.1121 -+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
120.1122 -+//
120.1123 -+// This file is part of the GNU ISO C++ Library. This library is free
120.1124 -+// software; you can redistribute it and/or modify it under the
120.1125 -+// terms of the GNU General Public License as published by the
120.1126 -+// Free Software Foundation; either version 2, or (at your option)
120.1127 -+// any later version.
120.1128 -+
120.1129 -+// This library is distributed in the hope that it will be useful,
120.1130 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.1131 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.1132 -+// GNU General Public License for more details.
120.1133 -+
120.1134 -+// You should have received a copy of the GNU General Public License along
120.1135 -+// with this library; see the file COPYING. If not, write to the Free
120.1136 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.1137 -+// USA.
120.1138 -+
120.1139 -+// As a special exception, you may use this file as part of a free software
120.1140 -+// library without restriction. Specifically, if other files instantiate
120.1141 -+// templates or use macros or inline functions from this file, or you compile
120.1142 -+// this file and link it with other files to produce an executable, this
120.1143 -+// file does not by itself cause the resulting executable to be covered by
120.1144 -+// the GNU General Public License. This exception does not however
120.1145 -+// invalidate any other reasons why the executable file might be covered by
120.1146 -+// the GNU General Public License.
120.1147 -+
120.1148 -+//
120.1149 -+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
120.1150 -+//
120.1151 -+
120.1152 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.1153 -+
120.1154 -+#include <locale>
120.1155 -+#include <bits/c++locale_internal.h>
120.1156 -+
120.1157 -+#ifdef __UCLIBC_MJN3_ONLY__
120.1158 -+#warning fix gettext stuff
120.1159 -+#endif
120.1160 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
120.1161 -+extern "C" char *__dcgettext(const char *domainname,
120.1162 -+ const char *msgid, int category);
120.1163 -+#undef gettext
120.1164 -+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
120.1165 -+#else
120.1166 -+#undef gettext
120.1167 -+#define gettext(msgid) (msgid)
120.1168 -+#endif
120.1169 -+
120.1170 -+namespace std
120.1171 -+{
120.1172 -+ // Specializations.
120.1173 -+ template<>
120.1174 -+ string
120.1175 -+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
120.1176 -+ {
120.1177 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1178 -+ __c_locale __old = __uselocale(_M_c_locale_messages);
120.1179 -+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
120.1180 -+ __uselocale(__old);
120.1181 -+ return string(__msg);
120.1182 -+#elif defined __UCLIBC_HAS_LOCALE__
120.1183 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.1184 -+ setlocale(LC_ALL, _M_name_messages);
120.1185 -+ const char* __msg = gettext(__dfault.c_str());
120.1186 -+ setlocale(LC_ALL, __old);
120.1187 -+ free(__old);
120.1188 -+ return string(__msg);
120.1189 -+#else
120.1190 -+ const char* __msg = gettext(__dfault.c_str());
120.1191 -+ return string(__msg);
120.1192 -+#endif
120.1193 -+ }
120.1194 -+
120.1195 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.1196 -+ template<>
120.1197 -+ wstring
120.1198 -+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
120.1199 -+ {
120.1200 -+# ifdef __UCLIBC_HAS_XLOCALE__
120.1201 -+ __c_locale __old = __uselocale(_M_c_locale_messages);
120.1202 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
120.1203 -+ __uselocale(__old);
120.1204 -+ return _M_convert_from_char(__msg);
120.1205 -+# elif defined __UCLIBC_HAS_LOCALE__
120.1206 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.1207 -+ setlocale(LC_ALL, _M_name_messages);
120.1208 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
120.1209 -+ setlocale(LC_ALL, __old);
120.1210 -+ free(__old);
120.1211 -+ return _M_convert_from_char(__msg);
120.1212 -+# else
120.1213 -+ char* __msg = gettext(_M_convert_to_char(__dfault));
120.1214 -+ return _M_convert_from_char(__msg);
120.1215 -+# endif
120.1216 -+ }
120.1217 -+#endif
120.1218 -+}
120.1219 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/messages_members.h
120.1220 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h
120.1221 -@@ -0,0 +1,121 @@
120.1222 -+// std::messages implementation details, GNU version -*- C++ -*-
120.1223 -+
120.1224 -+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
120.1225 -+//
120.1226 -+// This file is part of the GNU ISO C++ Library. This library is free
120.1227 -+// software; you can redistribute it and/or modify it under the
120.1228 -+// terms of the GNU General Public License as published by the
120.1229 -+// Free Software Foundation; either version 2, or (at your option)
120.1230 -+// any later version.
120.1231 -+
120.1232 -+// This library is distributed in the hope that it will be useful,
120.1233 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.1234 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.1235 -+// GNU General Public License for more details.
120.1236 -+
120.1237 -+// You should have received a copy of the GNU General Public License along
120.1238 -+// with this library; see the file COPYING. If not, write to the Free
120.1239 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.1240 -+// USA.
120.1241 -+
120.1242 -+// As a special exception, you may use this file as part of a free software
120.1243 -+// library without restriction. Specifically, if other files instantiate
120.1244 -+// templates or use macros or inline functions from this file, or you compile
120.1245 -+// this file and link it with other files to produce an executable, this
120.1246 -+// file does not by itself cause the resulting executable to be covered by
120.1247 -+// the GNU General Public License. This exception does not however
120.1248 -+// invalidate any other reasons why the executable file might be covered by
120.1249 -+// the GNU General Public License.
120.1250 -+
120.1251 -+//
120.1252 -+// ISO C++ 14882: 22.2.7.1.2 messages functions
120.1253 -+//
120.1254 -+
120.1255 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.1256 -+
120.1257 -+#ifdef __UCLIBC_MJN3_ONLY__
120.1258 -+#warning fix prototypes for *textdomain funcs
120.1259 -+#endif
120.1260 -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
120.1261 -+extern "C" char *__textdomain(const char *domainname);
120.1262 -+extern "C" char *__bindtextdomain(const char *domainname,
120.1263 -+ const char *dirname);
120.1264 -+#else
120.1265 -+#undef __textdomain
120.1266 -+#undef __bindtextdomain
120.1267 -+#define __textdomain(D) ((void)0)
120.1268 -+#define __bindtextdomain(D,P) ((void)0)
120.1269 -+#endif
120.1270 -+
120.1271 -+ // Non-virtual member functions.
120.1272 -+ template<typename _CharT>
120.1273 -+ messages<_CharT>::messages(size_t __refs)
120.1274 -+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
120.1275 -+ _M_name_messages(_S_get_c_name())
120.1276 -+ { }
120.1277 -+
120.1278 -+ template<typename _CharT>
120.1279 -+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
120.1280 -+ size_t __refs)
120.1281 -+ : facet(__refs), _M_c_locale_messages(NULL), _M_name_messages(NULL)
120.1282 -+ {
120.1283 -+ const size_t __len = std::strlen(__s) + 1;
120.1284 -+ char* __tmp = new char[__len];
120.1285 -+ std::memcpy(__tmp, __s, __len);
120.1286 -+ _M_name_messages = __tmp;
120.1287 -+
120.1288 -+ // Last to avoid leaking memory if new throws.
120.1289 -+ _M_c_locale_messages = _S_clone_c_locale(__cloc);
120.1290 -+ }
120.1291 -+
120.1292 -+ template<typename _CharT>
120.1293 -+ typename messages<_CharT>::catalog
120.1294 -+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
120.1295 -+ const char* __dir) const
120.1296 -+ {
120.1297 -+ __bindtextdomain(__s.c_str(), __dir);
120.1298 -+ return this->do_open(__s, __loc);
120.1299 -+ }
120.1300 -+
120.1301 -+ // Virtual member functions.
120.1302 -+ template<typename _CharT>
120.1303 -+ messages<_CharT>::~messages()
120.1304 -+ {
120.1305 -+ if (_M_name_messages != _S_get_c_name())
120.1306 -+ delete [] _M_name_messages;
120.1307 -+ _S_destroy_c_locale(_M_c_locale_messages);
120.1308 -+ }
120.1309 -+
120.1310 -+ template<typename _CharT>
120.1311 -+ typename messages<_CharT>::catalog
120.1312 -+ messages<_CharT>::do_open(const basic_string<char>& __s,
120.1313 -+ const locale&) const
120.1314 -+ {
120.1315 -+ // No error checking is done, assume the catalog exists and can
120.1316 -+ // be used.
120.1317 -+ __textdomain(__s.c_str());
120.1318 -+ return 0;
120.1319 -+ }
120.1320 -+
120.1321 -+ template<typename _CharT>
120.1322 -+ void
120.1323 -+ messages<_CharT>::do_close(catalog) const
120.1324 -+ { }
120.1325 -+
120.1326 -+ // messages_byname
120.1327 -+ template<typename _CharT>
120.1328 -+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
120.1329 -+ : messages<_CharT>(__refs)
120.1330 -+ {
120.1331 -+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
120.1332 -+ delete [] this->_M_name_messages;
120.1333 -+ char* __tmp = new char[std::strlen(__s) + 1];
120.1334 -+ std::strcpy(__tmp, __s);
120.1335 -+ this->_M_name_messages = __tmp;
120.1336 -+
120.1337 -+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
120.1338 -+ {
120.1339 -+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
120.1340 -+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
120.1341 -+ }
120.1342 -+ }
120.1343 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc
120.1344 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
120.1345 -@@ -0,0 +1,692 @@
120.1346 -+// std::moneypunct implementation details, GNU version -*- C++ -*-
120.1347 -+
120.1348 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
120.1349 -+//
120.1350 -+// This file is part of the GNU ISO C++ Library. This library is free
120.1351 -+// software; you can redistribute it and/or modify it under the
120.1352 -+// terms of the GNU General Public License as published by the
120.1353 -+// Free Software Foundation; either version 2, or (at your option)
120.1354 -+// any later version.
120.1355 -+
120.1356 -+// This library is distributed in the hope that it will be useful,
120.1357 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.1358 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.1359 -+// GNU General Public License for more details.
120.1360 -+
120.1361 -+// You should have received a copy of the GNU General Public License along
120.1362 -+// with this library; see the file COPYING. If not, write to the Free
120.1363 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.1364 -+// USA.
120.1365 -+
120.1366 -+// As a special exception, you may use this file as part of a free software
120.1367 -+// library without restriction. Specifically, if other files instantiate
120.1368 -+// templates or use macros or inline functions from this file, or you compile
120.1369 -+// this file and link it with other files to produce an executable, this
120.1370 -+// file does not by itself cause the resulting executable to be covered by
120.1371 -+// the GNU General Public License. This exception does not however
120.1372 -+// invalidate any other reasons why the executable file might be covered by
120.1373 -+// the GNU General Public License.
120.1374 -+
120.1375 -+//
120.1376 -+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
120.1377 -+//
120.1378 -+
120.1379 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.1380 -+
120.1381 -+#define _LIBC
120.1382 -+#include <locale>
120.1383 -+#undef _LIBC
120.1384 -+#include <bits/c++locale_internal.h>
120.1385 -+
120.1386 -+#ifdef __UCLIBC_MJN3_ONLY__
120.1387 -+#warning optimize this for uclibc
120.1388 -+#warning tailor for stub locale support
120.1389 -+#endif
120.1390 -+
120.1391 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.1392 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
120.1393 -+#endif
120.1394 -+
120.1395 -+namespace std
120.1396 -+{
120.1397 -+ // Construct and return valid pattern consisting of some combination of:
120.1398 -+ // space none symbol sign value
120.1399 -+ money_base::pattern
120.1400 -+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
120.1401 -+ {
120.1402 -+ pattern __ret;
120.1403 -+
120.1404 -+ // This insanely complicated routine attempts to construct a valid
120.1405 -+ // pattern for use with monyepunct. A couple of invariants:
120.1406 -+
120.1407 -+ // if (__precedes) symbol -> value
120.1408 -+ // else value -> symbol
120.1409 -+
120.1410 -+ // if (__space) space
120.1411 -+ // else none
120.1412 -+
120.1413 -+ // none == never first
120.1414 -+ // space never first or last
120.1415 -+
120.1416 -+ // Any elegant implementations of this are welcome.
120.1417 -+ switch (__posn)
120.1418 -+ {
120.1419 -+ case 0:
120.1420 -+ case 1:
120.1421 -+ // 1 The sign precedes the value and symbol.
120.1422 -+ __ret.field[0] = sign;
120.1423 -+ if (__space)
120.1424 -+ {
120.1425 -+ // Pattern starts with sign.
120.1426 -+ if (__precedes)
120.1427 -+ {
120.1428 -+ __ret.field[1] = symbol;
120.1429 -+ __ret.field[3] = value;
120.1430 -+ }
120.1431 -+ else
120.1432 -+ {
120.1433 -+ __ret.field[1] = value;
120.1434 -+ __ret.field[3] = symbol;
120.1435 -+ }
120.1436 -+ __ret.field[2] = space;
120.1437 -+ }
120.1438 -+ else
120.1439 -+ {
120.1440 -+ // Pattern starts with sign and ends with none.
120.1441 -+ if (__precedes)
120.1442 -+ {
120.1443 -+ __ret.field[1] = symbol;
120.1444 -+ __ret.field[2] = value;
120.1445 -+ }
120.1446 -+ else
120.1447 -+ {
120.1448 -+ __ret.field[1] = value;
120.1449 -+ __ret.field[2] = symbol;
120.1450 -+ }
120.1451 -+ __ret.field[3] = none;
120.1452 -+ }
120.1453 -+ break;
120.1454 -+ case 2:
120.1455 -+ // 2 The sign follows the value and symbol.
120.1456 -+ if (__space)
120.1457 -+ {
120.1458 -+ // Pattern either ends with sign.
120.1459 -+ if (__precedes)
120.1460 -+ {
120.1461 -+ __ret.field[0] = symbol;
120.1462 -+ __ret.field[2] = value;
120.1463 -+ }
120.1464 -+ else
120.1465 -+ {
120.1466 -+ __ret.field[0] = value;
120.1467 -+ __ret.field[2] = symbol;
120.1468 -+ }
120.1469 -+ __ret.field[1] = space;
120.1470 -+ __ret.field[3] = sign;
120.1471 -+ }
120.1472 -+ else
120.1473 -+ {
120.1474 -+ // Pattern ends with sign then none.
120.1475 -+ if (__precedes)
120.1476 -+ {
120.1477 -+ __ret.field[0] = symbol;
120.1478 -+ __ret.field[1] = value;
120.1479 -+ }
120.1480 -+ else
120.1481 -+ {
120.1482 -+ __ret.field[0] = value;
120.1483 -+ __ret.field[1] = symbol;
120.1484 -+ }
120.1485 -+ __ret.field[2] = sign;
120.1486 -+ __ret.field[3] = none;
120.1487 -+ }
120.1488 -+ break;
120.1489 -+ case 3:
120.1490 -+ // 3 The sign immediately precedes the symbol.
120.1491 -+ if (__precedes)
120.1492 -+ {
120.1493 -+ __ret.field[0] = sign;
120.1494 -+ __ret.field[1] = symbol;
120.1495 -+ if (__space)
120.1496 -+ {
120.1497 -+ __ret.field[2] = space;
120.1498 -+ __ret.field[3] = value;
120.1499 -+ }
120.1500 -+ else
120.1501 -+ {
120.1502 -+ __ret.field[2] = value;
120.1503 -+ __ret.field[3] = none;
120.1504 -+ }
120.1505 -+ }
120.1506 -+ else
120.1507 -+ {
120.1508 -+ __ret.field[0] = value;
120.1509 -+ if (__space)
120.1510 -+ {
120.1511 -+ __ret.field[1] = space;
120.1512 -+ __ret.field[2] = sign;
120.1513 -+ __ret.field[3] = symbol;
120.1514 -+ }
120.1515 -+ else
120.1516 -+ {
120.1517 -+ __ret.field[1] = sign;
120.1518 -+ __ret.field[2] = symbol;
120.1519 -+ __ret.field[3] = none;
120.1520 -+ }
120.1521 -+ }
120.1522 -+ break;
120.1523 -+ case 4:
120.1524 -+ // 4 The sign immediately follows the symbol.
120.1525 -+ if (__precedes)
120.1526 -+ {
120.1527 -+ __ret.field[0] = symbol;
120.1528 -+ __ret.field[1] = sign;
120.1529 -+ if (__space)
120.1530 -+ {
120.1531 -+ __ret.field[2] = space;
120.1532 -+ __ret.field[3] = value;
120.1533 -+ }
120.1534 -+ else
120.1535 -+ {
120.1536 -+ __ret.field[2] = value;
120.1537 -+ __ret.field[3] = none;
120.1538 -+ }
120.1539 -+ }
120.1540 -+ else
120.1541 -+ {
120.1542 -+ __ret.field[0] = value;
120.1543 -+ if (__space)
120.1544 -+ {
120.1545 -+ __ret.field[1] = space;
120.1546 -+ __ret.field[2] = symbol;
120.1547 -+ __ret.field[3] = sign;
120.1548 -+ }
120.1549 -+ else
120.1550 -+ {
120.1551 -+ __ret.field[1] = symbol;
120.1552 -+ __ret.field[2] = sign;
120.1553 -+ __ret.field[3] = none;
120.1554 -+ }
120.1555 -+ }
120.1556 -+ break;
120.1557 -+ default:
120.1558 -+ __ret = pattern();
120.1559 -+ }
120.1560 -+ return __ret;
120.1561 -+ }
120.1562 -+
120.1563 -+ template<>
120.1564 -+ void
120.1565 -+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
120.1566 -+ const char*)
120.1567 -+ {
120.1568 -+ if (!_M_data)
120.1569 -+ _M_data = new __moneypunct_cache<char, true>;
120.1570 -+
120.1571 -+ if (!__cloc)
120.1572 -+ {
120.1573 -+ // "C" locale
120.1574 -+ _M_data->_M_decimal_point = '.';
120.1575 -+ _M_data->_M_thousands_sep = ',';
120.1576 -+ _M_data->_M_grouping = "";
120.1577 -+ _M_data->_M_grouping_size = 0;
120.1578 -+ _M_data->_M_curr_symbol = "";
120.1579 -+ _M_data->_M_curr_symbol_size = 0;
120.1580 -+ _M_data->_M_positive_sign = "";
120.1581 -+ _M_data->_M_positive_sign_size = 0;
120.1582 -+ _M_data->_M_negative_sign = "";
120.1583 -+ _M_data->_M_negative_sign_size = 0;
120.1584 -+ _M_data->_M_frac_digits = 0;
120.1585 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
120.1586 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
120.1587 -+
120.1588 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
120.1589 -+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
120.1590 -+ }
120.1591 -+ else
120.1592 -+ {
120.1593 -+ // Named locale.
120.1594 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
120.1595 -+ __cloc));
120.1596 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
120.1597 -+ __cloc));
120.1598 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
120.1599 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.1600 -+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
120.1601 -+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
120.1602 -+
120.1603 -+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
120.1604 -+ if (!__nposn)
120.1605 -+ _M_data->_M_negative_sign = "()";
120.1606 -+ else
120.1607 -+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
120.1608 -+ __cloc);
120.1609 -+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
120.1610 -+
120.1611 -+ // _Intl == true
120.1612 -+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
120.1613 -+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
120.1614 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
120.1615 -+ __cloc));
120.1616 -+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
120.1617 -+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
120.1618 -+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
120.1619 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
120.1620 -+ __pposn);
120.1621 -+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
120.1622 -+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
120.1623 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
120.1624 -+ __nposn);
120.1625 -+ }
120.1626 -+ }
120.1627 -+
120.1628 -+ template<>
120.1629 -+ void
120.1630 -+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
120.1631 -+ const char*)
120.1632 -+ {
120.1633 -+ if (!_M_data)
120.1634 -+ _M_data = new __moneypunct_cache<char, false>;
120.1635 -+
120.1636 -+ if (!__cloc)
120.1637 -+ {
120.1638 -+ // "C" locale
120.1639 -+ _M_data->_M_decimal_point = '.';
120.1640 -+ _M_data->_M_thousands_sep = ',';
120.1641 -+ _M_data->_M_grouping = "";
120.1642 -+ _M_data->_M_grouping_size = 0;
120.1643 -+ _M_data->_M_curr_symbol = "";
120.1644 -+ _M_data->_M_curr_symbol_size = 0;
120.1645 -+ _M_data->_M_positive_sign = "";
120.1646 -+ _M_data->_M_positive_sign_size = 0;
120.1647 -+ _M_data->_M_negative_sign = "";
120.1648 -+ _M_data->_M_negative_sign_size = 0;
120.1649 -+ _M_data->_M_frac_digits = 0;
120.1650 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
120.1651 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
120.1652 -+
120.1653 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
120.1654 -+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
120.1655 -+ }
120.1656 -+ else
120.1657 -+ {
120.1658 -+ // Named locale.
120.1659 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
120.1660 -+ __cloc));
120.1661 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
120.1662 -+ __cloc));
120.1663 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
120.1664 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.1665 -+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
120.1666 -+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
120.1667 -+
120.1668 -+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
120.1669 -+ if (!__nposn)
120.1670 -+ _M_data->_M_negative_sign = "()";
120.1671 -+ else
120.1672 -+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
120.1673 -+ __cloc);
120.1674 -+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
120.1675 -+
120.1676 -+ // _Intl == false
120.1677 -+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
120.1678 -+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
120.1679 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
120.1680 -+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
120.1681 -+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
120.1682 -+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
120.1683 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
120.1684 -+ __pposn);
120.1685 -+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
120.1686 -+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
120.1687 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
120.1688 -+ __nposn);
120.1689 -+ }
120.1690 -+ }
120.1691 -+
120.1692 -+ template<>
120.1693 -+ moneypunct<char, true>::~moneypunct()
120.1694 -+ { delete _M_data; }
120.1695 -+
120.1696 -+ template<>
120.1697 -+ moneypunct<char, false>::~moneypunct()
120.1698 -+ { delete _M_data; }
120.1699 -+
120.1700 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.1701 -+ template<>
120.1702 -+ void
120.1703 -+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
120.1704 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1705 -+ const char*)
120.1706 -+#else
120.1707 -+ const char* __name)
120.1708 -+#endif
120.1709 -+ {
120.1710 -+ if (!_M_data)
120.1711 -+ _M_data = new __moneypunct_cache<wchar_t, true>;
120.1712 -+
120.1713 -+ if (!__cloc)
120.1714 -+ {
120.1715 -+ // "C" locale
120.1716 -+ _M_data->_M_decimal_point = L'.';
120.1717 -+ _M_data->_M_thousands_sep = L',';
120.1718 -+ _M_data->_M_grouping = "";
120.1719 -+ _M_data->_M_grouping_size = 0;
120.1720 -+ _M_data->_M_curr_symbol = L"";
120.1721 -+ _M_data->_M_curr_symbol_size = 0;
120.1722 -+ _M_data->_M_positive_sign = L"";
120.1723 -+ _M_data->_M_positive_sign_size = 0;
120.1724 -+ _M_data->_M_negative_sign = L"";
120.1725 -+ _M_data->_M_negative_sign_size = 0;
120.1726 -+ _M_data->_M_frac_digits = 0;
120.1727 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
120.1728 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
120.1729 -+
120.1730 -+ // Use ctype::widen code without the facet...
120.1731 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
120.1732 -+ _M_data->_M_atoms[__i] =
120.1733 -+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
120.1734 -+ }
120.1735 -+ else
120.1736 -+ {
120.1737 -+ // Named locale.
120.1738 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1739 -+ __c_locale __old = __uselocale(__cloc);
120.1740 -+#else
120.1741 -+ // Switch to named locale so that mbsrtowcs will work.
120.1742 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.1743 -+ setlocale(LC_ALL, __name);
120.1744 -+#endif
120.1745 -+
120.1746 -+#ifdef __UCLIBC_MJN3_ONLY__
120.1747 -+#warning fix this... should be monetary
120.1748 -+#endif
120.1749 -+#ifdef __UCLIBC__
120.1750 -+# ifdef __UCLIBC_HAS_XLOCALE__
120.1751 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
120.1752 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
120.1753 -+# elif defined __UCLIBC_HAS_LOCALE__
120.1754 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
120.1755 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
120.1756 -+# endif
120.1757 -+#else
120.1758 -+ union { char *__s; wchar_t __w; } __u;
120.1759 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
120.1760 -+ _M_data->_M_decimal_point = __u.__w;
120.1761 -+
120.1762 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
120.1763 -+ _M_data->_M_thousands_sep = __u.__w;
120.1764 -+#endif
120.1765 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
120.1766 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.1767 -+
120.1768 -+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
120.1769 -+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
120.1770 -+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
120.1771 -+
120.1772 -+ wchar_t* __wcs_ps = 0;
120.1773 -+ wchar_t* __wcs_ns = 0;
120.1774 -+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
120.1775 -+ try
120.1776 -+ {
120.1777 -+ mbstate_t __state;
120.1778 -+ size_t __len = strlen(__cpossign);
120.1779 -+ if (__len)
120.1780 -+ {
120.1781 -+ ++__len;
120.1782 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1783 -+ __wcs_ps = new wchar_t[__len];
120.1784 -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
120.1785 -+ _M_data->_M_positive_sign = __wcs_ps;
120.1786 -+ }
120.1787 -+ else
120.1788 -+ _M_data->_M_positive_sign = L"";
120.1789 -+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
120.1790 -+
120.1791 -+ __len = strlen(__cnegsign);
120.1792 -+ if (!__nposn)
120.1793 -+ _M_data->_M_negative_sign = L"()";
120.1794 -+ else if (__len)
120.1795 -+ {
120.1796 -+ ++__len;
120.1797 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1798 -+ __wcs_ns = new wchar_t[__len];
120.1799 -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
120.1800 -+ _M_data->_M_negative_sign = __wcs_ns;
120.1801 -+ }
120.1802 -+ else
120.1803 -+ _M_data->_M_negative_sign = L"";
120.1804 -+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
120.1805 -+
120.1806 -+ // _Intl == true.
120.1807 -+ __len = strlen(__ccurr);
120.1808 -+ if (__len)
120.1809 -+ {
120.1810 -+ ++__len;
120.1811 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1812 -+ wchar_t* __wcs = new wchar_t[__len];
120.1813 -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
120.1814 -+ _M_data->_M_curr_symbol = __wcs;
120.1815 -+ }
120.1816 -+ else
120.1817 -+ _M_data->_M_curr_symbol = L"";
120.1818 -+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
120.1819 -+ }
120.1820 -+ catch (...)
120.1821 -+ {
120.1822 -+ delete _M_data;
120.1823 -+ _M_data = 0;
120.1824 -+ delete __wcs_ps;
120.1825 -+ delete __wcs_ns;
120.1826 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1827 -+ __uselocale(__old);
120.1828 -+#else
120.1829 -+ setlocale(LC_ALL, __old);
120.1830 -+ free(__old);
120.1831 -+#endif
120.1832 -+ __throw_exception_again;
120.1833 -+ }
120.1834 -+
120.1835 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
120.1836 -+ __cloc));
120.1837 -+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
120.1838 -+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
120.1839 -+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
120.1840 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
120.1841 -+ __pposn);
120.1842 -+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
120.1843 -+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
120.1844 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
120.1845 -+ __nposn);
120.1846 -+
120.1847 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1848 -+ __uselocale(__old);
120.1849 -+#else
120.1850 -+ setlocale(LC_ALL, __old);
120.1851 -+ free(__old);
120.1852 -+#endif
120.1853 -+ }
120.1854 -+ }
120.1855 -+
120.1856 -+ template<>
120.1857 -+ void
120.1858 -+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
120.1859 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1860 -+ const char*)
120.1861 -+#else
120.1862 -+ const char* __name)
120.1863 -+#endif
120.1864 -+ {
120.1865 -+ if (!_M_data)
120.1866 -+ _M_data = new __moneypunct_cache<wchar_t, false>;
120.1867 -+
120.1868 -+ if (!__cloc)
120.1869 -+ {
120.1870 -+ // "C" locale
120.1871 -+ _M_data->_M_decimal_point = L'.';
120.1872 -+ _M_data->_M_thousands_sep = L',';
120.1873 -+ _M_data->_M_grouping = "";
120.1874 -+ _M_data->_M_grouping_size = 0;
120.1875 -+ _M_data->_M_curr_symbol = L"";
120.1876 -+ _M_data->_M_curr_symbol_size = 0;
120.1877 -+ _M_data->_M_positive_sign = L"";
120.1878 -+ _M_data->_M_positive_sign_size = 0;
120.1879 -+ _M_data->_M_negative_sign = L"";
120.1880 -+ _M_data->_M_negative_sign_size = 0;
120.1881 -+ _M_data->_M_frac_digits = 0;
120.1882 -+ _M_data->_M_pos_format = money_base::_S_default_pattern;
120.1883 -+ _M_data->_M_neg_format = money_base::_S_default_pattern;
120.1884 -+
120.1885 -+ // Use ctype::widen code without the facet...
120.1886 -+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
120.1887 -+ _M_data->_M_atoms[__i] =
120.1888 -+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
120.1889 -+ }
120.1890 -+ else
120.1891 -+ {
120.1892 -+ // Named locale.
120.1893 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1894 -+ __c_locale __old = __uselocale(__cloc);
120.1895 -+#else
120.1896 -+ // Switch to named locale so that mbsrtowcs will work.
120.1897 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.1898 -+ setlocale(LC_ALL, __name);
120.1899 -+#endif
120.1900 -+
120.1901 -+#ifdef __UCLIBC_MJN3_ONLY__
120.1902 -+#warning fix this... should be monetary
120.1903 -+#endif
120.1904 -+#ifdef __UCLIBC__
120.1905 -+# ifdef __UCLIBC_HAS_XLOCALE__
120.1906 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
120.1907 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
120.1908 -+# elif defined __UCLIBC_HAS_LOCALE__
120.1909 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
120.1910 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
120.1911 -+# endif
120.1912 -+#else
120.1913 -+ union { char *__s; wchar_t __w; } __u;
120.1914 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
120.1915 -+ _M_data->_M_decimal_point = __u.__w;
120.1916 -+
120.1917 -+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
120.1918 -+ _M_data->_M_thousands_sep = __u.__w;
120.1919 -+#endif
120.1920 -+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
120.1921 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.1922 -+
120.1923 -+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
120.1924 -+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
120.1925 -+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
120.1926 -+
120.1927 -+ wchar_t* __wcs_ps = 0;
120.1928 -+ wchar_t* __wcs_ns = 0;
120.1929 -+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
120.1930 -+ try
120.1931 -+ {
120.1932 -+ mbstate_t __state;
120.1933 -+ size_t __len;
120.1934 -+ __len = strlen(__cpossign);
120.1935 -+ if (__len)
120.1936 -+ {
120.1937 -+ ++__len;
120.1938 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1939 -+ __wcs_ps = new wchar_t[__len];
120.1940 -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
120.1941 -+ _M_data->_M_positive_sign = __wcs_ps;
120.1942 -+ }
120.1943 -+ else
120.1944 -+ _M_data->_M_positive_sign = L"";
120.1945 -+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
120.1946 -+
120.1947 -+ __len = strlen(__cnegsign);
120.1948 -+ if (!__nposn)
120.1949 -+ _M_data->_M_negative_sign = L"()";
120.1950 -+ else if (__len)
120.1951 -+ {
120.1952 -+ ++__len;
120.1953 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1954 -+ __wcs_ns = new wchar_t[__len];
120.1955 -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
120.1956 -+ _M_data->_M_negative_sign = __wcs_ns;
120.1957 -+ }
120.1958 -+ else
120.1959 -+ _M_data->_M_negative_sign = L"";
120.1960 -+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
120.1961 -+
120.1962 -+ // _Intl == true.
120.1963 -+ __len = strlen(__ccurr);
120.1964 -+ if (__len)
120.1965 -+ {
120.1966 -+ ++__len;
120.1967 -+ memset(&__state, 0, sizeof(mbstate_t));
120.1968 -+ wchar_t* __wcs = new wchar_t[__len];
120.1969 -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
120.1970 -+ _M_data->_M_curr_symbol = __wcs;
120.1971 -+ }
120.1972 -+ else
120.1973 -+ _M_data->_M_curr_symbol = L"";
120.1974 -+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
120.1975 -+ }
120.1976 -+ catch (...)
120.1977 -+ {
120.1978 -+ delete _M_data;
120.1979 -+ _M_data = 0;
120.1980 -+ delete __wcs_ps;
120.1981 -+ delete __wcs_ns;
120.1982 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.1983 -+ __uselocale(__old);
120.1984 -+#else
120.1985 -+ setlocale(LC_ALL, __old);
120.1986 -+ free(__old);
120.1987 -+#endif
120.1988 -+ __throw_exception_again;
120.1989 -+ }
120.1990 -+
120.1991 -+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
120.1992 -+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
120.1993 -+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
120.1994 -+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
120.1995 -+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
120.1996 -+ __pposn);
120.1997 -+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
120.1998 -+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
120.1999 -+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
120.2000 -+ __nposn);
120.2001 -+
120.2002 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.2003 -+ __uselocale(__old);
120.2004 -+#else
120.2005 -+ setlocale(LC_ALL, __old);
120.2006 -+ free(__old);
120.2007 -+#endif
120.2008 -+ }
120.2009 -+ }
120.2010 -+
120.2011 -+ template<>
120.2012 -+ moneypunct<wchar_t, true>::~moneypunct()
120.2013 -+ {
120.2014 -+ if (_M_data->_M_positive_sign_size)
120.2015 -+ delete [] _M_data->_M_positive_sign;
120.2016 -+ if (_M_data->_M_negative_sign_size
120.2017 -+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
120.2018 -+ delete [] _M_data->_M_negative_sign;
120.2019 -+ if (_M_data->_M_curr_symbol_size)
120.2020 -+ delete [] _M_data->_M_curr_symbol;
120.2021 -+ delete _M_data;
120.2022 -+ }
120.2023 -+
120.2024 -+ template<>
120.2025 -+ moneypunct<wchar_t, false>::~moneypunct()
120.2026 -+ {
120.2027 -+ if (_M_data->_M_positive_sign_size)
120.2028 -+ delete [] _M_data->_M_positive_sign;
120.2029 -+ if (_M_data->_M_negative_sign_size
120.2030 -+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
120.2031 -+ delete [] _M_data->_M_negative_sign;
120.2032 -+ if (_M_data->_M_curr_symbol_size)
120.2033 -+ delete [] _M_data->_M_curr_symbol;
120.2034 -+ delete _M_data;
120.2035 -+ }
120.2036 -+#endif
120.2037 -+}
120.2038 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc
120.2039 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
120.2040 -@@ -0,0 +1,173 @@
120.2041 -+// std::numpunct implementation details, GNU version -*- C++ -*-
120.2042 -+
120.2043 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
120.2044 -+//
120.2045 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2046 -+// software; you can redistribute it and/or modify it under the
120.2047 -+// terms of the GNU General Public License as published by the
120.2048 -+// Free Software Foundation; either version 2, or (at your option)
120.2049 -+// any later version.
120.2050 -+
120.2051 -+// This library is distributed in the hope that it will be useful,
120.2052 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2053 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2054 -+// GNU General Public License for more details.
120.2055 -+
120.2056 -+// You should have received a copy of the GNU General Public License along
120.2057 -+// with this library; see the file COPYING. If not, write to the Free
120.2058 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.2059 -+// USA.
120.2060 -+
120.2061 -+// As a special exception, you may use this file as part of a free software
120.2062 -+// library without restriction. Specifically, if other files instantiate
120.2063 -+// templates or use macros or inline functions from this file, or you compile
120.2064 -+// this file and link it with other files to produce an executable, this
120.2065 -+// file does not by itself cause the resulting executable to be covered by
120.2066 -+// the GNU General Public License. This exception does not however
120.2067 -+// invalidate any other reasons why the executable file might be covered by
120.2068 -+// the GNU General Public License.
120.2069 -+
120.2070 -+//
120.2071 -+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
120.2072 -+//
120.2073 -+
120.2074 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.2075 -+
120.2076 -+#define _LIBC
120.2077 -+#include <locale>
120.2078 -+#undef _LIBC
120.2079 -+#include <bits/c++locale_internal.h>
120.2080 -+
120.2081 -+#ifdef __UCLIBC_MJN3_ONLY__
120.2082 -+#warning tailor for stub locale support
120.2083 -+#endif
120.2084 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.2085 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
120.2086 -+#endif
120.2087 -+
120.2088 -+namespace std
120.2089 -+{
120.2090 -+ template<>
120.2091 -+ void
120.2092 -+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
120.2093 -+ {
120.2094 -+ if (!_M_data)
120.2095 -+ _M_data = new __numpunct_cache<char>;
120.2096 -+
120.2097 -+ if (!__cloc)
120.2098 -+ {
120.2099 -+ // "C" locale
120.2100 -+ _M_data->_M_grouping = "";
120.2101 -+ _M_data->_M_grouping_size = 0;
120.2102 -+ _M_data->_M_use_grouping = false;
120.2103 -+
120.2104 -+ _M_data->_M_decimal_point = '.';
120.2105 -+ _M_data->_M_thousands_sep = ',';
120.2106 -+
120.2107 -+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
120.2108 -+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
120.2109 -+
120.2110 -+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
120.2111 -+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
120.2112 -+ }
120.2113 -+ else
120.2114 -+ {
120.2115 -+ // Named locale.
120.2116 -+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
120.2117 -+ __cloc));
120.2118 -+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
120.2119 -+ __cloc));
120.2120 -+
120.2121 -+ // Check for NULL, which implies no grouping.
120.2122 -+ if (_M_data->_M_thousands_sep == '\0')
120.2123 -+ _M_data->_M_grouping = "";
120.2124 -+ else
120.2125 -+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
120.2126 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.2127 -+ }
120.2128 -+
120.2129 -+ // NB: There is no way to extact this info from posix locales.
120.2130 -+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
120.2131 -+ _M_data->_M_truename = "true";
120.2132 -+ _M_data->_M_truename_size = 4;
120.2133 -+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
120.2134 -+ _M_data->_M_falsename = "false";
120.2135 -+ _M_data->_M_falsename_size = 5;
120.2136 -+ }
120.2137 -+
120.2138 -+ template<>
120.2139 -+ numpunct<char>::~numpunct()
120.2140 -+ { delete _M_data; }
120.2141 -+
120.2142 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.2143 -+ template<>
120.2144 -+ void
120.2145 -+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
120.2146 -+ {
120.2147 -+ if (!_M_data)
120.2148 -+ _M_data = new __numpunct_cache<wchar_t>;
120.2149 -+
120.2150 -+ if (!__cloc)
120.2151 -+ {
120.2152 -+ // "C" locale
120.2153 -+ _M_data->_M_grouping = "";
120.2154 -+ _M_data->_M_grouping_size = 0;
120.2155 -+ _M_data->_M_use_grouping = false;
120.2156 -+
120.2157 -+ _M_data->_M_decimal_point = L'.';
120.2158 -+ _M_data->_M_thousands_sep = L',';
120.2159 -+
120.2160 -+ // Use ctype::widen code without the facet...
120.2161 -+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
120.2162 -+ _M_data->_M_atoms_out[__i] =
120.2163 -+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
120.2164 -+
120.2165 -+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
120.2166 -+ _M_data->_M_atoms_in[__j] =
120.2167 -+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
120.2168 -+ }
120.2169 -+ else
120.2170 -+ {
120.2171 -+ // Named locale.
120.2172 -+ // NB: In the GNU model wchar_t is always 32 bit wide.
120.2173 -+#ifdef __UCLIBC_MJN3_ONLY__
120.2174 -+#warning fix this
120.2175 -+#endif
120.2176 -+#ifdef __UCLIBC__
120.2177 -+# ifdef __UCLIBC_HAS_XLOCALE__
120.2178 -+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
120.2179 -+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
120.2180 -+# elif defined __UCLIBC_HAS_LOCALE__
120.2181 -+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
120.2182 -+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
120.2183 -+# endif
120.2184 -+#else
120.2185 -+ union { char *__s; wchar_t __w; } __u;
120.2186 -+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
120.2187 -+ _M_data->_M_decimal_point = __u.__w;
120.2188 -+
120.2189 -+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
120.2190 -+ _M_data->_M_thousands_sep = __u.__w;
120.2191 -+#endif
120.2192 -+
120.2193 -+ if (_M_data->_M_thousands_sep == L'\0')
120.2194 -+ _M_data->_M_grouping = "";
120.2195 -+ else
120.2196 -+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
120.2197 -+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
120.2198 -+ }
120.2199 -+
120.2200 -+ // NB: There is no way to extact this info from posix locales.
120.2201 -+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
120.2202 -+ _M_data->_M_truename = L"true";
120.2203 -+ _M_data->_M_truename_size = 4;
120.2204 -+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
120.2205 -+ _M_data->_M_falsename = L"false";
120.2206 -+ _M_data->_M_falsename_size = 5;
120.2207 -+ }
120.2208 -+
120.2209 -+ template<>
120.2210 -+ numpunct<wchar_t>::~numpunct()
120.2211 -+ { delete _M_data; }
120.2212 -+ #endif
120.2213 -+}
120.2214 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/time_members.cc
120.2215 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc
120.2216 -@@ -0,0 +1,406 @@
120.2217 -+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
120.2218 -+
120.2219 -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
120.2220 -+//
120.2221 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2222 -+// software; you can redistribute it and/or modify it under the
120.2223 -+// terms of the GNU General Public License as published by the
120.2224 -+// Free Software Foundation; either version 2, or (at your option)
120.2225 -+// any later version.
120.2226 -+
120.2227 -+// This library is distributed in the hope that it will be useful,
120.2228 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2229 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2230 -+// GNU General Public License for more details.
120.2231 -+
120.2232 -+// You should have received a copy of the GNU General Public License along
120.2233 -+// with this library; see the file COPYING. If not, write to the Free
120.2234 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.2235 -+// USA.
120.2236 -+
120.2237 -+// As a special exception, you may use this file as part of a free software
120.2238 -+// library without restriction. Specifically, if other files instantiate
120.2239 -+// templates or use macros or inline functions from this file, or you compile
120.2240 -+// this file and link it with other files to produce an executable, this
120.2241 -+// file does not by itself cause the resulting executable to be covered by
120.2242 -+// the GNU General Public License. This exception does not however
120.2243 -+// invalidate any other reasons why the executable file might be covered by
120.2244 -+// the GNU General Public License.
120.2245 -+
120.2246 -+//
120.2247 -+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
120.2248 -+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
120.2249 -+//
120.2250 -+
120.2251 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.2252 -+
120.2253 -+#include <locale>
120.2254 -+#include <bits/c++locale_internal.h>
120.2255 -+
120.2256 -+#ifdef __UCLIBC_MJN3_ONLY__
120.2257 -+#warning tailor for stub locale support
120.2258 -+#endif
120.2259 -+#ifndef __UCLIBC_HAS_XLOCALE__
120.2260 -+#define __nl_langinfo_l(N, L) nl_langinfo((N))
120.2261 -+#endif
120.2262 -+
120.2263 -+namespace std
120.2264 -+{
120.2265 -+ template<>
120.2266 -+ void
120.2267 -+ __timepunct<char>::
120.2268 -+ _M_put(char* __s, size_t __maxlen, const char* __format,
120.2269 -+ const tm* __tm) const
120.2270 -+ {
120.2271 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.2272 -+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
120.2273 -+ _M_c_locale_timepunct);
120.2274 -+#else
120.2275 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.2276 -+ setlocale(LC_ALL, _M_name_timepunct);
120.2277 -+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
120.2278 -+ setlocale(LC_ALL, __old);
120.2279 -+ free(__old);
120.2280 -+#endif
120.2281 -+ // Make sure __s is null terminated.
120.2282 -+ if (__len == 0)
120.2283 -+ __s[0] = '\0';
120.2284 -+ }
120.2285 -+
120.2286 -+ template<>
120.2287 -+ void
120.2288 -+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
120.2289 -+ {
120.2290 -+ if (!_M_data)
120.2291 -+ _M_data = new __timepunct_cache<char>;
120.2292 -+
120.2293 -+ if (!__cloc)
120.2294 -+ {
120.2295 -+ // "C" locale
120.2296 -+ _M_c_locale_timepunct = _S_get_c_locale();
120.2297 -+
120.2298 -+ _M_data->_M_date_format = "%m/%d/%y";
120.2299 -+ _M_data->_M_date_era_format = "%m/%d/%y";
120.2300 -+ _M_data->_M_time_format = "%H:%M:%S";
120.2301 -+ _M_data->_M_time_era_format = "%H:%M:%S";
120.2302 -+ _M_data->_M_date_time_format = "";
120.2303 -+ _M_data->_M_date_time_era_format = "";
120.2304 -+ _M_data->_M_am = "AM";
120.2305 -+ _M_data->_M_pm = "PM";
120.2306 -+ _M_data->_M_am_pm_format = "";
120.2307 -+
120.2308 -+ // Day names, starting with "C"'s Sunday.
120.2309 -+ _M_data->_M_day1 = "Sunday";
120.2310 -+ _M_data->_M_day2 = "Monday";
120.2311 -+ _M_data->_M_day3 = "Tuesday";
120.2312 -+ _M_data->_M_day4 = "Wednesday";
120.2313 -+ _M_data->_M_day5 = "Thursday";
120.2314 -+ _M_data->_M_day6 = "Friday";
120.2315 -+ _M_data->_M_day7 = "Saturday";
120.2316 -+
120.2317 -+ // Abbreviated day names, starting with "C"'s Sun.
120.2318 -+ _M_data->_M_aday1 = "Sun";
120.2319 -+ _M_data->_M_aday2 = "Mon";
120.2320 -+ _M_data->_M_aday3 = "Tue";
120.2321 -+ _M_data->_M_aday4 = "Wed";
120.2322 -+ _M_data->_M_aday5 = "Thu";
120.2323 -+ _M_data->_M_aday6 = "Fri";
120.2324 -+ _M_data->_M_aday7 = "Sat";
120.2325 -+
120.2326 -+ // Month names, starting with "C"'s January.
120.2327 -+ _M_data->_M_month01 = "January";
120.2328 -+ _M_data->_M_month02 = "February";
120.2329 -+ _M_data->_M_month03 = "March";
120.2330 -+ _M_data->_M_month04 = "April";
120.2331 -+ _M_data->_M_month05 = "May";
120.2332 -+ _M_data->_M_month06 = "June";
120.2333 -+ _M_data->_M_month07 = "July";
120.2334 -+ _M_data->_M_month08 = "August";
120.2335 -+ _M_data->_M_month09 = "September";
120.2336 -+ _M_data->_M_month10 = "October";
120.2337 -+ _M_data->_M_month11 = "November";
120.2338 -+ _M_data->_M_month12 = "December";
120.2339 -+
120.2340 -+ // Abbreviated month names, starting with "C"'s Jan.
120.2341 -+ _M_data->_M_amonth01 = "Jan";
120.2342 -+ _M_data->_M_amonth02 = "Feb";
120.2343 -+ _M_data->_M_amonth03 = "Mar";
120.2344 -+ _M_data->_M_amonth04 = "Apr";
120.2345 -+ _M_data->_M_amonth05 = "May";
120.2346 -+ _M_data->_M_amonth06 = "Jun";
120.2347 -+ _M_data->_M_amonth07 = "Jul";
120.2348 -+ _M_data->_M_amonth08 = "Aug";
120.2349 -+ _M_data->_M_amonth09 = "Sep";
120.2350 -+ _M_data->_M_amonth10 = "Oct";
120.2351 -+ _M_data->_M_amonth11 = "Nov";
120.2352 -+ _M_data->_M_amonth12 = "Dec";
120.2353 -+ }
120.2354 -+ else
120.2355 -+ {
120.2356 -+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
120.2357 -+
120.2358 -+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
120.2359 -+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
120.2360 -+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
120.2361 -+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
120.2362 -+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
120.2363 -+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
120.2364 -+ __cloc);
120.2365 -+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
120.2366 -+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
120.2367 -+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
120.2368 -+
120.2369 -+ // Day names, starting with "C"'s Sunday.
120.2370 -+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
120.2371 -+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
120.2372 -+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
120.2373 -+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
120.2374 -+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
120.2375 -+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
120.2376 -+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
120.2377 -+
120.2378 -+ // Abbreviated day names, starting with "C"'s Sun.
120.2379 -+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
120.2380 -+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
120.2381 -+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
120.2382 -+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
120.2383 -+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
120.2384 -+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
120.2385 -+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
120.2386 -+
120.2387 -+ // Month names, starting with "C"'s January.
120.2388 -+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
120.2389 -+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
120.2390 -+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
120.2391 -+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
120.2392 -+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
120.2393 -+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
120.2394 -+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
120.2395 -+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
120.2396 -+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
120.2397 -+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
120.2398 -+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
120.2399 -+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
120.2400 -+
120.2401 -+ // Abbreviated month names, starting with "C"'s Jan.
120.2402 -+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
120.2403 -+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
120.2404 -+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
120.2405 -+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
120.2406 -+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
120.2407 -+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
120.2408 -+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
120.2409 -+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
120.2410 -+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
120.2411 -+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
120.2412 -+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
120.2413 -+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
120.2414 -+ }
120.2415 -+ }
120.2416 -+
120.2417 -+#ifdef _GLIBCXX_USE_WCHAR_T
120.2418 -+ template<>
120.2419 -+ void
120.2420 -+ __timepunct<wchar_t>::
120.2421 -+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
120.2422 -+ const tm* __tm) const
120.2423 -+ {
120.2424 -+#ifdef __UCLIBC_HAS_XLOCALE__
120.2425 -+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
120.2426 -+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
120.2427 -+ _M_c_locale_timepunct);
120.2428 -+#else
120.2429 -+ char* __old = strdup(setlocale(LC_ALL, NULL));
120.2430 -+ setlocale(LC_ALL, _M_name_timepunct);
120.2431 -+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
120.2432 -+ setlocale(LC_ALL, __old);
120.2433 -+ free(__old);
120.2434 -+#endif
120.2435 -+ // Make sure __s is null terminated.
120.2436 -+ if (__len == 0)
120.2437 -+ __s[0] = L'\0';
120.2438 -+ }
120.2439 -+
120.2440 -+ template<>
120.2441 -+ void
120.2442 -+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
120.2443 -+ {
120.2444 -+ if (!_M_data)
120.2445 -+ _M_data = new __timepunct_cache<wchar_t>;
120.2446 -+
120.2447 -+#warning wide time stuff
120.2448 -+// if (!__cloc)
120.2449 -+ {
120.2450 -+ // "C" locale
120.2451 -+ _M_c_locale_timepunct = _S_get_c_locale();
120.2452 -+
120.2453 -+ _M_data->_M_date_format = L"%m/%d/%y";
120.2454 -+ _M_data->_M_date_era_format = L"%m/%d/%y";
120.2455 -+ _M_data->_M_time_format = L"%H:%M:%S";
120.2456 -+ _M_data->_M_time_era_format = L"%H:%M:%S";
120.2457 -+ _M_data->_M_date_time_format = L"";
120.2458 -+ _M_data->_M_date_time_era_format = L"";
120.2459 -+ _M_data->_M_am = L"AM";
120.2460 -+ _M_data->_M_pm = L"PM";
120.2461 -+ _M_data->_M_am_pm_format = L"";
120.2462 -+
120.2463 -+ // Day names, starting with "C"'s Sunday.
120.2464 -+ _M_data->_M_day1 = L"Sunday";
120.2465 -+ _M_data->_M_day2 = L"Monday";
120.2466 -+ _M_data->_M_day3 = L"Tuesday";
120.2467 -+ _M_data->_M_day4 = L"Wednesday";
120.2468 -+ _M_data->_M_day5 = L"Thursday";
120.2469 -+ _M_data->_M_day6 = L"Friday";
120.2470 -+ _M_data->_M_day7 = L"Saturday";
120.2471 -+
120.2472 -+ // Abbreviated day names, starting with "C"'s Sun.
120.2473 -+ _M_data->_M_aday1 = L"Sun";
120.2474 -+ _M_data->_M_aday2 = L"Mon";
120.2475 -+ _M_data->_M_aday3 = L"Tue";
120.2476 -+ _M_data->_M_aday4 = L"Wed";
120.2477 -+ _M_data->_M_aday5 = L"Thu";
120.2478 -+ _M_data->_M_aday6 = L"Fri";
120.2479 -+ _M_data->_M_aday7 = L"Sat";
120.2480 -+
120.2481 -+ // Month names, starting with "C"'s January.
120.2482 -+ _M_data->_M_month01 = L"January";
120.2483 -+ _M_data->_M_month02 = L"February";
120.2484 -+ _M_data->_M_month03 = L"March";
120.2485 -+ _M_data->_M_month04 = L"April";
120.2486 -+ _M_data->_M_month05 = L"May";
120.2487 -+ _M_data->_M_month06 = L"June";
120.2488 -+ _M_data->_M_month07 = L"July";
120.2489 -+ _M_data->_M_month08 = L"August";
120.2490 -+ _M_data->_M_month09 = L"September";
120.2491 -+ _M_data->_M_month10 = L"October";
120.2492 -+ _M_data->_M_month11 = L"November";
120.2493 -+ _M_data->_M_month12 = L"December";
120.2494 -+
120.2495 -+ // Abbreviated month names, starting with "C"'s Jan.
120.2496 -+ _M_data->_M_amonth01 = L"Jan";
120.2497 -+ _M_data->_M_amonth02 = L"Feb";
120.2498 -+ _M_data->_M_amonth03 = L"Mar";
120.2499 -+ _M_data->_M_amonth04 = L"Apr";
120.2500 -+ _M_data->_M_amonth05 = L"May";
120.2501 -+ _M_data->_M_amonth06 = L"Jun";
120.2502 -+ _M_data->_M_amonth07 = L"Jul";
120.2503 -+ _M_data->_M_amonth08 = L"Aug";
120.2504 -+ _M_data->_M_amonth09 = L"Sep";
120.2505 -+ _M_data->_M_amonth10 = L"Oct";
120.2506 -+ _M_data->_M_amonth11 = L"Nov";
120.2507 -+ _M_data->_M_amonth12 = L"Dec";
120.2508 -+ }
120.2509 -+#if 0
120.2510 -+ else
120.2511 -+ {
120.2512 -+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
120.2513 -+
120.2514 -+ union { char *__s; wchar_t *__w; } __u;
120.2515 -+
120.2516 -+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
120.2517 -+ _M_data->_M_date_format = __u.__w;
120.2518 -+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
120.2519 -+ _M_data->_M_date_era_format = __u.__w;
120.2520 -+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
120.2521 -+ _M_data->_M_time_format = __u.__w;
120.2522 -+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
120.2523 -+ _M_data->_M_time_era_format = __u.__w;
120.2524 -+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
120.2525 -+ _M_data->_M_date_time_format = __u.__w;
120.2526 -+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
120.2527 -+ _M_data->_M_date_time_era_format = __u.__w;
120.2528 -+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
120.2529 -+ _M_data->_M_am = __u.__w;
120.2530 -+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
120.2531 -+ _M_data->_M_pm = __u.__w;
120.2532 -+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
120.2533 -+ _M_data->_M_am_pm_format = __u.__w;
120.2534 -+
120.2535 -+ // Day names, starting with "C"'s Sunday.
120.2536 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
120.2537 -+ _M_data->_M_day1 = __u.__w;
120.2538 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
120.2539 -+ _M_data->_M_day2 = __u.__w;
120.2540 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
120.2541 -+ _M_data->_M_day3 = __u.__w;
120.2542 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
120.2543 -+ _M_data->_M_day4 = __u.__w;
120.2544 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
120.2545 -+ _M_data->_M_day5 = __u.__w;
120.2546 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
120.2547 -+ _M_data->_M_day6 = __u.__w;
120.2548 -+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
120.2549 -+ _M_data->_M_day7 = __u.__w;
120.2550 -+
120.2551 -+ // Abbreviated day names, starting with "C"'s Sun.
120.2552 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
120.2553 -+ _M_data->_M_aday1 = __u.__w;
120.2554 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
120.2555 -+ _M_data->_M_aday2 = __u.__w;
120.2556 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
120.2557 -+ _M_data->_M_aday3 = __u.__w;
120.2558 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
120.2559 -+ _M_data->_M_aday4 = __u.__w;
120.2560 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
120.2561 -+ _M_data->_M_aday5 = __u.__w;
120.2562 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
120.2563 -+ _M_data->_M_aday6 = __u.__w;
120.2564 -+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
120.2565 -+ _M_data->_M_aday7 = __u.__w;
120.2566 -+
120.2567 -+ // Month names, starting with "C"'s January.
120.2568 -+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
120.2569 -+ _M_data->_M_month01 = __u.__w;
120.2570 -+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
120.2571 -+ _M_data->_M_month02 = __u.__w;
120.2572 -+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
120.2573 -+ _M_data->_M_month03 = __u.__w;
120.2574 -+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
120.2575 -+ _M_data->_M_month04 = __u.__w;
120.2576 -+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
120.2577 -+ _M_data->_M_month05 = __u.__w;
120.2578 -+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
120.2579 -+ _M_data->_M_month06 = __u.__w;
120.2580 -+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
120.2581 -+ _M_data->_M_month07 = __u.__w;
120.2582 -+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
120.2583 -+ _M_data->_M_month08 = __u.__w;
120.2584 -+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
120.2585 -+ _M_data->_M_month09 = __u.__w;
120.2586 -+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
120.2587 -+ _M_data->_M_month10 = __u.__w;
120.2588 -+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
120.2589 -+ _M_data->_M_month11 = __u.__w;
120.2590 -+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
120.2591 -+ _M_data->_M_month12 = __u.__w;
120.2592 -+
120.2593 -+ // Abbreviated month names, starting with "C"'s Jan.
120.2594 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
120.2595 -+ _M_data->_M_amonth01 = __u.__w;
120.2596 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
120.2597 -+ _M_data->_M_amonth02 = __u.__w;
120.2598 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
120.2599 -+ _M_data->_M_amonth03 = __u.__w;
120.2600 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
120.2601 -+ _M_data->_M_amonth04 = __u.__w;
120.2602 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
120.2603 -+ _M_data->_M_amonth05 = __u.__w;
120.2604 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
120.2605 -+ _M_data->_M_amonth06 = __u.__w;
120.2606 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
120.2607 -+ _M_data->_M_amonth07 = __u.__w;
120.2608 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
120.2609 -+ _M_data->_M_amonth08 = __u.__w;
120.2610 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
120.2611 -+ _M_data->_M_amonth09 = __u.__w;
120.2612 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
120.2613 -+ _M_data->_M_amonth10 = __u.__w;
120.2614 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
120.2615 -+ _M_data->_M_amonth11 = __u.__w;
120.2616 -+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
120.2617 -+ _M_data->_M_amonth12 = __u.__w;
120.2618 -+ }
120.2619 -+#endif // 0
120.2620 -+ }
120.2621 -+#endif
120.2622 -+}
120.2623 ---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/time_members.h
120.2624 -+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h
120.2625 -@@ -0,0 +1,76 @@
120.2626 -+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
120.2627 -+
120.2628 -+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
120.2629 -+//
120.2630 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2631 -+// software; you can redistribute it and/or modify it under the
120.2632 -+// terms of the GNU General Public License as published by the
120.2633 -+// Free Software Foundation; either version 2, or (at your option)
120.2634 -+// any later version.
120.2635 -+
120.2636 -+// This library is distributed in the hope that it will be useful,
120.2637 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2638 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2639 -+// GNU General Public License for more details.
120.2640 -+
120.2641 -+// You should have received a copy of the GNU General Public License along
120.2642 -+// with this library; see the file COPYING. If not, write to the Free
120.2643 -+// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
120.2644 -+// USA.
120.2645 -+
120.2646 -+// As a special exception, you may use this file as part of a free software
120.2647 -+// library without restriction. Specifically, if other files instantiate
120.2648 -+// templates or use macros or inline functions from this file, or you compile
120.2649 -+// this file and link it with other files to produce an executable, this
120.2650 -+// file does not by itself cause the resulting executable to be covered by
120.2651 -+// the GNU General Public License. This exception does not however
120.2652 -+// invalidate any other reasons why the executable file might be covered by
120.2653 -+// the GNU General Public License.
120.2654 -+
120.2655 -+//
120.2656 -+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
120.2657 -+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
120.2658 -+//
120.2659 -+
120.2660 -+// Written by Benjamin Kosnik <bkoz@redhat.com>
120.2661 -+
120.2662 -+ template<typename _CharT>
120.2663 -+ __timepunct<_CharT>::__timepunct(size_t __refs)
120.2664 -+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
120.2665 -+ _M_name_timepunct(_S_get_c_name())
120.2666 -+ { _M_initialize_timepunct(); }
120.2667 -+
120.2668 -+ template<typename _CharT>
120.2669 -+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
120.2670 -+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
120.2671 -+ _M_name_timepunct(_S_get_c_name())
120.2672 -+ { _M_initialize_timepunct(); }
120.2673 -+
120.2674 -+ template<typename _CharT>
120.2675 -+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
120.2676 -+ size_t __refs)
120.2677 -+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
120.2678 -+ _M_name_timepunct(NULL)
120.2679 -+ {
120.2680 -+ const size_t __len = std::strlen(__s) + 1;
120.2681 -+ char* __tmp = new char[__len];
120.2682 -+ std::memcpy(__tmp, __s, __len);
120.2683 -+ _M_name_timepunct = __tmp;
120.2684 -+
120.2685 -+ try
120.2686 -+ { _M_initialize_timepunct(__cloc); }
120.2687 -+ catch(...)
120.2688 -+ {
120.2689 -+ delete [] _M_name_timepunct;
120.2690 -+ __throw_exception_again;
120.2691 -+ }
120.2692 -+ }
120.2693 -+
120.2694 -+ template<typename _CharT>
120.2695 -+ __timepunct<_CharT>::~__timepunct()
120.2696 -+ {
120.2697 -+ if (_M_name_timepunct != _S_get_c_name())
120.2698 -+ delete [] _M_name_timepunct;
120.2699 -+ delete _M_data;
120.2700 -+ _S_destroy_c_locale(_M_c_locale_timepunct);
120.2701 -+ }
120.2702 ---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_base.h
120.2703 -+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h
120.2704 -@@ -0,0 +1,64 @@
120.2705 -+// Locale support -*- C++ -*-
120.2706 -+
120.2707 -+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
120.2708 -+// Free Software Foundation, Inc.
120.2709 -+//
120.2710 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2711 -+// software; you can redistribute it and/or modify it under the
120.2712 -+// terms of the GNU General Public License as published by the
120.2713 -+// Free Software Foundation; either version 2, or (at your option)
120.2714 -+// any later version.
120.2715 -+
120.2716 -+// This library is distributed in the hope that it will be useful,
120.2717 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2718 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2719 -+// GNU General Public License for more details.
120.2720 -+
120.2721 -+// You should have received a copy of the GNU General Public License along
120.2722 -+// with this library; see the file COPYING. If not, write to the Free
120.2723 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
120.2724 -+// USA.
120.2725 -+
120.2726 -+// As a special exception, you may use this file as part of a free software
120.2727 -+// library without restriction. Specifically, if other files instantiate
120.2728 -+// templates or use macros or inline functions from this file, or you compile
120.2729 -+// this file and link it with other files to produce an executable, this
120.2730 -+// file does not by itself cause the resulting executable to be covered by
120.2731 -+// the GNU General Public License. This exception does not however
120.2732 -+// invalidate any other reasons why the executable file might be covered by
120.2733 -+// the GNU General Public License.
120.2734 -+
120.2735 -+//
120.2736 -+// ISO C++ 14882: 22.1 Locales
120.2737 -+//
120.2738 -+
120.2739 -+/** @file ctype_base.h
120.2740 -+ * This is an internal header file, included by other library headers.
120.2741 -+ * You should not attempt to use it directly.
120.2742 -+ */
120.2743 -+
120.2744 -+// Information as gleaned from /usr/include/ctype.h
120.2745 -+
120.2746 -+ /// @brief Base class for ctype.
120.2747 -+ struct ctype_base
120.2748 -+ {
120.2749 -+ // Note: In uClibc, the following two types depend on configuration.
120.2750 -+
120.2751 -+ // Non-standard typedefs.
120.2752 -+ typedef const __ctype_touplow_t* __to_type;
120.2753 -+
120.2754 -+ // NB: Offsets into ctype<char>::_M_table force a particular size
120.2755 -+ // on the mask type. Because of this, we don't use an enum.
120.2756 -+ typedef __ctype_mask_t mask;
120.2757 -+ static const mask upper = _ISupper;
120.2758 -+ static const mask lower = _ISlower;
120.2759 -+ static const mask alpha = _ISalpha;
120.2760 -+ static const mask digit = _ISdigit;
120.2761 -+ static const mask xdigit = _ISxdigit;
120.2762 -+ static const mask space = _ISspace;
120.2763 -+ static const mask print = _ISprint;
120.2764 -+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
120.2765 -+ static const mask cntrl = _IScntrl;
120.2766 -+ static const mask punct = _ISpunct;
120.2767 -+ static const mask alnum = _ISalpha | _ISdigit;
120.2768 -+ };
120.2769 ---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h
120.2770 -+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
120.2771 -@@ -0,0 +1,69 @@
120.2772 -+// Locale support -*- C++ -*-
120.2773 -+
120.2774 -+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
120.2775 -+//
120.2776 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2777 -+// software; you can redistribute it and/or modify it under the
120.2778 -+// terms of the GNU General Public License as published by the
120.2779 -+// Free Software Foundation; either version 2, or (at your option)
120.2780 -+// any later version.
120.2781 -+
120.2782 -+// This library is distributed in the hope that it will be useful,
120.2783 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2784 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2785 -+// GNU General Public License for more details.
120.2786 -+
120.2787 -+// You should have received a copy of the GNU General Public License along
120.2788 -+// with this library; see the file COPYING. If not, write to the Free
120.2789 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
120.2790 -+// USA.
120.2791 -+
120.2792 -+// As a special exception, you may use this file as part of a free software
120.2793 -+// library without restriction. Specifically, if other files instantiate
120.2794 -+// templates or use macros or inline functions from this file, or you compile
120.2795 -+// this file and link it with other files to produce an executable, this
120.2796 -+// file does not by itself cause the resulting executable to be covered by
120.2797 -+// the GNU General Public License. This exception does not however
120.2798 -+// invalidate any other reasons why the executable file might be covered by
120.2799 -+// the GNU General Public License.
120.2800 -+
120.2801 -+//
120.2802 -+// ISO C++ 14882: 22.1 Locales
120.2803 -+//
120.2804 -+
120.2805 -+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
120.2806 -+// functions go in ctype.cc
120.2807 -+
120.2808 -+ bool
120.2809 -+ ctype<char>::
120.2810 -+ is(mask __m, char __c) const
120.2811 -+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
120.2812 -+
120.2813 -+ const char*
120.2814 -+ ctype<char>::
120.2815 -+ is(const char* __low, const char* __high, mask* __vec) const
120.2816 -+ {
120.2817 -+ while (__low < __high)
120.2818 -+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
120.2819 -+ return __high;
120.2820 -+ }
120.2821 -+
120.2822 -+ const char*
120.2823 -+ ctype<char>::
120.2824 -+ scan_is(mask __m, const char* __low, const char* __high) const
120.2825 -+ {
120.2826 -+ while (__low < __high
120.2827 -+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
120.2828 -+ ++__low;
120.2829 -+ return __low;
120.2830 -+ }
120.2831 -+
120.2832 -+ const char*
120.2833 -+ ctype<char>::
120.2834 -+ scan_not(mask __m, const char* __low, const char* __high) const
120.2835 -+ {
120.2836 -+ while (__low < __high
120.2837 -+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
120.2838 -+ ++__low;
120.2839 -+ return __low;
120.2840 -+ }
120.2841 ---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h
120.2842 -+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
120.2843 -@@ -0,0 +1,92 @@
120.2844 -+// Locale support -*- C++ -*-
120.2845 -+
120.2846 -+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
120.2847 -+// Free Software Foundation, Inc.
120.2848 -+//
120.2849 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2850 -+// software; you can redistribute it and/or modify it under the
120.2851 -+// terms of the GNU General Public License as published by the
120.2852 -+// Free Software Foundation; either version 2, or (at your option)
120.2853 -+// any later version.
120.2854 -+
120.2855 -+// This library is distributed in the hope that it will be useful,
120.2856 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2857 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2858 -+// GNU General Public License for more details.
120.2859 -+
120.2860 -+// You should have received a copy of the GNU General Public License along
120.2861 -+// with this library; see the file COPYING. If not, write to the Free
120.2862 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
120.2863 -+// USA.
120.2864 -+
120.2865 -+// As a special exception, you may use this file as part of a free software
120.2866 -+// library without restriction. Specifically, if other files instantiate
120.2867 -+// templates or use macros or inline functions from this file, or you compile
120.2868 -+// this file and link it with other files to produce an executable, this
120.2869 -+// file does not by itself cause the resulting executable to be covered by
120.2870 -+// the GNU General Public License. This exception does not however
120.2871 -+// invalidate any other reasons why the executable file might be covered by
120.2872 -+// the GNU General Public License.
120.2873 -+
120.2874 -+//
120.2875 -+// ISO C++ 14882: 22.1 Locales
120.2876 -+//
120.2877 -+
120.2878 -+// Information as gleaned from /usr/include/ctype.h
120.2879 -+
120.2880 -+ const ctype_base::mask*
120.2881 -+ ctype<char>::classic_table() throw()
120.2882 -+ { return __C_ctype_b; }
120.2883 -+
120.2884 -+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
120.2885 -+ size_t __refs)
120.2886 -+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
120.2887 -+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
120.2888 -+ {
120.2889 -+ _M_toupper = __C_ctype_toupper;
120.2890 -+ _M_tolower = __C_ctype_tolower;
120.2891 -+ _M_table = __table ? __table : __C_ctype_b;
120.2892 -+ memset(_M_widen, 0, sizeof(_M_widen));
120.2893 -+ memset(_M_narrow, 0, sizeof(_M_narrow));
120.2894 -+ }
120.2895 -+
120.2896 -+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
120.2897 -+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
120.2898 -+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
120.2899 -+ {
120.2900 -+ _M_toupper = __C_ctype_toupper;
120.2901 -+ _M_tolower = __C_ctype_tolower;
120.2902 -+ _M_table = __table ? __table : __C_ctype_b;
120.2903 -+ memset(_M_widen, 0, sizeof(_M_widen));
120.2904 -+ memset(_M_narrow, 0, sizeof(_M_narrow));
120.2905 -+ }
120.2906 -+
120.2907 -+ char
120.2908 -+ ctype<char>::do_toupper(char __c) const
120.2909 -+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
120.2910 -+
120.2911 -+ const char*
120.2912 -+ ctype<char>::do_toupper(char* __low, const char* __high) const
120.2913 -+ {
120.2914 -+ while (__low < __high)
120.2915 -+ {
120.2916 -+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
120.2917 -+ ++__low;
120.2918 -+ }
120.2919 -+ return __high;
120.2920 -+ }
120.2921 -+
120.2922 -+ char
120.2923 -+ ctype<char>::do_tolower(char __c) const
120.2924 -+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
120.2925 -+
120.2926 -+ const char*
120.2927 -+ ctype<char>::do_tolower(char* __low, const char* __high) const
120.2928 -+ {
120.2929 -+ while (__low < __high)
120.2930 -+ {
120.2931 -+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
120.2932 -+ ++__low;
120.2933 -+ }
120.2934 -+ return __high;
120.2935 -+ }
120.2936 ---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/os_defines.h
120.2937 -+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h
120.2938 -@@ -0,0 +1,44 @@
120.2939 -+// Specific definitions for GNU/Linux -*- C++ -*-
120.2940 -+
120.2941 -+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
120.2942 -+//
120.2943 -+// This file is part of the GNU ISO C++ Library. This library is free
120.2944 -+// software; you can redistribute it and/or modify it under the
120.2945 -+// terms of the GNU General Public License as published by the
120.2946 -+// Free Software Foundation; either version 2, or (at your option)
120.2947 -+// any later version.
120.2948 -+
120.2949 -+// This library is distributed in the hope that it will be useful,
120.2950 -+// but WITHOUT ANY WARRANTY; without even the implied warranty of
120.2951 -+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
120.2952 -+// GNU General Public License for more details.
120.2953 -+
120.2954 -+// You should have received a copy of the GNU General Public License along
120.2955 -+// with this library; see the file COPYING. If not, write to the Free
120.2956 -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
120.2957 -+// USA.
120.2958 -+
120.2959 -+// As a special exception, you may use this file as part of a free software
120.2960 -+// library without restriction. Specifically, if other files instantiate
120.2961 -+// templates or use macros or inline functions from this file, or you compile
120.2962 -+// this file and link it with other files to produce an executable, this
120.2963 -+// file does not by itself cause the resulting executable to be covered by
120.2964 -+// the GNU General Public License. This exception does not however
120.2965 -+// invalidate any other reasons why the executable file might be covered by
120.2966 -+// the GNU General Public License.
120.2967 -+
120.2968 -+#ifndef _GLIBCXX_OS_DEFINES
120.2969 -+#define _GLIBCXX_OS_DEFINES 1
120.2970 -+
120.2971 -+// System-specific #define, typedefs, corrections, etc, go here. This
120.2972 -+// file will come before all others.
120.2973 -+
120.2974 -+// This keeps isanum, et al from being propagated as macros.
120.2975 -+#define __NO_CTYPE 1
120.2976 -+
120.2977 -+#include <features.h>
120.2978 -+
120.2979 -+// We must not see the optimized string functions GNU libc defines.
120.2980 -+#define __NO_STRING_INLINES
120.2981 -+
120.2982 -+#endif
120.2983 ---- gcc-4.1.0-dist/libstdc++-v3/configure
120.2984 -+++ gcc-4.1.0/libstdc++-v3/configure
120.2985 -@@ -4005,6 +4005,11 @@
120.2986 - lt_cv_deplibs_check_method=pass_all
120.2987 - ;;
120.2988 -
120.2989 -+linux-uclibc*)
120.2990 -+ lt_cv_deplibs_check_method=pass_all
120.2991 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
120.2992 -+ ;;
120.2993 -+
120.2994 - netbsd* | knetbsd*-gnu)
120.2995 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
120.2996 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
120.2997 -@@ -5740,7 +5745,7 @@
120.2998 - enableval="$enable_clocale"
120.2999 -
120.3000 - case "$enableval" in
120.3001 -- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
120.3002 -+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
120.3003 - *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
120.3004 - echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
120.3005 - { (exit 1); exit 1; }; } ;;
120.3006 -@@ -5765,6 +5770,9 @@
120.3007 - # Default to "generic".
120.3008 - if test $enable_clocale_flag = auto; then
120.3009 - case ${target_os} in
120.3010 -+ linux-uclibc*)
120.3011 -+ enable_clocale_flag=uclibc
120.3012 -+ ;;
120.3013 - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
120.3014 - cat >conftest.$ac_ext <<_ACEOF
120.3015 - /* confdefs.h. */
120.3016 -@@ -5995,6 +6003,76 @@
120.3017 - CTIME_CC=config/locale/generic/time_members.cc
120.3018 - CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
120.3019 - ;;
120.3020 -+ uclibc)
120.3021 -+ echo "$as_me:$LINENO: result: uclibc" >&5
120.3022 -+echo "${ECHO_T}uclibc" >&6
120.3023 -+
120.3024 -+ # Declare intention to use gettext, and add support for specific
120.3025 -+ # languages.
120.3026 -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
120.3027 -+ ALL_LINGUAS="de fr"
120.3028 -+
120.3029 -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
120.3030 -+ # Extract the first word of "msgfmt", so it can be a program name with args.
120.3031 -+set dummy msgfmt; ac_word=$2
120.3032 -+echo "$as_me:$LINENO: checking for $ac_word" >&5
120.3033 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
120.3034 -+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
120.3035 -+ echo $ECHO_N "(cached) $ECHO_C" >&6
120.3036 -+else
120.3037 -+ if test -n "$check_msgfmt"; then
120.3038 -+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
120.3039 -+else
120.3040 -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
120.3041 -+for as_dir in $PATH
120.3042 -+do
120.3043 -+ IFS=$as_save_IFS
120.3044 -+ test -z "$as_dir" && as_dir=.
120.3045 -+ for ac_exec_ext in '' $ac_executable_extensions; do
120.3046 -+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
120.3047 -+ ac_cv_prog_check_msgfmt="yes"
120.3048 -+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
120.3049 -+ break 2
120.3050 -+ fi
120.3051 -+done
120.3052 -+done
120.3053 -+
120.3054 -+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
120.3055 -+fi
120.3056 -+fi
120.3057 -+check_msgfmt=$ac_cv_prog_check_msgfmt
120.3058 -+if test -n "$check_msgfmt"; then
120.3059 -+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
120.3060 -+echo "${ECHO_T}$check_msgfmt" >&6
120.3061 -+else
120.3062 -+ echo "$as_me:$LINENO: result: no" >&5
120.3063 -+echo "${ECHO_T}no" >&6
120.3064 -+fi
120.3065 -+
120.3066 -+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
120.3067 -+ USE_NLS=yes
120.3068 -+ fi
120.3069 -+ # Export the build objects.
120.3070 -+ for ling in $ALL_LINGUAS; do \
120.3071 -+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
120.3072 -+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
120.3073 -+ done
120.3074 -+
120.3075 -+
120.3076 -+
120.3077 -+ CLOCALE_H=config/locale/uclibc/c_locale.h
120.3078 -+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
120.3079 -+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
120.3080 -+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
120.3081 -+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
120.3082 -+ CMESSAGES_H=config/locale/uclibc/messages_members.h
120.3083 -+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
120.3084 -+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
120.3085 -+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
120.3086 -+ CTIME_H=config/locale/uclibc/time_members.h
120.3087 -+ CTIME_CC=config/locale/uclibc/time_members.cc
120.3088 -+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
120.3089 -+ ;;
120.3090 - esac
120.3091 -
120.3092 - # This is where the testsuite looks for locale catalogs, using the
120.3093 ---- gcc-4.1.0-dist/libstdc++-v3/configure.host
120.3094 -+++ gcc-4.1.0/libstdc++-v3/configure.host
120.3095 -@@ -261,6 +261,12 @@
120.3096 - ;;
120.3097 - esac
120.3098 -
120.3099 -+# Override for uClibc since linux-uclibc gets mishandled above.
120.3100 -+case "${host_os}" in
120.3101 -+ *-uclibc*)
120.3102 -+ os_include_dir="os/uclibc"
120.3103 -+ ;;
120.3104 -+esac
120.3105 -
120.3106 - # Set any OS-dependent and CPU-dependent bits.
120.3107 - # THIS TABLE IS SORTED. KEEP IT THAT WAY.
120.3108 ---- gcc-4.1.0-dist/libstdc++-v3/crossconfig.m4
120.3109 -+++ gcc-4.1.0/libstdc++-v3/crossconfig.m4
120.3110 -@@ -143,6 +143,99 @@
120.3111 - ;;
120.3112 - esac
120.3113 - ;;
120.3114 -+ *-uclibc*)
120.3115 -+# Temporary hack until we implement the float versions of the libm funcs
120.3116 -+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
120.3117 -+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
120.3118 -+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
120.3119 -+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
120.3120 -+ AC_SUBST(SECTION_FLAGS)
120.3121 -+ GLIBCXX_CHECK_LINKER_FEATURES
120.3122 -+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
120.3123 -+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
120.3124 -+
120.3125 -+ # For LFS.
120.3126 -+ AC_DEFINE(HAVE_INT64_T)
120.3127 -+ case "$target" in
120.3128 -+ *-uclinux*)
120.3129 -+ # Don't enable LFS with uClinux
120.3130 -+ ;;
120.3131 -+ *)
120.3132 -+ AC_DEFINE(_GLIBCXX_USE_LFS)
120.3133 -+ esac
120.3134 -+
120.3135 -+ # For showmanyc_helper().
120.3136 -+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
120.3137 -+ GLIBCXX_CHECK_POLL
120.3138 -+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
120.3139 -+
120.3140 -+ # For xsputn_2().
120.3141 -+ AC_CHECK_HEADERS(sys/uio.h)
120.3142 -+ GLIBCXX_CHECK_WRITEV
120.3143 -+
120.3144 -+# AC_DEFINE(HAVE_ACOSF)
120.3145 -+# AC_DEFINE(HAVE_ASINF)
120.3146 -+# AC_DEFINE(HAVE_ATANF)
120.3147 -+# AC_DEFINE(HAVE_ATAN2F)
120.3148 -+ AC_DEFINE(HAVE_CEILF)
120.3149 -+ AC_DEFINE(HAVE_COPYSIGN)
120.3150 -+# AC_DEFINE(HAVE_COPYSIGNF)
120.3151 -+# AC_DEFINE(HAVE_COSF)
120.3152 -+# AC_DEFINE(HAVE_COSHF)
120.3153 -+# AC_DEFINE(HAVE_EXPF)
120.3154 -+# AC_DEFINE(HAVE_FABSF)
120.3155 -+ AC_DEFINE(HAVE_FINITE)
120.3156 -+ AC_DEFINE(HAVE_FINITEF)
120.3157 -+ AC_DEFINE(HAVE_FLOORF)
120.3158 -+# AC_DEFINE(HAVE_FMODF)
120.3159 -+# AC_DEFINE(HAVE_FREXPF)
120.3160 -+ AC_DEFINE(HAVE_HYPOT)
120.3161 -+# AC_DEFINE(HAVE_HYPOTF)
120.3162 -+ AC_DEFINE(HAVE_ISINF)
120.3163 -+ AC_DEFINE(HAVE_ISINFF)
120.3164 -+ AC_DEFINE(HAVE_ISNAN)
120.3165 -+ AC_DEFINE(HAVE_ISNANF)
120.3166 -+# AC_DEFINE(HAVE_LOGF)
120.3167 -+# AC_DEFINE(HAVE_LOG10F)
120.3168 -+# AC_DEFINE(HAVE_MODFF)
120.3169 -+# AC_DEFINE(HAVE_SINF)
120.3170 -+# AC_DEFINE(HAVE_SINHF)
120.3171 -+# AC_DEFINE(HAVE_SINCOS)
120.3172 -+# AC_DEFINE(HAVE_SINCOSF)
120.3173 -+ AC_DEFINE(HAVE_SQRTF)
120.3174 -+# AC_DEFINE(HAVE_TANF)
120.3175 -+# AC_DEFINE(HAVE_TANHF)
120.3176 -+ if test x"long_double_math_on_this_cpu" = x"yes"; then
120.3177 -+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
120.3178 -+# AC_DEFINE(HAVE_ACOSL)
120.3179 -+# AC_DEFINE(HAVE_ASINL)
120.3180 -+# AC_DEFINE(HAVE_ATANL)
120.3181 -+# AC_DEFINE(HAVE_ATAN2L)
120.3182 -+# AC_DEFINE(HAVE_CEILL)
120.3183 -+# AC_DEFINE(HAVE_COPYSIGNL)
120.3184 -+# AC_DEFINE(HAVE_COSL)
120.3185 -+# AC_DEFINE(HAVE_COSHL)
120.3186 -+# AC_DEFINE(HAVE_EXPL)
120.3187 -+# AC_DEFINE(HAVE_FABSL)
120.3188 -+# AC_DEFINE(HAVE_FINITEL)
120.3189 -+# AC_DEFINE(HAVE_FLOORL)
120.3190 -+# AC_DEFINE(HAVE_FMODL)
120.3191 -+# AC_DEFINE(HAVE_FREXPL)
120.3192 -+# AC_DEFINE(HAVE_HYPOTL)
120.3193 -+# AC_DEFINE(HAVE_ISINFL)
120.3194 -+# AC_DEFINE(HAVE_ISNANL)
120.3195 -+# AC_DEFINE(HAVE_LOGL)
120.3196 -+# AC_DEFINE(HAVE_LOG10L)
120.3197 -+# AC_DEFINE(HAVE_MODFL)
120.3198 -+# AC_DEFINE(HAVE_POWL)
120.3199 -+# AC_DEFINE(HAVE_SINL)
120.3200 -+# AC_DEFINE(HAVE_SINHL)
120.3201 -+# AC_DEFINE(HAVE_SINCOSL)
120.3202 -+# AC_DEFINE(HAVE_SQRTL)
120.3203 -+# AC_DEFINE(HAVE_TANL)
120.3204 -+# AC_DEFINE(HAVE_TANHL)
120.3205 -+ fi
120.3206 -+ ;;
120.3207 - *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
120.3208 - AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
120.3209 - machine/endian.h machine/param.h sys/machine.h sys/types.h \
120.3210 -@@ -157,7 +250,7 @@
120.3211 - AC_DEFINE(HAVE_INT64_T)
120.3212 - case "$target" in
120.3213 - *-uclinux*)
120.3214 -- # Don't enable LFS with uClibc
120.3215 -+ # Don't enable LFS with uClinux
120.3216 - ;;
120.3217 - *)
120.3218 - AC_DEFINE(_GLIBCXX_USE_LFS)
120.3219 ---- gcc-4.1.0-dist/libstdc++-v3/include/c_compatibility/wchar.h
120.3220 -+++ gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h
120.3221 -@@ -101,7 +101,9 @@
120.3222 - using std::wmemcpy;
120.3223 - using std::wmemmove;
120.3224 - using std::wmemset;
120.3225 -+#if _GLIBCXX_HAVE_WCSFTIME
120.3226 - using std::wcsftime;
120.3227 -+#endif
120.3228 -
120.3229 - #if _GLIBCXX_USE_C99
120.3230 - using std::wcstold;
120.3231 ---- gcc-4.1.0-dist/libstdc++-v3/include/c_std/std_cwchar.h
120.3232 -+++ gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h
120.3233 -@@ -180,7 +180,9 @@
120.3234 - using ::wcscoll;
120.3235 - using ::wcscpy;
120.3236 - using ::wcscspn;
120.3237 -+#if _GLIBCXX_HAVE_WCSFTIME
120.3238 - using ::wcsftime;
120.3239 -+#endif
120.3240 - using ::wcslen;
120.3241 - using ::wcsncat;
120.3242 - using ::wcsncmp;
121.1 --- a/patches/gcc/4.1.1/130-libstdc++-pic.patch Wed Oct 28 12:03:38 2009 +0100
121.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
121.3 @@ -1,50 +0,0 @@
121.4 -# DP: Build and install libstdc++_pic.a library.
121.5 -
121.6 ---- gcc/libstdc++-v3/src/Makefile.am
121.7 -+++ gcc/libstdc++-v3/src/Makefile.am
121.8 -@@ -214,6 +214,12 @@
121.9 - $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
121.10 -
121.11 -
121.12 -+install-exec-local:
121.13 -+ifeq ($(enable_shared),yes)
121.14 -+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
121.15 -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
121.16 -+endif
121.17 -+
121.18 - # Added bits to build debug library.
121.19 - if GLIBCXX_BUILD_DEBUG
121.20 - all-local: build_debug
121.21 ---- gcc/libstdc++-v3/src/Makefile.in
121.22 -+++ gcc/libstdc++-v3/src/Makefile.in
121.23 -@@ -627,7 +627,7 @@
121.24 -
121.25 - install-data-am: install-data-local
121.26 -
121.27 --install-exec-am: install-toolexeclibLTLIBRARIES
121.28 -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
121.29 -
121.30 - install-info: install-info-am
121.31 -
121.32 -@@ -660,6 +660,7 @@
121.33 - distclean-libtool distclean-tags distdir dvi dvi-am html \
121.34 - html-am info info-am install install-am install-data \
121.35 - install-data-am install-data-local install-exec \
121.36 -+ install-exec-local \
121.37 - install-exec-am install-info install-info-am install-man \
121.38 - install-strip install-toolexeclibLTLIBRARIES installcheck \
121.39 - installcheck-am installdirs maintainer-clean \
121.40 -@@ -743,6 +743,13 @@
121.41 - install_debug:
121.42 - (cd ${debugdir} && $(MAKE) \
121.43 - toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
121.44 -+
121.45 -+install-exec-local:
121.46 -+ifeq ($(enable_shared),yes)
121.47 -+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
121.48 -+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
121.49 -+endif
121.50 -+
121.51 - # Tell versions [3.59,3.63) of GNU make to not export all variables.
121.52 - # Otherwise a system limit (for SysV at least) may be exceeded.
121.53 - .NOEXPORT:
122.1 --- a/patches/gcc/4.1.1/140-missing-execinfo_h.patch Wed Oct 28 12:03:38 2009 +0100
122.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
122.3 @@ -1,11 +0,0 @@
122.4 ---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
122.5 -+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
122.6 -@@ -500,7 +500,7 @@
122.7 - #ifdef __linux__
122.8 - # include <features.h>
122.9 - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
122.10 -- && !defined(__ia64__)
122.11 -+ && !defined(__ia64__) && !defined(__UCLIBC__)
122.12 - # ifndef GC_HAVE_BUILTIN_BACKTRACE
122.13 - # define GC_HAVE_BUILTIN_BACKTRACE
122.14 - # endif
123.1 --- a/patches/gcc/4.1.1/150-c99-snprintf.patch Wed Oct 28 12:03:38 2009 +0100
123.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
123.3 @@ -1,11 +0,0 @@
123.4 ---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
123.5 -+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
123.6 -@@ -142,7 +142,7 @@
123.7 - using ::vsprintf;
123.8 - }
123.9 -
123.10 --#if _GLIBCXX_USE_C99
123.11 -+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
123.12 -
123.13 - #undef snprintf
123.14 - #undef vfscanf
124.1 --- a/patches/gcc/4.1.1/160-c99-complex-ugly-hack.patch Wed Oct 28 12:03:38 2009 +0100
124.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
124.3 @@ -1,12 +0,0 @@
124.4 ---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
124.5 -+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
124.6 -@@ -7194,6 +7194,9 @@
124.7 - cat >>conftest.$ac_ext <<_ACEOF
124.8 - /* end confdefs.h. */
124.9 - #include <complex.h>
124.10 -+#ifdef __UCLIBC__
124.11 -+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
124.12 -+#endif
124.13 - int
124.14 - main ()
124.15 - {
125.1 --- a/patches/gcc/4.1.1/170-index_macro.patch Wed Oct 28 12:03:38 2009 +0100
125.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
125.3 @@ -1,24 +0,0 @@
125.4 ---- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
125.5 -+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
125.6 -@@ -59,6 +59,9 @@
125.7 - #include <bits/allocator.h>
125.8 - #include <ext/hash_fun.h>
125.9 -
125.10 -+/* cope w/ index defined as macro, SuSv3 proposal */
125.11 -+#undef index
125.12 -+
125.13 - # ifdef __GC
125.14 - # define __GC_CONST const
125.15 - # else
125.16 ---- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
125.17 -+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
125.18 -@@ -53,6 +53,9 @@
125.19 - #include <ext/memory> // For uninitialized_copy_n
125.20 - #include <ext/numeric> // For power
125.21 -
125.22 -+/* cope w/ index defined as macro, SuSv3 proposal */
125.23 -+#undef index
125.24 -+
125.25 - namespace __gnu_cxx
125.26 - {
125.27 - using std::size_t;
126.1 --- a/patches/gcc/4.1.1/180-sh-pr24836.patch Wed Oct 28 12:03:38 2009 +0100
126.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
126.3 @@ -1,25 +0,0 @@
126.4 -http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
126.5 -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
126.6 -
126.7 ---- gcc/gcc/configure.ac (revision 106699)
126.8 -+++ gcc/gcc/configure.ac (working copy)
126.9 -@@ -2446,7 +2446,7 @@
126.10 - tls_first_minor=14
126.11 - tls_as_opt="-m64 -Aesame --fatal-warnings"
126.12 - ;;
126.13 -- sh-*-* | sh[34]-*-*)
126.14 -+ sh-*-* | sh[34]*-*-*)
126.15 - conftest_s='
126.16 - .section ".tdata","awT",@progbits
126.17 - foo: .long 25
126.18 ---- gcc/gcc/configure
126.19 -+++ gcc/gcc/configure
126.20 -@@ -14846,7 +14846,7 @@
126.21 - tls_first_minor=14
126.22 - tls_as_opt="-m64 -Aesame --fatal-warnings"
126.23 - ;;
126.24 -- sh-*-* | sh[34]-*-*)
126.25 -+ sh-*-* | sh[34]*-*-*)
126.26 - conftest_s='
126.27 - .section ".tdata","awT",@progbits
126.28 - foo: .long 25
127.1 --- a/patches/gcc/4.1.1/190-arm-bigendian.patch Wed Oct 28 12:03:38 2009 +0100
127.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
127.3 @@ -1,67 +0,0 @@
127.4 -By Lennert Buytenhek <buytenh@wantstofly.org>
127.5 -Adds support for arm*b-linux* big-endian ARM targets
127.6 -
127.7 -See http://gcc.gnu.org/PR16350
127.8 -
127.9 ---- gcc-4.1.0/gcc/config/arm/linux-elf.h
127.10 -+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
127.11 -@@ -28,19 +28,33 @@
127.12 - #undef TARGET_VERSION
127.13 - #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
127.14 -
127.15 -+/*
127.16 -+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
127.17 -+ * (big endian) configurations.
127.18 -+ */
127.19 -+#if TARGET_BIG_ENDIAN_DEFAULT
127.20 -+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
127.21 -+#define TARGET_ENDIAN_OPTION "mbig-endian"
127.22 -+#define TARGET_LINKER_EMULATION "armelfb_linux"
127.23 -+#else
127.24 -+#define TARGET_ENDIAN_DEFAULT 0
127.25 -+#define TARGET_ENDIAN_OPTION "mlittle-endian"
127.26 -+#define TARGET_LINKER_EMULATION "armelf_linux"
127.27 -+#endif
127.28 -+
127.29 - #undef TARGET_DEFAULT_FLOAT_ABI
127.30 - #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
127.31 -
127.32 - #undef TARGET_DEFAULT
127.33 --#define TARGET_DEFAULT (0)
127.34 -+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
127.35 -
127.36 - #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
127.37 -
127.38 --#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
127.39 -+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
127.40 -
127.41 - #undef MULTILIB_DEFAULTS
127.42 - #define MULTILIB_DEFAULTS \
127.43 -- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
127.44 -+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
127.45 -
127.46 - /* Now we define the strings used to build the spec file. */
127.47 - #undef LIB_SPEC
127.48 -@@ -61,7 +75,7 @@
127.49 - %{rdynamic:-export-dynamic} \
127.50 - %{!dynamic-linker:-dynamic-linker " LINUX_TARGET_INTERPRETER "} \
127.51 - -X \
127.52 -- %{mbig-endian:-EB}" \
127.53 -+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
127.54 - SUBTARGET_EXTRA_LINK_SPEC
127.55 -
127.56 - #undef LINK_SPEC
127.57 ---- gcc-4.1.0/gcc/config.gcc
127.58 -+++ gcc-4.1.0/gcc/config.gcc
127.59 -@@ -672,6 +672,11 @@
127.60 - ;;
127.61 - arm*-*-linux*) # ARM GNU/Linux with ELF
127.62 - tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
127.63 -+ case $target in
127.64 -+ arm*b-*)
127.65 -+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
127.66 -+ ;;
127.67 -+ esac
127.68 - tmake_file="${tmake_file} t-linux arm/t-arm"
127.69 - case ${target} in
127.70 - arm*-*-linux-gnueabi)
128.1 --- a/patches/gcc/4.1.1/200-softfloat-fix.patch Wed Oct 28 12:03:38 2009 +0100
128.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
128.3 @@ -1,58 +0,0 @@
128.4 -This patch (C) 2007 Yann E. MORIN
128.5 -Licensed under GPL v2.
128.6 -
128.7 -First hunk of this patch solves compiling uClibc-0.9.28{,.1} :
128.8 -
128.9 -make[1]: Entering directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
128.10 - LD libuClibc-0.9.29.so
128.11 -libc/libc_so.a(difftime.os): In function `difftime':
128.12 -difftime.c:(.text+0x8): undefined reference to `__floatsidf'
128.13 -difftime.c:(.text+0x2c): undefined reference to `__subdf3'
128.14 -libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
128.15 -_fpmaxtostr.c:(.text+0xd4): undefined reference to `__nedf2'
128.16 -_fpmaxtostr.c:(.text+0xf8): undefined reference to `__eqdf2'
128.17 -_fpmaxtostr.c:(.text+0x114): undefined reference to `__divdf3'
128.18 -_fpmaxtostr.c:(.text+0x120): undefined reference to `__ltdf2'
128.19 -_fpmaxtostr.c:(.text+0x1c4): undefined reference to `__muldf3'
128.20 -_fpmaxtostr.c:(.text+0x388): undefined reference to `__gedf2'
128.21 -_fpmaxtostr.c:(.text+0x430): undefined reference to `__adddf3'
128.22 -libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
128.23 -__psfs_do_numeric.c:(.text+0x520): undefined reference to `__truncdfsf2'
128.24 -libc/libc_so.a(strtof.os): In function `strtof':
128.25 -strtof.c:(.text+0x1c): undefined reference to `__extendsfdf2'
128.26 -/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/cc_core_prefix/lib/gcc/arm-linux-uclibc/4.1.1/libgcc.a(_fixunsdfsi.o):
128.27 -In function `__fixunsdfsi':
128.28 -libgcc2.c:(.text+0x34): undefined reference to `__fixdfsi'
128.29 -make[2]: *** [lib/libc.so] Error 1
128.30 -make[1]: *** [lib/libc.so.0] Error 2
128.31 -make[1]: Leaving directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
128.32 -make: *** [/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc/lib/libc.a]
128.33 -Error 2
128.34 -
128.35 -The second hunk fixes building final gcc because soft-float implies using -lfloat (which we don't have).
128.36 -
128.37 -
128.38 -diff -dur gcc-4.1.1.no-softfloat-fix/gcc/config.gcc gcc-4.1.1/gcc/config.gcc
128.39 ---- gcc-4.1.1.no-softfloat-fix/gcc/config.gcc 2007-02-01 21:57:17.000000000 +0100
128.40 -+++ gcc-4.1.1/gcc/config.gcc 2007-02-01 22:11:06.000000000 +0100
128.41 -@@ -690,7 +690,7 @@
128.42 - default_use_cxa_atexit=yes
128.43 - ;;
128.44 - *)
128.45 -- tmake_file="$tmake_file arm/t-linux"
128.46 -+ tmake_file="$tmake_file arm/t-linux arm/t-arm-elf"
128.47 - ;;
128.48 - esac
128.49 - tm_file="$tm_file arm/aout.h arm/arm.h"
128.50 -diff -dur gcc-4.1.1.-lfloat/gcc/config/arm/linux-elf.h gcc-4.1.1/gcc/config/arm/linux-elf.h
128.51 ---- gcc-4.1.1.-lfloat/gcc/config/arm/linux-elf.h 2007-02-01 21:57:17.000000000 +0100
128.52 -+++ gcc-4.1.1/gcc/config/arm/linux-elf.h 2007-02-01 23:00:42.000000000 +0100
128.53 -@@ -63,7 +63,7 @@
128.54 - %{shared:-lc} \
128.55 - %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
128.56 -
128.57 --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
128.58 -+#define LIBGCC_SPEC "-lgcc"
128.59 -
128.60 - #ifdef USE_UCLIBC
128.61 - #define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
129.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
129.2 +++ b/patches/gcc/4.4.2/100-alpha-mieee-default.patch Thu Oct 29 00:10:06 2009 +0100
129.3 @@ -0,0 +1,24 @@
129.4 +diff -durN gcc-4.4.0.orig/gcc/config/alpha/alpha.h gcc-4.4.0/gcc/config/alpha/alpha.h
129.5 +--- gcc-4.4.0.orig/gcc/config/alpha/alpha.h 2009-02-20 16:20:38.000000000 +0100
129.6 ++++ gcc-4.4.0/gcc/config/alpha/alpha.h 2009-05-27 21:37:58.000000000 +0200
129.7 +@@ -95,6 +95,8 @@
129.8 + while (0)
129.9 + #endif
129.10 +
129.11 ++#define CPP_SPEC "%{!no-ieee:-mieee}"
129.12 ++
129.13 + #define WORD_SWITCH_TAKES_ARG(STR) \
129.14 + (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
129.15 +
129.16 +diff -durN gcc-4.4.0.orig/gcc/config/alpha/alpha.opt gcc-4.4.0/gcc/config/alpha/alpha.opt
129.17 +--- gcc-4.4.0.orig/gcc/config/alpha/alpha.opt 2007-08-02 12:49:31.000000000 +0200
129.18 ++++ gcc-4.4.0/gcc/config/alpha/alpha.opt 2009-05-27 21:37:58.000000000 +0200
129.19 +@@ -39,7 +39,7 @@
129.20 + Request IEEE-conformant math library routines (OSF/1)
129.21 +
129.22 + mieee
129.23 +-Target Report RejectNegative Mask(IEEE)
129.24 ++Target Report Mask(IEEE)
129.25 + Emit IEEE-conformant code, without inexact exceptions
129.26 +
129.27 + mieee-with-inexact
130.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
130.2 +++ b/patches/gcc/4.4.2/110-trampolinewarn.patch Thu Oct 29 00:10:06 2009 +0100
130.3 @@ -0,0 +1,27 @@
130.4 +diff -durN gcc-4.4.0.orig/gcc/builtins.c gcc-4.4.0/gcc/builtins.c
130.5 +--- gcc-4.4.0.orig/gcc/builtins.c 2009-03-30 19:42:27.000000000 +0200
130.6 ++++ gcc-4.4.0/gcc/builtins.c 2009-05-27 21:38:01.000000000 +0200
130.7 +@@ -5768,6 +5768,9 @@
130.8 + trampolines_created = 1;
130.9 + INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
130.10 +
130.11 ++ if (warn_trampolines)
130.12 ++ warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
130.13 ++
130.14 + return const0_rtx;
130.15 + }
130.16 +
130.17 +diff -durN gcc-4.4.0.orig/gcc/common.opt gcc-4.4.0/gcc/common.opt
130.18 +--- gcc-4.4.0.orig/gcc/common.opt 2009-03-28 18:28:45.000000000 +0100
130.19 ++++ gcc-4.4.0/gcc/common.opt 2009-05-27 21:38:01.000000000 +0200
130.20 +@@ -197,6 +197,10 @@
130.21 + Common Var(warn_type_limits) Init(-1) Warning
130.22 + Warn if a comparison is always true or always false due to the limited range of the data type
130.23 +
130.24 ++Wtrampolines
130.25 ++Common Var(warn_trampolines) Init(1)
130.26 ++Warn whenever a trampoline is generated
130.27 ++
130.28 + Wuninitialized
130.29 + Common Var(warn_uninitialized) Warning
130.30 + Warn about uninitialized automatic variables
131.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
131.2 +++ b/patches/gcc/4.4.2/120-java-nomulti.patch Thu Oct 29 00:10:06 2009 +0100
131.3 @@ -0,0 +1,46 @@
131.4 +diff -durN gcc-4.4.0.orig/libjava/configure gcc-4.4.0/libjava/configure
131.5 +--- gcc-4.4.0.orig/libjava/configure 2009-04-21 11:08:08.000000000 +0200
131.6 ++++ gcc-4.4.0/libjava/configure 2009-05-27 21:38:03.000000000 +0200
131.7 +@@ -1021,6 +1021,8 @@
131.8 + default=yes
131.9 + --enable-java-maintainer-mode
131.10 + allow rebuilding of .class and .h files
131.11 ++ --enable-libjava-multilib
131.12 ++ build libjava as multilib
131.13 + --disable-dependency-tracking speeds up one-time build
131.14 + --enable-dependency-tracking do not reject slow dependency extractors
131.15 + --enable-maintainer-mode enable make rules and dependencies not useful
131.16 +@@ -1973,6 +1975,16 @@
131.17 + fi
131.18 +
131.19 +
131.20 ++# Check whether --enable-libjava-multilib was given.
131.21 ++if test "${enable_libjava_multilib+set}" = set; then
131.22 ++ enableval=$enable_libjava_multilib;
131.23 ++fi
131.24 ++
131.25 ++if test "$enable_libjava_multilib" = no; then
131.26 ++ multilib=no
131.27 ++ ac_configure_args="$ac_configure_args --disable-multilib"
131.28 ++fi
131.29 ++
131.30 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
131.31 +
131.32 +
131.33 +diff -durN gcc-4.4.0.orig/libjava/configure.ac gcc-4.4.0/libjava/configure.ac
131.34 +--- gcc-4.4.0.orig/libjava/configure.ac 2009-04-09 23:54:28.000000000 +0200
131.35 ++++ gcc-4.4.0/libjava/configure.ac 2009-05-27 21:38:03.000000000 +0200
131.36 +@@ -139,6 +139,13 @@
131.37 + [allow rebuilding of .class and .h files]))
131.38 + AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
131.39 +
131.40 ++AC_ARG_ENABLE(libjava-multilib,
131.41 ++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
131.42 ++if test "$enable_libjava_multilib" = no; then
131.43 ++ multilib=no
131.44 ++ ac_configure_args="$ac_configure_args --disable-multilib"
131.45 ++fi
131.46 ++
131.47 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
131.48 + GCC_NO_EXECUTABLES
131.49 +
132.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
132.2 +++ b/patches/gcc/4.4.2/130-cross-compile.patch Thu Oct 29 00:10:06 2009 +0100
132.3 @@ -0,0 +1,39 @@
132.4 +diff -durN gcc-4.4.0.orig/gcc/configure gcc-4.4.0/gcc/configure
132.5 +--- gcc-4.4.0.orig/gcc/configure 2009-03-24 18:46:03.000000000 +0100
132.6 ++++ gcc-4.4.0/gcc/configure 2009-05-27 21:38:06.000000000 +0200
132.7 +@@ -13997,7 +13997,7 @@
132.8 + | powerpc*-*-*,powerpc64*-*-*)
132.9 + CROSS="$CROSS -DNATIVE_CROSS" ;;
132.10 + esac
132.11 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
132.12 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
132.13 + SYSTEM_HEADER_DIR=$build_system_header_dir
132.14 + fi
132.15 +
132.16 +diff -durN gcc-4.4.0.orig/gcc/configure.ac gcc-4.4.0/gcc/configure.ac
132.17 +--- gcc-4.4.0.orig/gcc/configure.ac 2009-03-24 18:46:03.000000000 +0100
132.18 ++++ gcc-4.4.0/gcc/configure.ac 2009-05-27 21:38:06.000000000 +0200
132.19 +@@ -1720,7 +1720,7 @@
132.20 + | powerpc*-*-*,powerpc64*-*-*)
132.21 + CROSS="$CROSS -DNATIVE_CROSS" ;;
132.22 + esac
132.23 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
132.24 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
132.25 + SYSTEM_HEADER_DIR=$build_system_header_dir
132.26 + fi
132.27 +
132.28 +diff -durN gcc-4.4.0.orig/gcc/unwind-dw2.c gcc-4.4.0/gcc/unwind-dw2.c
132.29 +--- gcc-4.4.0.orig/gcc/unwind-dw2.c 2009-04-10 01:23:07.000000000 +0200
132.30 ++++ gcc-4.4.0/gcc/unwind-dw2.c 2009-05-27 21:38:06.000000000 +0200
132.31 +@@ -329,9 +329,11 @@
132.32 + }
132.33 + #endif
132.34 +
132.35 ++#ifndef inhibit_libc
132.36 + #ifdef MD_UNWIND_SUPPORT
132.37 + #include MD_UNWIND_SUPPORT
132.38 + #endif
132.39 ++#endif
132.40 +
132.41 + /* Extract any interesting information from the CIE for the translation
132.42 + unit F belongs to. Return a pointer to the byte after the augmentation,
133.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
133.2 +++ b/patches/gcc/4.4.2/140-default-format-security.patch Thu Oct 29 00:10:06 2009 +0100
133.3 @@ -0,0 +1,49 @@
133.4 +diff -durN gcc-4.4.0.orig/gcc/c-common.c gcc-4.4.0/gcc/c-common.c
133.5 +--- gcc-4.4.0.orig/gcc/c-common.c 2009-03-30 19:42:27.000000000 +0200
133.6 ++++ gcc-4.4.0/gcc/c-common.c 2009-05-27 21:38:08.000000000 +0200
133.7 +@@ -301,7 +301,7 @@
133.8 + /* Warn about format/argument anomalies in calls to formatted I/O functions
133.9 + (*printf, *scanf, strftime, strfmon, etc.). */
133.10 +
133.11 +-int warn_format;
133.12 ++int warn_format = 1;
133.13 +
133.14 + /* Warn about using __null (as NULL in C++) as sentinel. For code compiled
133.15 + with GCC this doesn't matter as __null is guaranteed to have the right
133.16 +diff -durN gcc-4.4.0.orig/gcc/c.opt gcc-4.4.0/gcc/c.opt
133.17 +--- gcc-4.4.0.orig/gcc/c.opt 2009-03-18 22:14:53.000000000 +0100
133.18 ++++ gcc-4.4.0/gcc/c.opt 2009-05-27 21:38:08.000000000 +0200
133.19 +@@ -236,7 +236,7 @@
133.20 + Warn about format strings that contain NUL bytes
133.21 +
133.22 + Wformat-security
133.23 +-C ObjC C++ ObjC++ Var(warn_format_security) Warning
133.24 ++C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
133.25 + Warn about possible security problems with format functions
133.26 +
133.27 + Wformat-y2k
133.28 +diff -durN gcc-4.4.0.orig/gcc/doc/invoke.texi gcc-4.4.0/gcc/doc/invoke.texi
133.29 +--- gcc-4.4.0.orig/gcc/doc/invoke.texi 2009-04-01 09:18:47.000000000 +0200
133.30 ++++ gcc-4.4.0/gcc/doc/invoke.texi 2009-05-27 21:38:08.000000000 +0200
133.31 +@@ -2867,6 +2867,9 @@
133.32 + @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
133.33 + @option{-Wformat=2} are available, but are not included in @option{-Wall}.
133.34 +
133.35 ++NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
133.36 ++To disable, use @option{-Wformat=0}.
133.37 ++
133.38 + @item -Wformat-y2k
133.39 + @opindex Wformat-y2k
133.40 + @opindex Wno-format-y2k
133.41 +@@ -2920,6 +2923,11 @@
133.42 + in future warnings may be added to @option{-Wformat-security} that are not
133.43 + included in @option{-Wformat-nonliteral}.)
133.44 +
133.45 ++NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
133.46 ++To disable, use @option{-Wno-format-security}, or disable all format warnings
133.47 ++with @option{-Wformat=0}. To make format security warnings fatal, specify
133.48 ++@option{-Werror=format-security}.
133.49 ++
133.50 + @item -Wformat=2
133.51 + @opindex Wformat=2
133.52 + @opindex Wno-format=2
134.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
134.2 +++ b/patches/gcc/4.4.2/150-default-fortify-source.patch Thu Oct 29 00:10:06 2009 +0100
134.3 @@ -0,0 +1,26 @@
134.4 +diff -durN gcc-4.4.0.orig/gcc/doc/invoke.texi gcc-4.4.0/gcc/doc/invoke.texi
134.5 +--- gcc-4.4.0.orig/gcc/doc/invoke.texi 2009-05-27 21:38:11.000000000 +0200
134.6 ++++ gcc-4.4.0/gcc/doc/invoke.texi 2009-05-27 21:38:11.000000000 +0200
134.7 +@@ -5411,6 +5411,11 @@
134.8 + Please note the warning under @option{-fgcse} about
134.9 + invoking @option{-O2} on programs that use computed gotos.
134.10 +
134.11 ++NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is
134.12 ++activated when @option{-O} is set to 2 or higher. This enables additional
134.13 ++compile-time and run-time checks for several libc functions. To disable,
134.14 ++specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}.
134.15 ++
134.16 + @item -O3
134.17 + @opindex O3
134.18 + Optimize yet more. @option{-O3} turns on all optimizations specified
134.19 +diff -durN gcc-4.4.0.orig/gcc/gcc.c gcc-4.4.0/gcc/gcc.c
134.20 +--- gcc-4.4.0.orig/gcc/gcc.c 2009-03-17 22:25:59.000000000 +0100
134.21 ++++ gcc-4.4.0/gcc/gcc.c 2009-05-27 21:38:11.000000000 +0200
134.22 +@@ -807,6 +807,7 @@
134.23 + %{H} %C %{D*&U*&A*} %{i*} %Z %i\
134.24 + %{fmudflap:-D_MUDFLAP -include mf-runtime.h}\
134.25 + %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\
134.26 ++ %{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2}}}\
134.27 + %{E|M|MM:%W{o*}}";
134.28 +
134.29 + /* This contains cpp options which are common with cc1_options and are passed
135.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
135.2 +++ b/patches/gcc/4.4.2/160-netbsd-symbolic.patch Thu Oct 29 00:10:06 2009 +0100
135.3 @@ -0,0 +1,11 @@
135.4 +diff -durN gcc-4.4.0.orig/gcc/config/netbsd-elf.h gcc-4.4.0/gcc/config/netbsd-elf.h
135.5 +--- gcc-4.4.0.orig/gcc/config/netbsd-elf.h 2007-09-03 18:14:04.000000000 +0200
135.6 ++++ gcc-4.4.0/gcc/config/netbsd-elf.h 2009-05-27 21:38:14.000000000 +0200
135.7 +@@ -82,6 +82,7 @@
135.8 + #define NETBSD_LINK_SPEC_ELF \
135.9 + "%{assert*} %{R*} %{rpath*} \
135.10 + %{shared:-shared} \
135.11 ++ %{symbolic:-Bsymbolic} \
135.12 + %{!shared: \
135.13 + -dc -dp \
135.14 + %{!nostdlib: \
136.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
136.2 +++ b/patches/gcc/4.4.2/170-sparc64-bsd.patch Thu Oct 29 00:10:06 2009 +0100
136.3 @@ -0,0 +1,29 @@
136.4 +diff -durN gcc-4.4.0.orig/gcc/config/sparc/freebsd.h gcc-4.4.0/gcc/config/sparc/freebsd.h
136.5 +--- gcc-4.4.0.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
136.6 ++++ gcc-4.4.0/gcc/config/sparc/freebsd.h 2009-05-27 21:38:16.000000000 +0200
136.7 +@@ -25,9 +25,22 @@
136.8 + /* FreeBSD needs the platform name (sparc64) defined.
136.9 + Emacs needs to know if the arch is 64 or 32-bits. */
136.10 +
136.11 +-#undef CPP_CPU64_DEFAULT_SPEC
136.12 +-#define CPP_CPU64_DEFAULT_SPEC \
136.13 +- "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
136.14 ++#undef FBSD_TARGET_CPU_CPP_BUILTINS
136.15 ++#define FBSD_TARGET_CPU_CPP_BUILTINS() \
136.16 ++ do \
136.17 ++ { \
136.18 ++ if (TARGET_ARCH64) \
136.19 ++ { \
136.20 ++ builtin_define ("__sparc64__"); \
136.21 ++ builtin_define ("__sparc_v9__"); \
136.22 ++ builtin_define ("__sparcv9"); \
136.23 ++ } \
136.24 ++ else \
136.25 ++ builtin_define ("__sparc"); \
136.26 ++ builtin_define ("__sparc__"); \
136.27 ++ } \
136.28 ++ while (0)
136.29 ++
136.30 +
136.31 + #define LINK_SPEC "%(link_arch) \
136.32 + %{!mno-relax:%{!r:-relax}} \
137.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
137.2 +++ b/patches/gcc/4.4.2/180-libgomp-no-werror.patch Thu Oct 29 00:10:06 2009 +0100
137.3 @@ -0,0 +1,12 @@
137.4 +diff -durN gcc-4.4.0.orig/libgomp/configure gcc-4.4.0/libgomp/configure
137.5 +--- gcc-4.4.0.orig/libgomp/configure 2009-04-21 11:08:08.000000000 +0200
137.6 ++++ gcc-4.4.0/libgomp/configure 2009-05-27 21:38:19.000000000 +0200
137.7 +@@ -3334,7 +3334,7 @@
137.8 +
137.9 + # Add -Wall -Werror if we are using GCC.
137.10 + if test "x$GCC" = "xyes"; then
137.11 +- XCFLAGS="$XCFLAGS -Wall -Werror"
137.12 ++ XCFLAGS="$XCFLAGS -Wall"
137.13 + fi
137.14 +
137.15 + # Find other programs we need.
138.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
138.2 +++ b/patches/gcc/4.4.2/190-flatten-switch-stmt-00.patch Thu Oct 29 00:10:06 2009 +0100
138.3 @@ -0,0 +1,24 @@
138.4 +diff -durN gcc-4.4.0.orig/gcc/stmt.c gcc-4.4.0/gcc/stmt.c
138.5 +--- gcc-4.4.0.orig/gcc/stmt.c 2009-02-27 20:49:42.000000000 +0100
138.6 ++++ gcc-4.4.0/gcc/stmt.c 2009-05-27 21:38:21.000000000 +0200
138.7 +@@ -2376,7 +2376,11 @@
138.8 + use_cost_table
138.9 + = (TREE_CODE (orig_type) != ENUMERAL_TYPE
138.10 + && estimate_case_costs (case_list));
138.11 +- balance_case_nodes (&case_list, NULL);
138.12 ++ /* When optimizing for size, we want a straight list to avoid
138.13 ++ jumps as much as possible. This basically creates an if-else
138.14 ++ chain. */
138.15 ++ if (!optimize_size)
138.16 ++ balance_case_nodes (&case_list, NULL);
138.17 + emit_case_nodes (index, case_list, default_label, index_type);
138.18 + if (default_label)
138.19 + emit_jump (default_label);
138.20 +@@ -2942,6 +2946,7 @@
138.21 + {
138.22 + if (!node_has_low_bound (node, index_type))
138.23 + {
138.24 ++ if (!optimize_size) /* don't jl to the .default_label. */
138.25 + emit_cmp_and_jump_insns (index,
138.26 + convert_modes
138.27 + (mode, imode,
139.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
139.2 +++ b/patches/gcc/4.4.2/200-libiberty.h-asprintf.patch Thu Oct 29 00:10:06 2009 +0100
139.3 @@ -0,0 +1,15 @@
139.4 +diff -durN gcc-4.4.0.orig/include/libiberty.h gcc-4.4.0/include/libiberty.h
139.5 +--- gcc-4.4.0.orig/include/libiberty.h 2008-06-24 03:42:31.000000000 +0200
139.6 ++++ gcc-4.4.0/include/libiberty.h 2009-05-27 21:38:24.000000000 +0200
139.7 +@@ -595,8 +595,11 @@
139.8 + /* Like sprintf but provides a pointer to malloc'd storage, which must
139.9 + be freed by the caller. */
139.10 +
139.11 ++/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
139.12 ++#ifndef asprintf
139.13 + extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
139.14 + #endif
139.15 ++#endif
139.16 +
139.17 + #if !HAVE_DECL_VASPRINTF
139.18 + /* Like vsprintf but provides a pointer to malloc'd storage, which
140.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
140.2 +++ b/patches/gcc/4.4.2/210-arm-unbreak-armv4t.patch Thu Oct 29 00:10:06 2009 +0100
140.3 @@ -0,0 +1,12 @@
140.4 +diff -durN gcc-4.4.0.orig/gcc/config/arm/linux-eabi.h gcc-4.4.0/gcc/config/arm/linux-eabi.h
140.5 +--- gcc-4.4.0.orig/gcc/config/arm/linux-eabi.h 2007-11-08 14:44:09.000000000 +0100
140.6 ++++ gcc-4.4.0/gcc/config/arm/linux-eabi.h 2009-05-27 21:38:26.000000000 +0200
140.7 +@@ -44,7 +44,7 @@
140.8 + The ARM10TDMI core is the default for armv5t, so set
140.9 + SUBTARGET_CPU_DEFAULT to achieve this. */
140.10 + #undef SUBTARGET_CPU_DEFAULT
140.11 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
140.12 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
140.13 +
140.14 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
140.15 + config.gcc for big endian configurations. */
141.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
141.2 +++ b/patches/gcc/4.4.2/220-libiberty-pic.patch Thu Oct 29 00:10:06 2009 +0100
141.3 @@ -0,0 +1,11 @@
141.4 +diff -durN gcc-4.4.0.orig/libiberty/Makefile.in gcc-4.4.0/libiberty/Makefile.in
141.5 +--- gcc-4.4.0.orig/libiberty/Makefile.in 2008-10-22 15:30:19.000000000 +0200
141.6 ++++ gcc-4.4.0/libiberty/Makefile.in 2009-05-27 21:38:29.000000000 +0200
141.7 +@@ -227,6 +227,7 @@
141.8 + $(AR) $(AR_FLAGS) $(TARGETLIB) \
141.9 + $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
141.10 + $(RANLIB) $(TARGETLIB); \
141.11 ++ cp $(TARGETLIB) ../ ; \
141.12 + cd ..; \
141.13 + else true; fi
141.14 +
142.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
142.2 +++ b/patches/gcc/4.4.2/230-superh-default-multilib.patch Thu Oct 29 00:10:06 2009 +0100
142.3 @@ -0,0 +1,12 @@
142.4 +diff -durN gcc-4.4.0.orig/gcc/config.gcc gcc-4.4.0/gcc/config.gcc
142.5 +--- gcc-4.4.0.orig/gcc/config.gcc 2009-04-17 13:58:41.000000000 +0200
142.6 ++++ gcc-4.4.0/gcc/config.gcc 2009-05-27 21:38:31.000000000 +0200
142.7 +@@ -2121,7 +2121,7 @@
142.8 + if test x${sh_multilibs} = x ; then
142.9 + case ${target} in
142.10 + sh64-superh-linux* | \
142.11 +- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
142.12 ++ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
142.13 + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
142.14 + sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
142.15 + sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
143.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
143.2 +++ b/patches/gcc/4.4.2/240-libstdc++-pic.patch Thu Oct 29 00:10:06 2009 +0100
143.3 @@ -0,0 +1,53 @@
143.4 +diff -durN gcc-4.4.0.orig/libstdc++-v3/src/Makefile.am gcc-4.4.0/libstdc++-v3/src/Makefile.am
143.5 +--- gcc-4.4.0.orig/libstdc++-v3/src/Makefile.am 2009-04-10 01:23:07.000000000 +0200
143.6 ++++ gcc-4.4.0/libstdc++-v3/src/Makefile.am 2009-05-27 21:38:34.000000000 +0200
143.7 +@@ -351,6 +351,13 @@
143.8 + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
143.9 +
143.10 +
143.11 ++install-exec-local:
143.12 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
143.13 ++ if [ x"$$pic_objs" != x ]; then \
143.14 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
143.15 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
143.16 ++ fi
143.17 ++
143.18 + # Added bits to build debug library.
143.19 + if GLIBCXX_BUILD_DEBUG
143.20 + all-local: build_debug
143.21 +diff -durN gcc-4.4.0.orig/libstdc++-v3/src/Makefile.in gcc-4.4.0/libstdc++-v3/src/Makefile.in
143.22 +--- gcc-4.4.0.orig/libstdc++-v3/src/Makefile.in 2009-01-17 03:03:25.000000000 +0100
143.23 ++++ gcc-4.4.0/libstdc++-v3/src/Makefile.in 2009-05-27 21:38:34.000000000 +0200
143.24 +@@ -726,7 +726,7 @@
143.25 +
143.26 + install-data-am: install-data-local
143.27 +
143.28 +-install-exec-am: install-toolexeclibLTLIBRARIES
143.29 ++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
143.30 +
143.31 + install-info: install-info-am
143.32 +
143.33 +@@ -765,7 +765,7 @@
143.34 + maintainer-clean-generic mostlyclean mostlyclean-compile \
143.35 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
143.36 + tags uninstall uninstall-am uninstall-info-am \
143.37 +- uninstall-toolexeclibLTLIBRARIES
143.38 ++ uninstall-toolexeclibLTLIBRARIES install-exec-local
143.39 +
143.40 +
143.41 + # Symbol versioning for shared libraries.
143.42 +@@ -942,6 +942,14 @@
143.43 + install_debug:
143.44 + (cd ${debugdir} && $(MAKE) \
143.45 + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
143.46 ++
143.47 ++install-exec-local:
143.48 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
143.49 ++ if [ x"$$pic_objs" != x ]; then \
143.50 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
143.51 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
143.52 ++ fi
143.53 ++
143.54 + # Tell versions [3.59,3.63) of GNU make to not export all variables.
143.55 + # Otherwise a system limit (for SysV at least) may be exceeded.
143.56 + .NOEXPORT:
144.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
144.2 +++ b/patches/gcc/4.4.2/250-ia64-noteGNUstack.patch Thu Oct 29 00:10:06 2009 +0100
144.3 @@ -0,0 +1,79 @@
144.4 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/crtbegin.asm gcc-4.4.0/gcc/config/ia64/crtbegin.asm
144.5 +--- gcc-4.4.0.orig/gcc/config/ia64/crtbegin.asm 2009-04-10 01:23:07.000000000 +0200
144.6 ++++ gcc-4.4.0/gcc/config/ia64/crtbegin.asm 2009-05-27 21:38:37.000000000 +0200
144.7 +@@ -252,3 +252,7 @@
144.8 + .weak __cxa_finalize
144.9 + #endif
144.10 + .weak _Jv_RegisterClasses
144.11 ++
144.12 ++#ifdef __linux__
144.13 ++.section .note.GNU-stack; .previous
144.14 ++#endif
144.15 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/crtend.asm gcc-4.4.0/gcc/config/ia64/crtend.asm
144.16 +--- gcc-4.4.0.orig/gcc/config/ia64/crtend.asm 2009-04-10 01:23:07.000000000 +0200
144.17 ++++ gcc-4.4.0/gcc/config/ia64/crtend.asm 2009-05-27 21:38:37.000000000 +0200
144.18 +@@ -119,3 +119,7 @@
144.19 +
144.20 + br.ret.sptk.many rp
144.21 + .endp __do_global_ctors_aux
144.22 ++
144.23 ++#ifdef __linux__
144.24 ++.section .note.GNU-stack; .previous
144.25 ++#endif
144.26 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/crti.asm gcc-4.4.0/gcc/config/ia64/crti.asm
144.27 +--- gcc-4.4.0.orig/gcc/config/ia64/crti.asm 2009-04-10 01:23:07.000000000 +0200
144.28 ++++ gcc-4.4.0/gcc/config/ia64/crti.asm 2009-05-27 21:38:37.000000000 +0200
144.29 +@@ -51,3 +51,7 @@
144.30 + .body
144.31 +
144.32 + # end of crti.asm
144.33 ++
144.34 ++#ifdef __linux__
144.35 ++.section .note.GNU-stack; .previous
144.36 ++#endif
144.37 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/crtn.asm gcc-4.4.0/gcc/config/ia64/crtn.asm
144.38 +--- gcc-4.4.0.orig/gcc/config/ia64/crtn.asm 2009-04-10 01:23:07.000000000 +0200
144.39 ++++ gcc-4.4.0/gcc/config/ia64/crtn.asm 2009-05-27 21:38:37.000000000 +0200
144.40 +@@ -41,3 +41,7 @@
144.41 + br.ret.sptk.many b0
144.42 +
144.43 + # end of crtn.asm
144.44 ++
144.45 ++#ifdef __linux__
144.46 ++.section .note.GNU-stack; .previous
144.47 ++#endif
144.48 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/lib1funcs.asm gcc-4.4.0/gcc/config/ia64/lib1funcs.asm
144.49 +--- gcc-4.4.0.orig/gcc/config/ia64/lib1funcs.asm 2009-04-10 01:23:07.000000000 +0200
144.50 ++++ gcc-4.4.0/gcc/config/ia64/lib1funcs.asm 2009-05-27 21:38:37.000000000 +0200
144.51 +@@ -793,3 +793,7 @@
144.52 + .endp __floattitf
144.53 + #endif
144.54 + #endif
144.55 ++
144.56 ++#ifdef __linux__
144.57 ++.section .note.GNU-stack; .previous
144.58 ++#endif
144.59 +diff -durN gcc-4.4.0.orig/gcc/config/ia64/linux.h gcc-4.4.0/gcc/config/ia64/linux.h
144.60 +--- gcc-4.4.0.orig/gcc/config/ia64/linux.h 2009-02-12 17:30:53.000000000 +0100
144.61 ++++ gcc-4.4.0/gcc/config/ia64/linux.h 2009-05-27 21:38:37.000000000 +0200
144.62 +@@ -5,6 +5,8 @@
144.63 +
144.64 + #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
144.65 +
144.66 ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
144.67 ++
144.68 + /* This is for -profile to use -lc_p instead of -lc. */
144.69 + #undef CC1_SPEC
144.70 + #define CC1_SPEC "%{profile:-p} %{G*}"
144.71 +diff -durN gcc-4.4.0.orig/gcc/config/rs6000/ppc-asm.h gcc-4.4.0/gcc/config/rs6000/ppc-asm.h
144.72 +--- gcc-4.4.0.orig/gcc/config/rs6000/ppc-asm.h 2008-10-13 17:44:26.000000000 +0200
144.73 ++++ gcc-4.4.0/gcc/config/rs6000/ppc-asm.h 2009-05-27 21:38:37.000000000 +0200
144.74 +@@ -172,7 +172,7 @@
144.75 + .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
144.76 + #endif
144.77 +
144.78 +-#if defined __linux__ && !defined __powerpc64__
144.79 ++#if defined __linux__
144.80 + .section .note.GNU-stack
144.81 + .previous
144.82 + #endif
145.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
145.2 +++ b/patches/gcc/4.4.2/260-sh-libgcc-stacks.patch Thu Oct 29 00:10:06 2009 +0100
145.3 @@ -0,0 +1,25 @@
145.4 +diff -durN gcc-4.4.0.orig/gcc/config/sh/lib1funcs.asm gcc-4.4.0/gcc/config/sh/lib1funcs.asm
145.5 +--- gcc-4.4.0.orig/gcc/config/sh/lib1funcs.asm 2009-04-10 01:23:07.000000000 +0200
145.6 ++++ gcc-4.4.0/gcc/config/sh/lib1funcs.asm 2009-05-27 21:38:39.000000000 +0200
145.7 +@@ -30,6 +30,11 @@
145.8 + !! recoded in assembly by Toshiyasu Morita
145.9 + !! tm@netcom.com
145.10 +
145.11 ++#if defined(__ELF__) && defined(__linux__)
145.12 ++.section .note.GNU-stack,"",%progbits
145.13 ++.previous
145.14 ++#endif
145.15 ++
145.16 + /* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
145.17 + ELF local label prefixes by J"orn Rennecke
145.18 + amylaar@cygnus.com */
145.19 +diff -durN gcc-4.4.0.orig/gcc/config/sh/linux-atomic.asm gcc-4.4.0/gcc/config/sh/linux-atomic.asm
145.20 +--- gcc-4.4.0.orig/gcc/config/sh/linux-atomic.asm 2009-04-10 01:23:07.000000000 +0200
145.21 ++++ gcc-4.4.0/gcc/config/sh/linux-atomic.asm 2009-05-27 21:38:39.000000000 +0200
145.22 +@@ -136,3 +136,6 @@
145.23 + ATOMIC_FETCH_AND_COMBOP(nand,and,not,4,l,mov)
145.24 +
145.25 + #endif /* ! __SH5__ */
145.26 ++
145.27 ++.section .note.GNU-stack,"",%progbits
145.28 ++.previous
146.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
146.2 +++ b/patches/gcc/4.4.2/270-sh-pr24836.patch Thu Oct 29 00:10:06 2009 +0100
146.3 @@ -0,0 +1,24 @@
146.4 +diff -durN gcc-4.4.0.orig/gcc/configure gcc-4.4.0/gcc/configure
146.5 +--- gcc-4.4.0.orig/gcc/configure 2009-05-27 21:38:08.000000000 +0200
146.6 ++++ gcc-4.4.0/gcc/configure 2009-05-27 21:38:42.000000000 +0200
146.7 +@@ -22205,7 +22205,7 @@
146.8 + tls_first_minor=14
146.9 + tls_as_opt="-m64 -Aesame --fatal-warnings"
146.10 + ;;
146.11 +- sh-*-* | sh[34]-*-*)
146.12 ++ sh-*-* | sh[34]*-*-*)
146.13 + conftest_s='
146.14 + .section ".tdata","awT",@progbits
146.15 + foo: .long 25
146.16 +diff -durN gcc-4.4.0.orig/gcc/configure.ac gcc-4.4.0/gcc/configure.ac
146.17 +--- gcc-4.4.0.orig/gcc/configure.ac 2009-05-27 21:38:08.000000000 +0200
146.18 ++++ gcc-4.4.0/gcc/configure.ac 2009-05-27 21:38:42.000000000 +0200
146.19 +@@ -2673,7 +2673,7 @@
146.20 + tls_first_minor=14
146.21 + tls_as_opt="-m64 -Aesame --fatal-warnings"
146.22 + ;;
146.23 +- sh-*-* | sh[34]-*-*)
146.24 ++ sh-*-* | sh[34]*-*-*)
146.25 + conftest_s='
146.26 + .section ".tdata","awT",@progbits
146.27 + foo: .long 25
147.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
147.2 +++ b/patches/gcc/4.4.2/280-freebsd.patch Thu Oct 29 00:10:06 2009 +0100
147.3 @@ -0,0 +1,94 @@
147.4 +diff -durN gcc-4.4.0.orig/gcc/config/freebsd-spec.h gcc-4.4.0/gcc/config/freebsd-spec.h
147.5 +--- gcc-4.4.0.orig/gcc/config/freebsd-spec.h 2009-04-10 01:23:07.000000000 +0200
147.6 ++++ gcc-4.4.0/gcc/config/freebsd-spec.h 2009-05-27 21:38:45.000000000 +0200
147.7 +@@ -61,6 +61,8 @@
147.8 + builtin_assert ("system=unix"); \
147.9 + builtin_assert ("system=bsd"); \
147.10 + builtin_assert ("system=FreeBSD"); \
147.11 ++ if(!(flag_iso && (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99))) \
147.12 ++ builtin_define("_LONGLONG"); \
147.13 + FBSD_TARGET_CPU_CPP_BUILTINS(); \
147.14 + } \
147.15 + while (0)
147.16 +diff -durN gcc-4.4.0.orig/gcc/config/t-freebsd-eh gcc-4.4.0/gcc/config/t-freebsd-eh
147.17 +--- gcc-4.4.0.orig/gcc/config/t-freebsd-eh 1970-01-01 01:00:00.000000000 +0100
147.18 ++++ gcc-4.4.0/gcc/config/t-freebsd-eh 2009-05-27 21:38:45.000000000 +0200
147.19 +@@ -0,0 +1,4 @@
147.20 ++# Use unwind-dw2-fde-glibc
147.21 ++LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
147.22 ++ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
147.23 ++LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
147.24 +diff -durN gcc-4.4.0.orig/gcc/config.gcc gcc-4.4.0/gcc/config.gcc
147.25 +--- gcc-4.4.0.orig/gcc/config.gcc 2009-05-27 21:38:34.000000000 +0200
147.26 ++++ gcc-4.4.0/gcc/config.gcc 2009-05-27 21:38:45.000000000 +0200
147.27 +@@ -456,7 +456,7 @@
147.28 + # pleases around the provided core setting.
147.29 + gas=yes
147.30 + gnu_ld=yes
147.31 +- extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
147.32 ++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
147.33 + fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
147.34 + tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
147.35 + tmake_file="t-slibgcc-elf-ver t-freebsd"
147.36 +@@ -1042,6 +1042,10 @@
147.37 + ;;
147.38 + i[34567]86-*-freebsd*)
147.39 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
147.40 ++ fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
147.41 ++ if test ${fbsd_major} -ge 7; then
147.42 ++ tmake_file="${tmake_file} t-freebsd-eh"
147.43 ++ fi
147.44 + ;;
147.45 + x86_64-*-freebsd*)
147.46 + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
147.47 +diff -durN gcc-4.4.0.orig/gcc/crtstuff.c gcc-4.4.0/gcc/crtstuff.c
147.48 +--- gcc-4.4.0.orig/gcc/crtstuff.c 2009-04-10 01:23:07.000000000 +0200
147.49 ++++ gcc-4.4.0/gcc/crtstuff.c 2009-05-27 21:38:45.000000000 +0200
147.50 +@@ -85,13 +85,15 @@
147.51 + && !defined(OBJECT_FORMAT_FLAT) \
147.52 + && defined(HAVE_LD_EH_FRAME_HDR) \
147.53 + && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
147.54 +- && defined(__GLIBC__) && __GLIBC__ >= 2
147.55 ++ && ((defined(__GLIBC__) && __GLIBC__ >= 2) \
147.56 ++ || (defined(__FreeBSD_version) && __FreeBSD_version >= 700022))
147.57 + #include <link.h>
147.58 + /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
147.59 + But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
147.60 + # if !defined(__UCLIBC__) \
147.61 +- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
147.62 +- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
147.63 ++ || (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
147.64 ++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
147.65 ++ || (__FreeBSD_version >= 700022)
147.66 + # define USE_PT_GNU_EH_FRAME
147.67 + # endif
147.68 + #endif
147.69 +diff -durN gcc-4.4.0.orig/gcc/unwind-dw2-fde-glibc.c gcc-4.4.0/gcc/unwind-dw2-fde-glibc.c
147.70 +--- gcc-4.4.0.orig/gcc/unwind-dw2-fde-glibc.c 2009-04-10 01:23:07.000000000 +0200
147.71 ++++ gcc-4.4.0/gcc/unwind-dw2-fde-glibc.c 2009-05-27 21:38:45.000000000 +0200
147.72 +@@ -46,8 +46,9 @@
147.73 + #include "gthr.h"
147.74 +
147.75 + #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
147.76 +- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
147.77 +- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
147.78 ++ && ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
147.79 ++ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
147.80 ++ || (__FreeBSD_version >= 700022 ))
147.81 +
147.82 + #ifndef __RELOC_POINTER
147.83 + # define __RELOC_POINTER(ptr, base) ((ptr) + (base))
147.84 +@@ -63,6 +64,13 @@
147.85 + #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
147.86 + #endif
147.87 +
147.88 ++/* Support FreeBSD */
147.89 ++#ifndef ElfW
147.90 ++# ifdef __ElfN
147.91 ++# define ElfW __ElfN
147.92 ++# endif
147.93 ++#endif
147.94 ++
147.95 + struct unw_eh_callback_data
147.96 + {
147.97 + _Unwind_Ptr pc;
148.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
148.2 +++ b/patches/gcc/4.4.2/290-freebsd.patch Thu Oct 29 00:10:06 2009 +0100
148.3 @@ -0,0 +1,64 @@
148.4 +diff -durN gcc-4.4.0.orig/gcc/config/freebsd-spec.h gcc-4.4.0/gcc/config/freebsd-spec.h
148.5 +--- gcc-4.4.0.orig/gcc/config/freebsd-spec.h 2009-05-27 21:38:47.000000000 +0200
148.6 ++++ gcc-4.4.0/gcc/config/freebsd-spec.h 2009-05-27 21:38:47.000000000 +0200
148.7 +@@ -86,9 +86,10 @@
148.8 + #define FBSD_STARTFILE_SPEC \
148.9 + "%{!shared: \
148.10 + %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
148.11 +- %{!p:%{profile:gcrt1.o%s} \
148.12 +- %{!profile:crt1.o%s}}}} \
148.13 +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
148.14 ++ %{!p:%{profile:gcrt1.o%s} \
148.15 ++ %{!profile:crt1.o%s}}}} \
148.16 ++ crti.o%s \
148.17 ++ %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}"
148.18 +
148.19 + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
148.20 + the magical crtend.o file (see crtstuff.c) which provides part of
148.21 +@@ -126,7 +127,8 @@
148.22 + %{pg: -lc_p} \
148.23 + }"
148.24 + #else
148.25 +-#if FBSD_MAJOR < 5
148.26 ++#include <sys/param.h>
148.27 ++#if __FreeBSD_version < 500016
148.28 + #define FBSD_LIB_SPEC " \
148.29 + %{!shared: \
148.30 + %{!pg: \
148.31 +@@ -136,17 +138,34 @@
148.32 + %{!pthread:-lc_p} \
148.33 + %{pthread:-lc_r_p}} \
148.34 + }"
148.35 +-#else
148.36 ++#elif __FreeBSD_version < 700022
148.37 + #define FBSD_LIB_SPEC " \
148.38 + %{!shared: \
148.39 + %{!pg: %{pthread:-lpthread} -lc} \
148.40 + %{pg: %{pthread:-lpthread_p} -lc_p} \
148.41 + }"
148.42 ++#else
148.43 ++#define FBSD_LIB_SPEC " \
148.44 ++ %{!shared: \
148.45 ++ %{!pg: %{pthread:-lpthread} -lc} \
148.46 ++ %{pg: %{pthread:-lpthread_p} -lc_p}} \
148.47 ++ %{shared: \
148.48 ++ %{pthread:-lpthread} -lc} \
148.49 ++ "
148.50 + #endif
148.51 + #endif
148.52 +
148.53 +-#if FBSD_MAJOR < 6
148.54 ++#if FBSD_MAJOR < 5
148.55 + #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
148.56 + #else
148.57 + #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
148.58 + #endif
148.59 ++
148.60 ++#if defined(HAVE_LD_EH_FRAME_HDR)
148.61 ++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
148.62 ++#endif
148.63 ++
148.64 ++/* Use --as-needed -lgcc_s for eh support. */
148.65 ++#ifdef HAVE_LD_AS_NEEDED
148.66 ++#define USE_LD_AS_NEEDED 1
148.67 ++#endif
149.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
149.2 +++ b/patches/gcc/4.4.2/300-uclibc-conf.patch Thu Oct 29 00:10:06 2009 +0100
149.3 @@ -0,0 +1,35 @@
149.4 +diff -durN gcc-4.4.0.orig/contrib/regression/objs-gcc.sh gcc-4.4.0/contrib/regression/objs-gcc.sh
149.5 +--- gcc-4.4.0.orig/contrib/regression/objs-gcc.sh 2009-04-10 01:23:07.000000000 +0200
149.6 ++++ gcc-4.4.0/contrib/regression/objs-gcc.sh 2009-05-27 21:38:53.000000000 +0200
149.7 +@@ -106,6 +106,10 @@
149.8 + then
149.9 + make all-gdb all-dejagnu all-ld || exit 1
149.10 + make install-gdb install-dejagnu install-ld || exit 1
149.11 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
149.12 ++ then
149.13 ++ make all-gdb all-dejagnu all-ld || exit 1
149.14 ++ make install-gdb install-dejagnu install-ld || exit 1
149.15 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
149.16 + make bootstrap || exit 1
149.17 + make install || exit 1
149.18 +diff -durN gcc-4.4.0.orig/libjava/classpath/ltconfig gcc-4.4.0/libjava/classpath/ltconfig
149.19 +--- gcc-4.4.0.orig/libjava/classpath/ltconfig 2007-06-04 01:18:43.000000000 +0200
149.20 ++++ gcc-4.4.0/libjava/classpath/ltconfig 2009-05-27 21:38:53.000000000 +0200
149.21 +@@ -603,7 +603,7 @@
149.22 +
149.23 + # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
149.24 + case $host_os in
149.25 +-linux-gnu*) ;;
149.26 ++linux-gnu*|linux-uclibc*) ;;
149.27 + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
149.28 + esac
149.29 +
149.30 +@@ -1251,7 +1251,7 @@
149.31 + ;;
149.32 +
149.33 + # This must be Linux ELF.
149.34 +-linux-gnu*)
149.35 ++linux*)
149.36 + version_type=linux
149.37 + need_lib_prefix=no
149.38 + need_version=no
150.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
150.2 +++ b/patches/gcc/4.4.2/310-missing-execinfo_h.patch Thu Oct 29 00:10:06 2009 +0100
150.3 @@ -0,0 +1,12 @@
150.4 +diff -durN gcc-4.4.0.orig/boehm-gc/include/gc.h gcc-4.4.0/boehm-gc/include/gc.h
150.5 +--- gcc-4.4.0.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
150.6 ++++ gcc-4.4.0/boehm-gc/include/gc.h 2009-05-27 21:38:55.000000000 +0200
150.7 +@@ -503,7 +503,7 @@
150.8 + #if defined(__linux__) || defined(__GLIBC__)
150.9 + # include <features.h>
150.10 + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
150.11 +- && !defined(__ia64__)
150.12 ++ && !defined(__ia64__) && !defined(__UCLIBC__)
150.13 + # ifndef GC_HAVE_BUILTIN_BACKTRACE
150.14 + # define GC_HAVE_BUILTIN_BACKTRACE
150.15 + # endif
151.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
151.2 +++ b/patches/gcc/4.4.2/320-c99-snprintf.patch Thu Oct 29 00:10:06 2009 +0100
151.3 @@ -0,0 +1,12 @@
151.4 +diff -durN gcc-4.4.0.orig/libstdc++-v3/include/c_global/cstdio gcc-4.4.0/libstdc++-v3/include/c_global/cstdio
151.5 +--- gcc-4.4.0.orig/libstdc++-v3/include/c_global/cstdio 2009-04-10 01:23:07.000000000 +0200
151.6 ++++ gcc-4.4.0/libstdc++-v3/include/c_global/cstdio 2009-05-27 21:38:58.000000000 +0200
151.7 +@@ -139,7 +139,7 @@
151.8 +
151.9 + _GLIBCXX_END_NAMESPACE
151.10 +
151.11 +-#if _GLIBCXX_USE_C99
151.12 ++#if _GLIBCXX_USE_C99 || defined __UCLIBC__
151.13 +
151.14 + #undef snprintf
151.15 + #undef vfscanf
152.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
152.2 +++ b/patches/gcc/4.4.2/330-libmudflap-susv3-legacy.patch Thu Oct 29 00:10:06 2009 +0100
152.3 @@ -0,0 +1,48 @@
152.4 +diff -durN gcc-4.4.0.orig/libmudflap/mf-hooks2.c gcc-4.4.0/libmudflap/mf-hooks2.c
152.5 +--- gcc-4.4.0.orig/libmudflap/mf-hooks2.c 2009-04-10 01:23:07.000000000 +0200
152.6 ++++ gcc-4.4.0/libmudflap/mf-hooks2.c 2009-05-27 21:39:00.000000000 +0200
152.7 +@@ -421,7 +421,7 @@
152.8 + {
152.9 + TRACE ("%s\n", __PRETTY_FUNCTION__);
152.10 + MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
152.11 +- bzero (s, n);
152.12 ++ memset (s, 0, n);
152.13 + }
152.14 +
152.15 +
152.16 +@@ -431,7 +431,7 @@
152.17 + TRACE ("%s\n", __PRETTY_FUNCTION__);
152.18 + MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
152.19 + MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
152.20 +- bcopy (src, dest, n);
152.21 ++ memmove (dest, src, n);
152.22 + }
152.23 +
152.24 +
152.25 +@@ -441,7 +441,7 @@
152.26 + TRACE ("%s\n", __PRETTY_FUNCTION__);
152.27 + MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
152.28 + MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
152.29 +- return bcmp (s1, s2, n);
152.30 ++ return n == 0 ? 0 : memcmp (s1, s2, n);
152.31 + }
152.32 +
152.33 +
152.34 +@@ -450,7 +450,7 @@
152.35 + size_t n = strlen (s);
152.36 + TRACE ("%s\n", __PRETTY_FUNCTION__);
152.37 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
152.38 +- return index (s, c);
152.39 ++ return strchr (s, c);
152.40 + }
152.41 +
152.42 +
152.43 +@@ -459,7 +459,7 @@
152.44 + size_t n = strlen (s);
152.45 + TRACE ("%s\n", __PRETTY_FUNCTION__);
152.46 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
152.47 +- return rindex (s, c);
152.48 ++ return strrchr (s, c);
152.49 + }
152.50 +
152.51 + /* XXX: stpcpy, memccpy */
153.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
153.2 +++ b/patches/gcc/4.4.2/340-ecjx-host-cc.patch Thu Oct 29 00:10:06 2009 +0100
153.3 @@ -0,0 +1,13 @@
153.4 +diff -ur gcc-4.4.1-orig/libjava/Makefile.in gcc-4.4.1/libjava/Makefile.in
153.5 +--- gcc-4.4.1-orig/libjava/Makefile.in 2009-08-04 04:12:27.000000000 -0700
153.6 ++++ gcc-4.4.1/libjava/Makefile.in 2009-09-23 22:03:15.750951483 -0700
153.7 +@@ -8874,6 +8874,9 @@
153.8 + ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES)
153.9 + @rm -f ecjx$(EXEEXT)
153.10 + $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
153.11 ++ecjx.$(OBJEXT): $(ecjx_SOURCES)
153.12 ++ @rm -f ecjx.$(OBJEXT)
153.13 ++ $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
153.14 + gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES)
153.15 + @rm -f gappletviewer$(EXEEXT)
153.16 + $(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)
154.1 --- a/patches/gdb/6.4/100-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
154.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
154.3 @@ -1,78 +0,0 @@
154.4 ---- gdb-6.3/bfd/configure.orig Fri Oct 8 16:53:56 2004
154.5 -+++ gdb-6.3/bfd/configure Sun Feb 27 18:32:58 2005
154.6 -@@ -3583,6 +3583,11 @@
154.7 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
154.8 - ;;
154.9 -
154.10 -+linux-uclibc*)
154.11 -+ lt_cv_deplibs_check_method=pass_all
154.12 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
154.13 -+ ;;
154.14 -+
154.15 - netbsd* | knetbsd*-gnu)
154.16 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
154.17 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
154.18 ---- gdb-6.3/libtool.m4.orig Wed Jul 21 21:21:41 2004
154.19 -+++ gdb-6.3/libtool.m4 Mon Feb 28 00:08:11 2005
154.20 -@@ -653,6 +653,11 @@
154.21 - fi
154.22 - ;;
154.23 -
154.24 -+linux-uclibc*)
154.25 -+ lt_cv_deplibs_check_method=pass_all
154.26 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
154.27 -+ ;;
154.28 -+
154.29 - newsos6)
154.30 - [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
154.31 - lt_cv_file_magic_cmd=/usr/bin/file
154.32 ---- gdb-6.3/ltconfig.orig Tue Oct 5 15:34:42 2004
154.33 -+++ gdb-6.3/ltconfig Sun Feb 27 18:14:41 2005
154.34 -@@ -602,7 +602,7 @@
154.35 -
154.36 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
154.37 - case $host_os in
154.38 --linux-gnu*) ;;
154.39 -+linux-gnu*|linux-uclibc*) ;;
154.40 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
154.41 - esac
154.42 -
154.43 -@@ -1270,6 +1270,24 @@
154.44 - dynamic_linker='GNU/Linux ld.so'
154.45 - ;;
154.46 -
154.47 -+linux-uclibc*)
154.48 -+ version_type=linux
154.49 -+ need_lib_prefix=no
154.50 -+ need_version=no
154.51 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
154.52 -+ soname_spec='${libname}${release}.so$major'
154.53 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
154.54 -+ shlibpath_var=LD_LIBRARY_PATH
154.55 -+ shlibpath_overrides_runpath=no
154.56 -+ # This implies no fast_install, which is unacceptable.
154.57 -+ # Some rework will be needed to allow for fast_install
154.58 -+ # before this can be enabled.
154.59 -+ # Note: copied from linux-gnu, and may not be appropriate.
154.60 -+ hardcode_into_libs=yes
154.61 -+ # Assume using the uClibc dynamic linker.
154.62 -+ dynamic_linker="uClibc ld.so"
154.63 -+ ;;
154.64 -+
154.65 - netbsd*)
154.66 - need_lib_prefix=no
154.67 - need_version=no
154.68 ---- gdb-6.3/opcodes/configure.orig Fri Sep 17 08:13:38 2004
154.69 -+++ gdb-6.3/opcodes/configure Mon Feb 28 00:09:42 2005
154.70 -@@ -3595,6 +3595,11 @@
154.71 - fi
154.72 - ;;
154.73 -
154.74 -+linux-uclibc*)
154.75 -+ lt_cv_deplibs_check_method=pass_all
154.76 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
154.77 -+ ;;
154.78 -+
154.79 - newsos6)
154.80 - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
154.81 - lt_cv_file_magic_cmd=/usr/bin/file
155.1 --- a/patches/gdb/6.4/110-uclibc-readline-conf.patch Wed Oct 28 12:03:38 2009 +0100
155.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
155.3 @@ -1,15 +0,0 @@
155.4 ---- gdb-6.1.1-dist/readline/configure 2003-05-27 18:29:47.000000000 -0500
155.5 -+++ gdb-6.1.1/readline/configure 2004-08-09 14:20:23.000000000 -0500
155.6 -@@ -6249,7 +6249,12 @@
155.7 -
155.8 -
155.9 - echo "$as_me:$LINENO: checking for mbstate_t" >&5
155.10 -+echo $ECHO_N "bash_cv_have_mbstate_t=$bash_cv_have_mbstate_t" >&6
155.11 - echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
155.12 -+if test "${bash_cv_have_mbstate_t+set}" != set; then
155.13 -+ bash_cv_have_mbstate_t=yes
155.14 -+ echo $ECHO_N "WARNING!! forcing to yes!!! $ECHO_C" >&6
155.15 -+fi
155.16 - if test "${bash_cv_have_mbstate_t+set}" = set; then
155.17 - echo $ECHO_N "(cached) $ECHO_C" >&6
155.18 - else
156.1 --- a/patches/gdb/6.4/120-thread-timeout.patch Wed Oct 28 12:03:38 2009 +0100
156.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
156.3 @@ -1,34 +0,0 @@
156.4 ---- gdb-6.3.org/gdb/gdbserver/thread-db.c 2004-10-17 02:42:00.000000000 +0900
156.5 -+++ gdb-6.3/gdb/gdbserver/thread-db.c 2005-01-27 12:19:29.000000000 +0900
156.6 -@@ -21,6 +21,7 @@
156.7 - Foundation, Inc., 59 Temple Place - Suite 330,
156.8 - Boston, MA 02111-1307, USA. */
156.9 -
156.10 -+#include <unistd.h>
156.11 - #include "server.h"
156.12 -
156.13 - #include "linux-low.h"
156.14 -@@ -142,6 +143,7 @@
156.15 - td_event_msg_t msg;
156.16 - td_err_e err;
156.17 - struct inferior_linux_data *tdata;
156.18 -+ int timeout;
156.19 -
156.20 - if (debug_threads)
156.21 - fprintf (stderr, "Thread creation event.\n");
156.22 -@@ -152,7 +154,13 @@
156.23 - In the LinuxThreads implementation, this is safe,
156.24 - because all events come from the manager thread
156.25 - (except for its own creation, of course). */
156.26 -- err = td_ta_event_getmsg (thread_agent, &msg);
156.27 -+ for (timeout = 0; timeout < 50000; timeout++)
156.28 -+ {
156.29 -+ err = td_ta_event_getmsg (thread_agent, &msg);
156.30 -+ if (err != TD_NOMSG)
156.31 -+ break;
156.32 -+ usleep(1000);
156.33 -+ }
156.34 - if (err != TD_OK)
156.35 - fprintf (stderr, "thread getmsg err: %s\n",
156.36 - thread_db_err_str (err));
156.37 -
157.1 --- a/patches/gdb/6.4/130-fix-compile-flag-mismatch.patch Wed Oct 28 12:03:38 2009 +0100
157.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
157.3 @@ -1,87 +0,0 @@
157.4 -diff -ur gdb-6.4/gdb/configure gdb-6.4-patched/gdb/configure
157.5 ---- gdb-6.4/gdb/configure 2005-07-25 10:08:40.000000000 -0500
157.6 -+++ gdb-6.4-patched/gdb/configure 2007-02-05 13:22:36.000000000 -0600
157.7 -@@ -309,7 +309,7 @@
157.8 - # include <unistd.h>
157.9 - #endif"
157.10 -
157.11 --ac_subdirs_all="$ac_subdirs_all doc testsuite"
157.12 -+ac_subdirs_all="$ac_subdirs_all doc"
157.13 - ac_subdirs_all="$ac_subdirs_all gdbtk"
157.14 - ac_subdirs_all="$ac_subdirs_all multi-ice"
157.15 - ac_subdirs_all="$ac_subdirs_all gdbserver"
157.16 -@@ -5940,7 +5940,7 @@
157.17 -
157.18 -
157.19 -
157.20 --subdirs="$subdirs doc testsuite"
157.21 -+subdirs="$subdirs doc"
157.22 -
157.23 -
157.24 - . $srcdir/configure.host
157.25 -diff -ur gdb-6.4/gdb/gdbserver/configure gdb-6.4-patched/gdb/gdbserver/configure
157.26 ---- gdb-6.4/gdb/gdbserver/configure 2005-09-17 18:14:37.000000000 -0500
157.27 -+++ gdb-6.4-patched/gdb/gdbserver/configure 2007-02-05 13:22:58.000000000 -0600
157.28 -@@ -1239,7 +1239,7 @@
157.29 - ac_cache_corrupted=: ;;
157.30 - ,);;
157.31 - *)
157.32 -- if test "x$ac_old_val" != "x$ac_new_val"; then
157.33 -+ if test "`echo $ac_old_val`" != "`echo $ac_new_val`"; then
157.34 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
157.35 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
157.36 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
157.37 -diff -ur gdb-6.4/gdb/testsuite/configure gdb-6.4-patched/gdb/testsuite/configure
157.38 ---- gdb-6.4/gdb/testsuite/configure 2005-04-11 09:13:12.000000000 -0500
157.39 -+++ gdb-6.4-patched/gdb/testsuite/configure 2007-02-05 13:22:36.000000000 -0600
157.40 -@@ -1248,7 +1248,7 @@
157.41 - ac_cache_corrupted=: ;;
157.42 - ,);;
157.43 - *)
157.44 -- if test "x$ac_old_val" != "x$ac_new_val"; then
157.45 -+ if test "`echo $ac_old_val" != "`echo $ac_new_val"; then
157.46 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
157.47 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
157.48 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
157.49 -diff -ur gdb-6.4/Makefile.in gdb-6.4-patched/Makefile.in
157.50 ---- gdb-6.4/Makefile.in 2005-12-01 23:29:54.000000000 -0600
157.51 -+++ gdb-6.4-patched/Makefile.in 2007-02-05 13:22:36.000000000 -0600
157.52 -@@ -383,7 +383,7 @@
157.53 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
157.54 - # (which we know are built with gcc) are built with optimizations so
157.55 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
157.56 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
157.57 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
157.58 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
157.59 -
157.60 - # If GCC_FOR_TARGET is not overriden on the command line, then this
157.61 -@@ -423,7 +423,7 @@
157.62 - fi; \
157.63 - fi`
157.64 -
157.65 --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
157.66 -+CXXFLAGS_FOR_TARGET = $(strip $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
157.67 - LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
157.68 -
157.69 - GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
157.70 -diff -ur gdb-6.4/Makefile.tpl gdb-6.4-patched/Makefile.tpl
157.71 ---- gdb-6.4/Makefile.tpl 2005-10-22 05:37:55.000000000 -0500
157.72 -+++ gdb-6.4-patched/Makefile.tpl 2007-02-05 13:22:36.000000000 -0600
157.73 -@@ -386,7 +386,7 @@
157.74 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
157.75 - # (which we know are built with gcc) are built with optimizations so
157.76 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
157.77 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
157.78 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
157.79 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
157.80 -
157.81 - # If GCC_FOR_TARGET is not overriden on the command line, then this
157.82 -@@ -426,7 +426,7 @@
157.83 - fi; \
157.84 - fi`
157.85 -
157.86 --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
157.87 -+CXXFLAGS_FOR_TARGET = $(strip $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
157.88 - LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
157.89 -
157.90 - GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
158.1 --- a/patches/gdb/6.4/400-mips-coredump.patch-2.4.23-29 Wed Oct 28 12:03:38 2009 +0100
158.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
158.3 @@ -1,28 +0,0 @@
158.4 -Sometime around 2.4.22-23, the mips pt_regs.h fields were reordered, breaking
158.5 -coredump handling by gdb for current kernels. Update the hardcoded constants
158.6 -to reflect the change.
158.7 ---- gdb-6.2.1/gdb/mips-linux-tdep.c-orig 2004-10-29 14:23:55.000000000 -0500
158.8 -+++ gdb-6.2.1/gdb/mips-linux-tdep.c 2004-10-29 14:26:44.000000000 -0500
158.9 -@@ -53,12 +53,22 @@
158.10 -
158.11 - #define EF_REG0 6
158.12 - #define EF_REG31 37
158.13 -+
158.14 -+#if 0
158.15 - #define EF_LO 38
158.16 - #define EF_HI 39
158.17 - #define EF_CP0_EPC 40
158.18 - #define EF_CP0_BADVADDR 41
158.19 - #define EF_CP0_STATUS 42
158.20 - #define EF_CP0_CAUSE 43
158.21 -+#else
158.22 -+#define EF_CP0_STATUS 38
158.23 -+#define EF_LO 39
158.24 -+#define EF_HI 40
158.25 -+#define EF_CP0_BADVADDR 41
158.26 -+#define EF_CP0_CAUSE 42
158.27 -+#define EF_CP0_EPC 43
158.28 -+#endif
158.29 -
158.30 - #define EF_SIZE 180
158.31 -
159.1 --- a/patches/gdb/6.5/100-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
159.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
159.3 @@ -1,78 +0,0 @@
159.4 ---- gdb-6.3/bfd/configure.orig Fri Oct 8 16:53:56 2004
159.5 -+++ gdb-6.3/bfd/configure Sun Feb 27 18:32:58 2005
159.6 -@@ -3583,6 +3583,11 @@
159.7 - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
159.8 - ;;
159.9 -
159.10 -+linux-uclibc*)
159.11 -+ lt_cv_deplibs_check_method=pass_all
159.12 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
159.13 -+ ;;
159.14 -+
159.15 - netbsd* | knetbsd*-gnu)
159.16 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
159.17 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
159.18 ---- gdb-6.3/libtool.m4.orig Wed Jul 21 21:21:41 2004
159.19 -+++ gdb-6.3/libtool.m4 Mon Feb 28 00:08:11 2005
159.20 -@@ -653,6 +653,11 @@
159.21 - fi
159.22 - ;;
159.23 -
159.24 -+linux-uclibc*)
159.25 -+ lt_cv_deplibs_check_method=pass_all
159.26 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
159.27 -+ ;;
159.28 -+
159.29 - newsos6)
159.30 - [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
159.31 - lt_cv_file_magic_cmd=/usr/bin/file
159.32 ---- gdb-6.3/ltconfig.orig Tue Oct 5 15:34:42 2004
159.33 -+++ gdb-6.3/ltconfig Sun Feb 27 18:14:41 2005
159.34 -@@ -602,7 +602,7 @@
159.35 -
159.36 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
159.37 - case $host_os in
159.38 --linux-gnu*) ;;
159.39 -+linux-gnu*|linux-uclibc*) ;;
159.40 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
159.41 - esac
159.42 -
159.43 -@@ -1270,6 +1270,24 @@
159.44 - dynamic_linker='GNU/Linux ld.so'
159.45 - ;;
159.46 -
159.47 -+linux-uclibc*)
159.48 -+ version_type=linux
159.49 -+ need_lib_prefix=no
159.50 -+ need_version=no
159.51 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
159.52 -+ soname_spec='${libname}${release}.so$major'
159.53 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
159.54 -+ shlibpath_var=LD_LIBRARY_PATH
159.55 -+ shlibpath_overrides_runpath=no
159.56 -+ # This implies no fast_install, which is unacceptable.
159.57 -+ # Some rework will be needed to allow for fast_install
159.58 -+ # before this can be enabled.
159.59 -+ # Note: copied from linux-gnu, and may not be appropriate.
159.60 -+ hardcode_into_libs=yes
159.61 -+ # Assume using the uClibc dynamic linker.
159.62 -+ dynamic_linker="uClibc ld.so"
159.63 -+ ;;
159.64 -+
159.65 - netbsd*)
159.66 - need_lib_prefix=no
159.67 - need_version=no
159.68 ---- gdb-6.3/opcodes/configure.orig Fri Sep 17 08:13:38 2004
159.69 -+++ gdb-6.3/opcodes/configure Mon Feb 28 00:09:42 2005
159.70 -@@ -3595,6 +3595,11 @@
159.71 - fi
159.72 - ;;
159.73 -
159.74 -+linux-uclibc*)
159.75 -+ lt_cv_deplibs_check_method=pass_all
159.76 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
159.77 -+ ;;
159.78 -+
159.79 - newsos6)
159.80 - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
159.81 - lt_cv_file_magic_cmd=/usr/bin/file
160.1 --- a/patches/gdb/6.5/110-uclibc-readline-conf.patch Wed Oct 28 12:03:38 2009 +0100
160.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
160.3 @@ -1,15 +0,0 @@
160.4 ---- gdb-6.1.1-dist/readline/configure 2003-05-27 18:29:47.000000000 -0500
160.5 -+++ gdb-6.1.1/readline/configure 2004-08-09 14:20:23.000000000 -0500
160.6 -@@ -6249,7 +6249,12 @@
160.7 -
160.8 -
160.9 - echo "$as_me:$LINENO: checking for mbstate_t" >&5
160.10 -+echo $ECHO_N "bash_cv_have_mbstate_t=$bash_cv_have_mbstate_t" >&6
160.11 - echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
160.12 -+if test "${bash_cv_have_mbstate_t+set}" != set; then
160.13 -+ bash_cv_have_mbstate_t=yes
160.14 -+ echo $ECHO_N "WARNING!! forcing to yes!!! $ECHO_C" >&6
160.15 -+fi
160.16 - if test "${bash_cv_have_mbstate_t+set}" = set; then
160.17 - echo $ECHO_N "(cached) $ECHO_C" >&6
160.18 - else
161.1 --- a/patches/gdb/6.5/120-thread-timeout.patch Wed Oct 28 12:03:38 2009 +0100
161.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
161.3 @@ -1,33 +0,0 @@
161.4 ---- gdb-6.5/./gdb/gdbserver/thread-db.c.orig 2006-03-15 08:13:29.000000000 -0800
161.5 -+++ gdb-6.5/./gdb/gdbserver/thread-db.c 2008-04-01 21:21:23.000000000 -0700
161.6 -@@ -21,6 +21,7 @@
161.7 - Foundation, Inc., 51 Franklin Street, Fifth Floor,
161.8 - Boston, MA 02110-1301, USA. */
161.9 -
161.10 -+#include <unistd.h>
161.11 - #include "server.h"
161.12 -
161.13 - #include "linux-low.h"
161.14 -@@ -134,6 +135,7 @@ thread_db_create_event (CORE_ADDR where)
161.15 - td_event_msg_t msg;
161.16 - td_err_e err;
161.17 - struct inferior_linux_data *tdata;
161.18 -+ int timeout;
161.19 -
161.20 - if (debug_threads)
161.21 - fprintf (stderr, "Thread creation event.\n");
161.22 -@@ -144,7 +146,13 @@ thread_db_create_event (CORE_ADDR where)
161.23 - In the LinuxThreads implementation, this is safe,
161.24 - because all events come from the manager thread
161.25 - (except for its own creation, of course). */
161.26 -- err = td_ta_event_getmsg (thread_agent, &msg);
161.27 -+ for (timeout = 0; timeout < 50000; timeout++)
161.28 -+ {
161.29 -+ err = td_ta_event_getmsg (thread_agent, &msg);
161.30 -+ if (err != TD_NOMSG)
161.31 -+ break;
161.32 -+ usleep(1000);
161.33 -+ }
161.34 - if (err != TD_OK)
161.35 - fprintf (stderr, "thread getmsg err: %s\n",
161.36 - thread_db_err_str (err));
162.1 --- a/patches/gdb/6.5/130-fix-compile-flag-mismatch.patch Wed Oct 28 12:03:38 2009 +0100
162.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
162.3 @@ -1,69 +0,0 @@
162.4 -diff -ur gdb-6.4/gdb/configure gdb-6.4-patched/gdb/configure
162.5 ---- gdb-6.4/gdb/configure 2005-07-25 10:08:40.000000000 -0500
162.6 -+++ gdb-6.4-patched/gdb/configure 2007-02-05 13:22:36.000000000 -0600
162.7 -@@ -309,7 +309,7 @@
162.8 - # include <unistd.h>
162.9 - #endif"
162.10 -
162.11 --ac_subdirs_all="$ac_subdirs_all doc testsuite"
162.12 -+ac_subdirs_all="$ac_subdirs_all doc"
162.13 - ac_subdirs_all="$ac_subdirs_all gdbtk"
162.14 - ac_subdirs_all="$ac_subdirs_all multi-ice"
162.15 - ac_subdirs_all="$ac_subdirs_all gdbserver"
162.16 -@@ -5940,7 +5940,7 @@
162.17 -
162.18 -
162.19 -
162.20 --subdirs="$subdirs doc testsuite"
162.21 -+subdirs="$subdirs doc"
162.22 -
162.23 -
162.24 - . $srcdir/configure.host
162.25 -diff -ur gdb-6.4/gdb/gdbserver/configure gdb-6.4-patched/gdb/gdbserver/configure
162.26 ---- gdb-6.4/gdb/gdbserver/configure 2005-09-17 18:14:37.000000000 -0500
162.27 -+++ gdb-6.4-patched/gdb/gdbserver/configure 2007-02-05 13:22:58.000000000 -0600
162.28 -@@ -1239,7 +1239,7 @@
162.29 - ac_cache_corrupted=: ;;
162.30 - ,);;
162.31 - *)
162.32 -- if test "x$ac_old_val" != "x$ac_new_val"; then
162.33 -+ if test "`echo $ac_old_val`" != "`echo $ac_new_val`"; then
162.34 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
162.35 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
162.36 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
162.37 -diff -ur gdb-6.4/gdb/testsuite/configure gdb-6.4-patched/gdb/testsuite/configure
162.38 ---- gdb-6.4/gdb/testsuite/configure 2005-04-11 09:13:12.000000000 -0500
162.39 -+++ gdb-6.4-patched/gdb/testsuite/configure 2007-02-05 13:22:36.000000000 -0600
162.40 -@@ -1248,7 +1248,7 @@
162.41 - ac_cache_corrupted=: ;;
162.42 - ,);;
162.43 - *)
162.44 -- if test "x$ac_old_val" != "x$ac_new_val"; then
162.45 -+ if test "`echo $ac_old_val" != "`echo $ac_new_val"; then
162.46 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
162.47 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
162.48 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
162.49 -diff -ur gdb-6.4/Makefile.in gdb-6.4-patched/Makefile.in
162.50 ---- gdb-6.4/Makefile.in 2005-12-01 23:29:54.000000000 -0600
162.51 -+++ gdb-6.4-patched/Makefile.in 2007-02-05 13:22:36.000000000 -0600
162.52 -@@ -383,7 +383,7 @@
162.53 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
162.54 - # (which we know are built with gcc) are built with optimizations so
162.55 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
162.56 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
162.57 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
162.58 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
162.59 -
162.60 - # If GCC_FOR_TARGET is not overriden on the command line, then this
162.61 -diff -ur gdb-6.4/Makefile.tpl gdb-6.4-patched/Makefile.tpl
162.62 ---- gdb-6.4/Makefile.tpl 2005-10-22 05:37:55.000000000 -0500
162.63 -+++ gdb-6.4-patched/Makefile.tpl 2007-02-05 13:22:36.000000000 -0600
162.64 -@@ -386,7 +386,7 @@
162.65 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
162.66 - # (which we know are built with gcc) are built with optimizations so
162.67 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
162.68 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
162.69 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
162.70 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
162.71 -
162.72 - # If GCC_FOR_TARGET is not overriden on the command line, then this
163.1 --- a/patches/gdb/6.5/400-mips-coredump.patch-2.4.23-29 Wed Oct 28 12:03:38 2009 +0100
163.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
163.3 @@ -1,28 +0,0 @@
163.4 -Sometime around 2.4.22-23, the mips pt_regs.h fields were reordered, breaking
163.5 -coredump handling by gdb for current kernels. Update the hardcoded constants
163.6 -to reflect the change.
163.7 ---- gdb-6.2.1/gdb/mips-linux-tdep.c-orig 2004-10-29 14:23:55.000000000 -0500
163.8 -+++ gdb-6.2.1/gdb/mips-linux-tdep.c 2004-10-29 14:26:44.000000000 -0500
163.9 -@@ -53,12 +53,22 @@
163.10 -
163.11 - #define EF_REG0 6
163.12 - #define EF_REG31 37
163.13 -+
163.14 -+#if 0
163.15 - #define EF_LO 38
163.16 - #define EF_HI 39
163.17 - #define EF_CP0_EPC 40
163.18 - #define EF_CP0_BADVADDR 41
163.19 - #define EF_CP0_STATUS 42
163.20 - #define EF_CP0_CAUSE 43
163.21 -+#else
163.22 -+#define EF_CP0_STATUS 38
163.23 -+#define EF_LO 39
163.24 -+#define EF_HI 40
163.25 -+#define EF_CP0_BADVADDR 41
163.26 -+#define EF_CP0_CAUSE 42
163.27 -+#define EF_CP0_EPC 43
163.28 -+#endif
163.29 -
163.30 - #define EF_SIZE 180
163.31 -
164.1 --- a/patches/gdb/6.6/100-uclibc-conf.patch Wed Oct 28 12:03:38 2009 +0100
164.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
164.3 @@ -1,82 +0,0 @@
164.4 -diff -rNdup gdb-6.6.orig/bfd/configure gdb-6.6/bfd/configure
164.5 ---- gdb-6.6.orig/bfd/configure 2006-10-25 08:49:20.000000000 +0200
164.6 -+++ gdb-6.6/bfd/configure 2007-05-14 10:35:50.000000000 +0200
164.7 -@@ -3579,6 +3579,11 @@ linux-gnu*)
164.8 - lt_cv_deplibs_check_method=pass_all
164.9 - ;;
164.10 -
164.11 -+linux-uclibc*)
164.12 -+ lt_cv_deplibs_check_method=pass_all
164.13 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
164.14 -+ ;;
164.15 -+
164.16 - netbsd* | knetbsd*-gnu)
164.17 - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
164.18 - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
164.19 -diff -rNdup gdb-6.6.orig/libtool.m4 gdb-6.6/libtool.m4
164.20 ---- gdb-6.6.orig/libtool.m4 2005-12-27 17:37:57.000000000 +0100
164.21 -+++ gdb-6.6/libtool.m4 2007-05-14 10:35:50.000000000 +0200
164.22 -@@ -751,6 +751,11 @@ netbsd* | knetbsd*-gnu)
164.23 - fi
164.24 - ;;
164.25 -
164.26 -+linux-uclibc*)
164.27 -+ lt_cv_deplibs_check_method=pass_all
164.28 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
164.29 -+ ;;
164.30 -+
164.31 - newsos6)
164.32 - [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
164.33 - lt_cv_file_magic_cmd=/usr/bin/file
164.34 -diff -rNdup gdb-6.6.orig/ltconfig gdb-6.6/ltconfig
164.35 ---- gdb-6.6.orig/ltconfig 2006-07-04 22:31:03.000000000 +0200
164.36 -+++ gdb-6.6/ltconfig 2007-05-14 10:35:50.000000000 +0200
164.37 -@@ -602,7 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
164.38 -
164.39 - # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
164.40 - case $host_os in
164.41 --linux-gnu*) ;;
164.42 -+linux-gnu*|linux-uclibc*) ;;
164.43 - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
164.44 - esac
164.45 -
164.46 -@@ -1270,6 +1270,24 @@ linux-gnu*)
164.47 - dynamic_linker='GNU/Linux ld.so'
164.48 - ;;
164.49 -
164.50 -+linux-uclibc*)
164.51 -+ version_type=linux
164.52 -+ need_lib_prefix=no
164.53 -+ need_version=no
164.54 -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
164.55 -+ soname_spec='${libname}${release}.so$major'
164.56 -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
164.57 -+ shlibpath_var=LD_LIBRARY_PATH
164.58 -+ shlibpath_overrides_runpath=no
164.59 -+ # This implies no fast_install, which is unacceptable.
164.60 -+ # Some rework will be needed to allow for fast_install
164.61 -+ # before this can be enabled.
164.62 -+ # Note: copied from linux-gnu, and may not be appropriate.
164.63 -+ hardcode_into_libs=yes
164.64 -+ # Assume using the uClibc dynamic linker.
164.65 -+ dynamic_linker="uClibc ld.so"
164.66 -+ ;;
164.67 -+
164.68 - netbsd*)
164.69 - need_lib_prefix=no
164.70 - need_version=no
164.71 -diff -rNdup gdb-6.6.orig/opcodes/configure gdb-6.6/opcodes/configure
164.72 ---- gdb-6.6.orig/opcodes/configure 2006-10-25 08:49:20.000000000 +0200
164.73 -+++ gdb-6.6/opcodes/configure 2007-05-14 10:35:50.000000000 +0200
164.74 -@@ -3590,6 +3590,11 @@ netbsd* | knetbsd*-gnu)
164.75 - fi
164.76 - ;;
164.77 -
164.78 -+linux-uclibc*)
164.79 -+ lt_cv_deplibs_check_method=pass_all
164.80 -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
164.81 -+ ;;
164.82 -+
164.83 - newsos6)
164.84 - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
164.85 - lt_cv_file_magic_cmd=/usr/bin/file
165.1 --- a/patches/gdb/6.6/110-fix-compile-flag-mismatch.patch Wed Oct 28 12:03:38 2009 +0100
165.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
165.3 @@ -1,69 +0,0 @@
165.4 -diff -rduNp gdb-6.6-100/Makefile.in gdb-6.6/Makefile.in
165.5 ---- gdb-6.6-100/Makefile.in 2006-12-18 08:21:19.000000000 +0100
165.6 -+++ gdb-6.6/Makefile.in 2007-05-14 10:54:29.000000000 +0200
165.7 -@@ -331,7 +331,7 @@ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_
165.8 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
165.9 - # (which we know are built with gcc) are built with optimizations so
165.10 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
165.11 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
165.12 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
165.13 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
165.14 - CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
165.15 - LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
165.16 -diff -rduNp gdb-6.6-100/Makefile.tpl gdb-6.6/Makefile.tpl
165.17 ---- gdb-6.6-100/Makefile.tpl 2006-11-15 00:26:39.000000000 +0100
165.18 -+++ gdb-6.6/Makefile.tpl 2007-05-14 10:54:29.000000000 +0200
165.19 -@@ -334,7 +334,7 @@ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_
165.20 - # CFLAGS will be just -g. We want to ensure that TARGET libraries
165.21 - # (which we know are built with gcc) are built with optimizations so
165.22 - # prepend -O2 when setting CFLAGS_FOR_TARGET.
165.23 --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
165.24 -+CFLAGS_FOR_TARGET = $(strip $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
165.25 - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
165.26 - CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
165.27 - LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
165.28 -diff -rduNp gdb-6.6-100/gdb/configure gdb-6.6/gdb/configure
165.29 ---- gdb-6.6-100/gdb/configure 2006-12-17 16:38:59.000000000 +0100
165.30 -+++ gdb-6.6/gdb/configure 2007-05-14 10:55:41.000000000 +0200
165.31 -@@ -272,7 +272,7 @@ PACKAGE_STRING=
165.32 - PACKAGE_BUGREPORT=
165.33 -
165.34 - ac_unique_file="main.c"
165.35 --ac_subdirs_all="$ac_subdirs_all doc testsuite"
165.36 -+ac_subdirs_all="$ac_subdirs_all doc"
165.37 - # Factoring default headers for most tests.
165.38 - ac_includes_default="\
165.39 - #include <stdio.h>
165.40 -@@ -3055,7 +3055,7 @@ _ACEOF
165.41 -
165.42 -
165.43 -
165.44 --subdirs="$subdirs doc testsuite"
165.45 -+subdirs="$subdirs doc"
165.46 -
165.47 -
165.48 - # Provide defaults for some variables set by the per-host and per-target
165.49 -diff -rduNp gdb-6.6-100/gdb/gdbserver/configure gdb-6.6/gdb/gdbserver/configure
165.50 ---- gdb-6.6-100/gdb/gdbserver/configure 2006-11-22 01:10:19.000000000 +0100
165.51 -+++ gdb-6.6/gdb/gdbserver/configure 2007-05-14 10:54:29.000000000 +0200
165.52 -@@ -1239,7 +1239,7 @@ echo "$as_me: error: \`$ac_var' was not
165.53 - ac_cache_corrupted=: ;;
165.54 - ,);;
165.55 - *)
165.56 -- if test "x$ac_old_val" != "x$ac_new_val"; then
165.57 -+ if test "`echo $ac_old_val`" != "`echo $ac_new_val`"; then
165.58 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
165.59 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
165.60 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
165.61 -diff -rduNp gdb-6.6-100/gdb/testsuite/configure gdb-6.6/gdb/testsuite/configure
165.62 ---- gdb-6.6-100/gdb/testsuite/configure 2006-06-21 15:57:21.000000000 +0200
165.63 -+++ gdb-6.6/gdb/testsuite/configure 2007-05-14 10:54:29.000000000 +0200
165.64 -@@ -1248,7 +1248,7 @@ echo "$as_me: error: \`$ac_var' was not
165.65 - ac_cache_corrupted=: ;;
165.66 - ,);;
165.67 - *)
165.68 -- if test "x$ac_old_val" != "x$ac_new_val"; then
165.69 -+ if test "`echo $ac_old_val" != "`echo $ac_new_val"; then
165.70 - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
165.71 - echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
165.72 - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
166.1 --- a/patches/gdb/6.7.1/100-security-errata-20050610.patch Wed Oct 28 12:03:38 2009 +0100
166.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
166.3 @@ -1,205 +0,0 @@
166.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/35_all_gdb-6.3-security-errata-20050610.patch
166.5 --= BEGIN original header =-
166.6 -2005-06-09 Jeff Johnston <jjohnstn@redhat.com>
166.7 -
166.8 - * gdb.base/gdbinit.exp: New testcase.
166.9 - * gdb.base/gdbinit.sample: Sample .gdbinit for gdbinit.exp.
166.10 -
166.11 -2005-06-08 Daniel Jacobowitz <dan@codesourcery.com>
166.12 - Jeff Johnston <jjohnstn@redhat.com>
166.13 -
166.14 - * Makefile.in (cli-cmds.o): Update.
166.15 - * configure.in: Add check for getuid.
166.16 - * configure: Regenerated.
166.17 - * config.in: Ditto.
166.18 - * main.c (captured_main): Pass -1 to source_command when loading
166.19 - gdbinit files.
166.20 - * cli/cli-cmds.c: Include "gdb_stat.h" and <fcntl.h>.
166.21 - (source_command): Update documentation. Check permissions if
166.22 - FROM_TTY is -1.
166.23 -
166.24 --= END original header =-
166.25 -diff -durN gdb-6.7.1.orig/gdb/cli/cli-cmds.c gdb-6.7.1/gdb/cli/cli-cmds.c
166.26 ---- gdb-6.7.1.orig/gdb/cli/cli-cmds.c 2007-08-23 20:08:47.000000000 +0200
166.27 -+++ gdb-6.7.1/gdb/cli/cli-cmds.c 2008-06-17 23:27:44.000000000 +0200
166.28 -@@ -36,6 +36,7 @@
166.29 - #include "objfiles.h"
166.30 - #include "source.h"
166.31 - #include "disasm.h"
166.32 -+#include "gdb_stat.h"
166.33 -
166.34 - #include "ui-out.h"
166.35 -
166.36 -@@ -459,12 +460,31 @@
166.37 -
166.38 - if (fd == -1)
166.39 - {
166.40 -- if (from_tty)
166.41 -+ if (from_tty > 0)
166.42 - perror_with_name (file);
166.43 - else
166.44 - return;
166.45 - }
166.46 -
166.47 -+#ifdef HAVE_GETUID
166.48 -+ if (from_tty == -1)
166.49 -+ {
166.50 -+ struct stat statbuf;
166.51 -+ if (fstat (fd, &statbuf) < 0)
166.52 -+ {
166.53 -+ perror_with_name (file);
166.54 -+ close (fd);
166.55 -+ return;
166.56 -+ }
166.57 -+ if (statbuf.st_uid != getuid () || (statbuf.st_mode & S_IWOTH))
166.58 -+ {
166.59 -+ warning (_("not using untrusted file \"%s\""), file);
166.60 -+ close (fd);
166.61 -+ return;
166.62 -+ }
166.63 -+ }
166.64 -+#endif
166.65 -+
166.66 - stream = fdopen (fd, FOPEN_RT);
166.67 - script_from_file (stream, file);
166.68 -
166.69 -diff -durN gdb-6.7.1.orig/gdb/main.c gdb-6.7.1/gdb/main.c
166.70 ---- gdb-6.7.1.orig/gdb/main.c 2007-08-23 20:08:36.000000000 +0200
166.71 -+++ gdb-6.7.1/gdb/main.c 2008-06-17 23:27:44.000000000 +0200
166.72 -@@ -688,7 +688,7 @@
166.73 -
166.74 - if (!inhibit_gdbinit)
166.75 - {
166.76 -- catch_command_errors (source_script, homeinit, 0, RETURN_MASK_ALL);
166.77 -+ catch_command_errors (source_script, homeinit, -1, RETURN_MASK_ALL);
166.78 - }
166.79 -
166.80 - /* Do stats; no need to do them elsewhere since we'll only
166.81 -@@ -766,7 +766,7 @@
166.82 - || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat)))
166.83 - if (!inhibit_gdbinit)
166.84 - {
166.85 -- catch_command_errors (source_script, gdbinit, 0, RETURN_MASK_ALL);
166.86 -+ catch_command_errors (source_script, gdbinit, -1, RETURN_MASK_ALL);
166.87 - }
166.88 -
166.89 - for (i = 0; i < ncmd; i++)
166.90 -diff -durN gdb-6.7.1.orig/gdb/Makefile.in gdb-6.7.1/gdb/Makefile.in
166.91 ---- gdb-6.7.1.orig/gdb/Makefile.in 2008-06-17 23:27:44.000000000 +0200
166.92 -+++ gdb-6.7.1/gdb/Makefile.in 2008-06-17 23:27:44.000000000 +0200
166.93 -@@ -2885,7 +2885,7 @@
166.94 - $(expression_h) $(frame_h) $(value_h) $(language_h) $(filenames_h) \
166.95 - $(objfiles_h) $(source_h) $(disasm_h) $(ui_out_h) $(top_h) \
166.96 - $(cli_decode_h) $(cli_script_h) $(cli_setshow_h) $(cli_cmds_h) \
166.97 -- $(tui_h)
166.98 -+ $(tui_h) $(gdb_stat_h)
166.99 - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c
166.100 - cli-decode.o: $(srcdir)/cli/cli-decode.c $(defs_h) $(symtab_h) \
166.101 - $(gdb_regex_h) $(gdb_string_h) $(completer_h) $(ui_out_h) \
166.102 -diff -durN gdb-6.7.1.orig/gdb/testsuite/gdb.base/gdbinit.exp gdb-6.7.1/gdb/testsuite/gdb.base/gdbinit.exp
166.103 ---- gdb-6.7.1.orig/gdb/testsuite/gdb.base/gdbinit.exp 1970-01-01 01:00:00.000000000 +0100
166.104 -+++ gdb-6.7.1/gdb/testsuite/gdb.base/gdbinit.exp 2008-06-17 23:27:44.000000000 +0200
166.105 -@@ -0,0 +1,98 @@
166.106 -+# Copyright 2005
166.107 -+# Free Software Foundation, Inc.
166.108 -+
166.109 -+# This program is free software; you can redistribute it and/or modify
166.110 -+# it under the terms of the GNU General Public License as published by
166.111 -+# the Free Software Foundation; either version 2 of the License, or
166.112 -+# (at your option) any later version.
166.113 -+#
166.114 -+# This program is distributed in the hope that it will be useful,
166.115 -+# but WITHOUT ANY WARRANTY; without even the implied warranty of
166.116 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
166.117 -+# GNU General Public License for more details.
166.118 -+#
166.119 -+# You should have received a copy of the GNU General Public License
166.120 -+# along with this program; if not, write to the Free Software
166.121 -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
166.122 -+
166.123 -+# Please email any bugs, comments, and/or additions to this file to:
166.124 -+# bug-gdb@prep.ai.mit.edu
166.125 -+
166.126 -+# This file was written by Jeff Johnston <jjohnstn@redhat.com>.
166.127 -+
166.128 -+if $tracelevel then {
166.129 -+ strace $tracelevel
166.130 -+}
166.131 -+
166.132 -+set prms_id 0
166.133 -+set bug_id 0
166.134 -+
166.135 -+# are we on a target board
166.136 -+if [is_remote target] {
166.137 -+ return
166.138 -+}
166.139 -+
166.140 -+
166.141 -+global verbose
166.142 -+global GDB
166.143 -+global GDBFLAGS
166.144 -+global gdb_prompt
166.145 -+global timeout
166.146 -+global gdb_spawn_id;
166.147 -+
166.148 -+gdb_stop_suppressing_tests;
166.149 -+
166.150 -+verbose "Spawning $GDB -nw"
166.151 -+
166.152 -+if [info exists gdb_spawn_id] {
166.153 -+ return 0;
166.154 -+}
166.155 -+
166.156 -+if ![is_remote host] {
166.157 -+ if { [which $GDB] == 0 } then {
166.158 -+ perror "$GDB does not exist."
166.159 -+ exit 1
166.160 -+ }
166.161 -+}
166.162 -+
166.163 -+set env(HOME) [pwd]
166.164 -+remote_exec build "rm .gdbinit"
166.165 -+remote_exec build "cp ${srcdir}/${subdir}/gdbinit.sample .gdbinit"
166.166 -+remote_exec build "chmod 646 .gdbinit"
166.167 -+
166.168 -+set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"];
166.169 -+if { $res < 0 || $res == "" } {
166.170 -+ perror "Spawning $GDB failed."
166.171 -+ return 1;
166.172 -+}
166.173 -+gdb_expect 360 {
166.174 -+ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" {
166.175 -+ pass "untrusted .gdbinit caught."
166.176 -+ }
166.177 -+ -re "$gdb_prompt $" {
166.178 -+ fail "untrusted .gdbinit caught."
166.179 -+ }
166.180 -+ timeout {
166.181 -+ fail "(timeout) untrusted .gdbinit caught."
166.182 -+ }
166.183 -+}
166.184 -+
166.185 -+remote_exec build "chmod 644 .gdbinit"
166.186 -+set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"];
166.187 -+if { $res < 0 || $res == "" } {
166.188 -+ perror "Spawning $GDB failed."
166.189 -+ return 1;
166.190 -+}
166.191 -+gdb_expect 360 {
166.192 -+ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" {
166.193 -+ fail "trusted .gdbinit allowed."
166.194 -+ }
166.195 -+ -re "in gdbinit.*$gdb_prompt $" {
166.196 -+ pass "trusted .gdbinit allowed."
166.197 -+ }
166.198 -+ timeout {
166.199 -+ fail "(timeout) trusted .gdbinit allowed."
166.200 -+ }
166.201 -+}
166.202 -+
166.203 -+remote_exec build "rm .gdbinit"
166.204 -diff -durN gdb-6.7.1.orig/gdb/testsuite/gdb.base/gdbinit.sample gdb-6.7.1/gdb/testsuite/gdb.base/gdbinit.sample
166.205 ---- gdb-6.7.1.orig/gdb/testsuite/gdb.base/gdbinit.sample 1970-01-01 01:00:00.000000000 +0100
166.206 -+++ gdb-6.7.1/gdb/testsuite/gdb.base/gdbinit.sample 2008-06-17 23:27:44.000000000 +0200
166.207 -@@ -0,0 +1 @@
166.208 -+echo "\nin gdbinit"
167.1 --- a/patches/gdb/6.7.1/110-hppa-offsets.patch Wed Oct 28 12:03:38 2009 +0100
167.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
167.3 @@ -1,272 +0,0 @@
167.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/45_all_gdb-hppa-offsets.patch
167.5 --= BEGIN original header =-
167.6 -sanitized headers dont include asm/offsets.h, so cache a local copy
167.7 -
167.8 -http://bugs.gentoo.org/180476
167.9 -http://lists.parisc-linux.org/pipermail/parisc-linux/2007-February/031162.html
167.10 -
167.11 --= END original header =-
167.12 -diff -durN gdb-6.7.1.orig/gdb/hppa-linux-nat.c gdb-6.7.1/gdb/hppa-linux-nat.c
167.13 ---- gdb-6.7.1.orig/gdb/hppa-linux-nat.c 2007-08-23 20:08:33.000000000 +0200
167.14 -+++ gdb-6.7.1/gdb/hppa-linux-nat.c 2008-06-17 23:27:45.000000000 +0200
167.15 -@@ -32,7 +32,7 @@
167.16 - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,43)
167.17 - #include <asm/offset.h>
167.18 - #else
167.19 --#include <asm/offsets.h>
167.20 -+#include <hppa-offsets.h>
167.21 - #endif
167.22 -
167.23 - #include "hppa-tdep.h"
167.24 -diff -durN gdb-6.7.1.orig/gdb/hppa-offsets.h gdb-6.7.1/gdb/hppa-offsets.h
167.25 ---- gdb-6.7.1.orig/gdb/hppa-offsets.h 1970-01-01 01:00:00.000000000 +0100
167.26 -+++ gdb-6.7.1/gdb/hppa-offsets.h 2008-06-17 23:27:45.000000000 +0200
167.27 -@@ -0,0 +1,248 @@
167.28 -+#ifndef __ASM_OFFSETS_H__
167.29 -+#define __ASM_OFFSETS_H__
167.30 -+/*
167.31 -+ * DO NOT MODIFY.
167.32 -+ *
167.33 -+ * This file was generated by arch/parisc/Makefile
167.34 -+ *
167.35 -+ */
167.36 -+
167.37 -+#define TASK_THREAD_INFO 4 /* offsetof(struct task_struct, thread_info) */
167.38 -+#define TASK_STATE 0 /* offsetof(struct task_struct, state) */
167.39 -+#define TASK_FLAGS 12 /* offsetof(struct task_struct, flags) */
167.40 -+#define TASK_SIGPENDING 1188 /* offsetof(struct task_struct, pending) */
167.41 -+#define TASK_PTRACE 16 /* offsetof(struct task_struct, ptrace) */
167.42 -+#define TASK_MM 108 /* offsetof(struct task_struct, mm) */
167.43 -+#define TASK_PERSONALITY 132 /* offsetof(struct task_struct, personality) */
167.44 -+#define TASK_PID 140 /* offsetof(struct task_struct, pid) */
167.45 -+
167.46 -+#define TASK_REGS 664 /* offsetof(struct task_struct, thread.regs) */
167.47 -+#define TASK_PT_PSW 664 /* offsetof(struct task_struct, thread.regs.gr[ 0]) */
167.48 -+#define TASK_PT_GR1 668 /* offsetof(struct task_struct, thread.regs.gr[ 1]) */
167.49 -+#define TASK_PT_GR2 672 /* offsetof(struct task_struct, thread.regs.gr[ 2]) */
167.50 -+#define TASK_PT_GR3 676 /* offsetof(struct task_struct, thread.regs.gr[ 3]) */
167.51 -+#define TASK_PT_GR4 680 /* offsetof(struct task_struct, thread.regs.gr[ 4]) */
167.52 -+#define TASK_PT_GR5 684 /* offsetof(struct task_struct, thread.regs.gr[ 5]) */
167.53 -+#define TASK_PT_GR6 688 /* offsetof(struct task_struct, thread.regs.gr[ 6]) */
167.54 -+#define TASK_PT_GR7 692 /* offsetof(struct task_struct, thread.regs.gr[ 7]) */
167.55 -+#define TASK_PT_GR8 696 /* offsetof(struct task_struct, thread.regs.gr[ 8]) */
167.56 -+#define TASK_PT_GR9 700 /* offsetof(struct task_struct, thread.regs.gr[ 9]) */
167.57 -+#define TASK_PT_GR10 704 /* offsetof(struct task_struct, thread.regs.gr[10]) */
167.58 -+#define TASK_PT_GR11 708 /* offsetof(struct task_struct, thread.regs.gr[11]) */
167.59 -+#define TASK_PT_GR12 712 /* offsetof(struct task_struct, thread.regs.gr[12]) */
167.60 -+#define TASK_PT_GR13 716 /* offsetof(struct task_struct, thread.regs.gr[13]) */
167.61 -+#define TASK_PT_GR14 720 /* offsetof(struct task_struct, thread.regs.gr[14]) */
167.62 -+#define TASK_PT_GR15 724 /* offsetof(struct task_struct, thread.regs.gr[15]) */
167.63 -+#define TASK_PT_GR16 728 /* offsetof(struct task_struct, thread.regs.gr[16]) */
167.64 -+#define TASK_PT_GR17 732 /* offsetof(struct task_struct, thread.regs.gr[17]) */
167.65 -+#define TASK_PT_GR18 736 /* offsetof(struct task_struct, thread.regs.gr[18]) */
167.66 -+#define TASK_PT_GR19 740 /* offsetof(struct task_struct, thread.regs.gr[19]) */
167.67 -+#define TASK_PT_GR20 744 /* offsetof(struct task_struct, thread.regs.gr[20]) */
167.68 -+#define TASK_PT_GR21 748 /* offsetof(struct task_struct, thread.regs.gr[21]) */
167.69 -+#define TASK_PT_GR22 752 /* offsetof(struct task_struct, thread.regs.gr[22]) */
167.70 -+#define TASK_PT_GR23 756 /* offsetof(struct task_struct, thread.regs.gr[23]) */
167.71 -+#define TASK_PT_GR24 760 /* offsetof(struct task_struct, thread.regs.gr[24]) */
167.72 -+#define TASK_PT_GR25 764 /* offsetof(struct task_struct, thread.regs.gr[25]) */
167.73 -+#define TASK_PT_GR26 768 /* offsetof(struct task_struct, thread.regs.gr[26]) */
167.74 -+#define TASK_PT_GR27 772 /* offsetof(struct task_struct, thread.regs.gr[27]) */
167.75 -+#define TASK_PT_GR28 776 /* offsetof(struct task_struct, thread.regs.gr[28]) */
167.76 -+#define TASK_PT_GR29 780 /* offsetof(struct task_struct, thread.regs.gr[29]) */
167.77 -+#define TASK_PT_GR30 784 /* offsetof(struct task_struct, thread.regs.gr[30]) */
167.78 -+#define TASK_PT_GR31 788 /* offsetof(struct task_struct, thread.regs.gr[31]) */
167.79 -+#define TASK_PT_FR0 792 /* offsetof(struct task_struct, thread.regs.fr[ 0]) */
167.80 -+#define TASK_PT_FR1 800 /* offsetof(struct task_struct, thread.regs.fr[ 1]) */
167.81 -+#define TASK_PT_FR2 808 /* offsetof(struct task_struct, thread.regs.fr[ 2]) */
167.82 -+#define TASK_PT_FR3 816 /* offsetof(struct task_struct, thread.regs.fr[ 3]) */
167.83 -+#define TASK_PT_FR4 824 /* offsetof(struct task_struct, thread.regs.fr[ 4]) */
167.84 -+#define TASK_PT_FR5 832 /* offsetof(struct task_struct, thread.regs.fr[ 5]) */
167.85 -+#define TASK_PT_FR6 840 /* offsetof(struct task_struct, thread.regs.fr[ 6]) */
167.86 -+#define TASK_PT_FR7 848 /* offsetof(struct task_struct, thread.regs.fr[ 7]) */
167.87 -+#define TASK_PT_FR8 856 /* offsetof(struct task_struct, thread.regs.fr[ 8]) */
167.88 -+#define TASK_PT_FR9 864 /* offsetof(struct task_struct, thread.regs.fr[ 9]) */
167.89 -+#define TASK_PT_FR10 872 /* offsetof(struct task_struct, thread.regs.fr[10]) */
167.90 -+#define TASK_PT_FR11 880 /* offsetof(struct task_struct, thread.regs.fr[11]) */
167.91 -+#define TASK_PT_FR12 888 /* offsetof(struct task_struct, thread.regs.fr[12]) */
167.92 -+#define TASK_PT_FR13 896 /* offsetof(struct task_struct, thread.regs.fr[13]) */
167.93 -+#define TASK_PT_FR14 904 /* offsetof(struct task_struct, thread.regs.fr[14]) */
167.94 -+#define TASK_PT_FR15 912 /* offsetof(struct task_struct, thread.regs.fr[15]) */
167.95 -+#define TASK_PT_FR16 920 /* offsetof(struct task_struct, thread.regs.fr[16]) */
167.96 -+#define TASK_PT_FR17 928 /* offsetof(struct task_struct, thread.regs.fr[17]) */
167.97 -+#define TASK_PT_FR18 936 /* offsetof(struct task_struct, thread.regs.fr[18]) */
167.98 -+#define TASK_PT_FR19 944 /* offsetof(struct task_struct, thread.regs.fr[19]) */
167.99 -+#define TASK_PT_FR20 952 /* offsetof(struct task_struct, thread.regs.fr[20]) */
167.100 -+#define TASK_PT_FR21 960 /* offsetof(struct task_struct, thread.regs.fr[21]) */
167.101 -+#define TASK_PT_FR22 968 /* offsetof(struct task_struct, thread.regs.fr[22]) */
167.102 -+#define TASK_PT_FR23 976 /* offsetof(struct task_struct, thread.regs.fr[23]) */
167.103 -+#define TASK_PT_FR24 984 /* offsetof(struct task_struct, thread.regs.fr[24]) */
167.104 -+#define TASK_PT_FR25 992 /* offsetof(struct task_struct, thread.regs.fr[25]) */
167.105 -+#define TASK_PT_FR26 1000 /* offsetof(struct task_struct, thread.regs.fr[26]) */
167.106 -+#define TASK_PT_FR27 1008 /* offsetof(struct task_struct, thread.regs.fr[27]) */
167.107 -+#define TASK_PT_FR28 1016 /* offsetof(struct task_struct, thread.regs.fr[28]) */
167.108 -+#define TASK_PT_FR29 1024 /* offsetof(struct task_struct, thread.regs.fr[29]) */
167.109 -+#define TASK_PT_FR30 1032 /* offsetof(struct task_struct, thread.regs.fr[30]) */
167.110 -+#define TASK_PT_FR31 1040 /* offsetof(struct task_struct, thread.regs.fr[31]) */
167.111 -+#define TASK_PT_SR0 1048 /* offsetof(struct task_struct, thread.regs.sr[ 0]) */
167.112 -+#define TASK_PT_SR1 1052 /* offsetof(struct task_struct, thread.regs.sr[ 1]) */
167.113 -+#define TASK_PT_SR2 1056 /* offsetof(struct task_struct, thread.regs.sr[ 2]) */
167.114 -+#define TASK_PT_SR3 1060 /* offsetof(struct task_struct, thread.regs.sr[ 3]) */
167.115 -+#define TASK_PT_SR4 1064 /* offsetof(struct task_struct, thread.regs.sr[ 4]) */
167.116 -+#define TASK_PT_SR5 1068 /* offsetof(struct task_struct, thread.regs.sr[ 5]) */
167.117 -+#define TASK_PT_SR6 1072 /* offsetof(struct task_struct, thread.regs.sr[ 6]) */
167.118 -+#define TASK_PT_SR7 1076 /* offsetof(struct task_struct, thread.regs.sr[ 7]) */
167.119 -+#define TASK_PT_IASQ0 1080 /* offsetof(struct task_struct, thread.regs.iasq[0]) */
167.120 -+#define TASK_PT_IASQ1 1084 /* offsetof(struct task_struct, thread.regs.iasq[1]) */
167.121 -+#define TASK_PT_IAOQ0 1088 /* offsetof(struct task_struct, thread.regs.iaoq[0]) */
167.122 -+#define TASK_PT_IAOQ1 1092 /* offsetof(struct task_struct, thread.regs.iaoq[1]) */
167.123 -+#define TASK_PT_CR27 1096 /* offsetof(struct task_struct, thread.regs.cr27) */
167.124 -+#define TASK_PT_ORIG_R28 1104 /* offsetof(struct task_struct, thread.regs.orig_r28) */
167.125 -+#define TASK_PT_KSP 1108 /* offsetof(struct task_struct, thread.regs.ksp) */
167.126 -+#define TASK_PT_KPC 1112 /* offsetof(struct task_struct, thread.regs.kpc) */
167.127 -+#define TASK_PT_SAR 1116 /* offsetof(struct task_struct, thread.regs.sar) */
167.128 -+#define TASK_PT_IIR 1120 /* offsetof(struct task_struct, thread.regs.iir) */
167.129 -+#define TASK_PT_ISR 1124 /* offsetof(struct task_struct, thread.regs.isr) */
167.130 -+#define TASK_PT_IOR 1128 /* offsetof(struct task_struct, thread.regs.ior) */
167.131 -+
167.132 -+#define TASK_SZ 1272 /* sizeof(struct task_struct) */
167.133 -+#define TASK_SZ_ALGN 1344 /* align(sizeof(struct task_struct), 64) */
167.134 -+
167.135 -+#define PT_PSW 0 /* offsetof(struct pt_regs, gr[ 0]) */
167.136 -+#define PT_GR1 4 /* offsetof(struct pt_regs, gr[ 1]) */
167.137 -+#define PT_GR2 8 /* offsetof(struct pt_regs, gr[ 2]) */
167.138 -+#define PT_GR3 12 /* offsetof(struct pt_regs, gr[ 3]) */
167.139 -+#define PT_GR4 16 /* offsetof(struct pt_regs, gr[ 4]) */
167.140 -+#define PT_GR5 20 /* offsetof(struct pt_regs, gr[ 5]) */
167.141 -+#define PT_GR6 24 /* offsetof(struct pt_regs, gr[ 6]) */
167.142 -+#define PT_GR7 28 /* offsetof(struct pt_regs, gr[ 7]) */
167.143 -+#define PT_GR8 32 /* offsetof(struct pt_regs, gr[ 8]) */
167.144 -+#define PT_GR9 36 /* offsetof(struct pt_regs, gr[ 9]) */
167.145 -+#define PT_GR10 40 /* offsetof(struct pt_regs, gr[10]) */
167.146 -+#define PT_GR11 44 /* offsetof(struct pt_regs, gr[11]) */
167.147 -+#define PT_GR12 48 /* offsetof(struct pt_regs, gr[12]) */
167.148 -+#define PT_GR13 52 /* offsetof(struct pt_regs, gr[13]) */
167.149 -+#define PT_GR14 56 /* offsetof(struct pt_regs, gr[14]) */
167.150 -+#define PT_GR15 60 /* offsetof(struct pt_regs, gr[15]) */
167.151 -+#define PT_GR16 64 /* offsetof(struct pt_regs, gr[16]) */
167.152 -+#define PT_GR17 68 /* offsetof(struct pt_regs, gr[17]) */
167.153 -+#define PT_GR18 72 /* offsetof(struct pt_regs, gr[18]) */
167.154 -+#define PT_GR19 76 /* offsetof(struct pt_regs, gr[19]) */
167.155 -+#define PT_GR20 80 /* offsetof(struct pt_regs, gr[20]) */
167.156 -+#define PT_GR21 84 /* offsetof(struct pt_regs, gr[21]) */
167.157 -+#define PT_GR22 88 /* offsetof(struct pt_regs, gr[22]) */
167.158 -+#define PT_GR23 92 /* offsetof(struct pt_regs, gr[23]) */
167.159 -+#define PT_GR24 96 /* offsetof(struct pt_regs, gr[24]) */
167.160 -+#define PT_GR25 100 /* offsetof(struct pt_regs, gr[25]) */
167.161 -+#define PT_GR26 104 /* offsetof(struct pt_regs, gr[26]) */
167.162 -+#define PT_GR27 108 /* offsetof(struct pt_regs, gr[27]) */
167.163 -+#define PT_GR28 112 /* offsetof(struct pt_regs, gr[28]) */
167.164 -+#define PT_GR29 116 /* offsetof(struct pt_regs, gr[29]) */
167.165 -+#define PT_GR30 120 /* offsetof(struct pt_regs, gr[30]) */
167.166 -+#define PT_GR31 124 /* offsetof(struct pt_regs, gr[31]) */
167.167 -+#define PT_FR0 128 /* offsetof(struct pt_regs, fr[ 0]) */
167.168 -+#define PT_FR1 136 /* offsetof(struct pt_regs, fr[ 1]) */
167.169 -+#define PT_FR2 144 /* offsetof(struct pt_regs, fr[ 2]) */
167.170 -+#define PT_FR3 152 /* offsetof(struct pt_regs, fr[ 3]) */
167.171 -+#define PT_FR4 160 /* offsetof(struct pt_regs, fr[ 4]) */
167.172 -+#define PT_FR5 168 /* offsetof(struct pt_regs, fr[ 5]) */
167.173 -+#define PT_FR6 176 /* offsetof(struct pt_regs, fr[ 6]) */
167.174 -+#define PT_FR7 184 /* offsetof(struct pt_regs, fr[ 7]) */
167.175 -+#define PT_FR8 192 /* offsetof(struct pt_regs, fr[ 8]) */
167.176 -+#define PT_FR9 200 /* offsetof(struct pt_regs, fr[ 9]) */
167.177 -+#define PT_FR10 208 /* offsetof(struct pt_regs, fr[10]) */
167.178 -+#define PT_FR11 216 /* offsetof(struct pt_regs, fr[11]) */
167.179 -+#define PT_FR12 224 /* offsetof(struct pt_regs, fr[12]) */
167.180 -+#define PT_FR13 232 /* offsetof(struct pt_regs, fr[13]) */
167.181 -+#define PT_FR14 240 /* offsetof(struct pt_regs, fr[14]) */
167.182 -+#define PT_FR15 248 /* offsetof(struct pt_regs, fr[15]) */
167.183 -+#define PT_FR16 256 /* offsetof(struct pt_regs, fr[16]) */
167.184 -+#define PT_FR17 264 /* offsetof(struct pt_regs, fr[17]) */
167.185 -+#define PT_FR18 272 /* offsetof(struct pt_regs, fr[18]) */
167.186 -+#define PT_FR19 280 /* offsetof(struct pt_regs, fr[19]) */
167.187 -+#define PT_FR20 288 /* offsetof(struct pt_regs, fr[20]) */
167.188 -+#define PT_FR21 296 /* offsetof(struct pt_regs, fr[21]) */
167.189 -+#define PT_FR22 304 /* offsetof(struct pt_regs, fr[22]) */
167.190 -+#define PT_FR23 312 /* offsetof(struct pt_regs, fr[23]) */
167.191 -+#define PT_FR24 320 /* offsetof(struct pt_regs, fr[24]) */
167.192 -+#define PT_FR25 328 /* offsetof(struct pt_regs, fr[25]) */
167.193 -+#define PT_FR26 336 /* offsetof(struct pt_regs, fr[26]) */
167.194 -+#define PT_FR27 344 /* offsetof(struct pt_regs, fr[27]) */
167.195 -+#define PT_FR28 352 /* offsetof(struct pt_regs, fr[28]) */
167.196 -+#define PT_FR29 360 /* offsetof(struct pt_regs, fr[29]) */
167.197 -+#define PT_FR30 368 /* offsetof(struct pt_regs, fr[30]) */
167.198 -+#define PT_FR31 376 /* offsetof(struct pt_regs, fr[31]) */
167.199 -+#define PT_SR0 384 /* offsetof(struct pt_regs, sr[ 0]) */
167.200 -+#define PT_SR1 388 /* offsetof(struct pt_regs, sr[ 1]) */
167.201 -+#define PT_SR2 392 /* offsetof(struct pt_regs, sr[ 2]) */
167.202 -+#define PT_SR3 396 /* offsetof(struct pt_regs, sr[ 3]) */
167.203 -+#define PT_SR4 400 /* offsetof(struct pt_regs, sr[ 4]) */
167.204 -+#define PT_SR5 404 /* offsetof(struct pt_regs, sr[ 5]) */
167.205 -+#define PT_SR6 408 /* offsetof(struct pt_regs, sr[ 6]) */
167.206 -+#define PT_SR7 412 /* offsetof(struct pt_regs, sr[ 7]) */
167.207 -+#define PT_IASQ0 416 /* offsetof(struct pt_regs, iasq[0]) */
167.208 -+#define PT_IASQ1 420 /* offsetof(struct pt_regs, iasq[1]) */
167.209 -+#define PT_IAOQ0 424 /* offsetof(struct pt_regs, iaoq[0]) */
167.210 -+#define PT_IAOQ1 428 /* offsetof(struct pt_regs, iaoq[1]) */
167.211 -+#define PT_CR27 432 /* offsetof(struct pt_regs, cr27) */
167.212 -+#define PT_ORIG_R28 440 /* offsetof(struct pt_regs, orig_r28) */
167.213 -+#define PT_KSP 444 /* offsetof(struct pt_regs, ksp) */
167.214 -+#define PT_KPC 448 /* offsetof(struct pt_regs, kpc) */
167.215 -+#define PT_SAR 452 /* offsetof(struct pt_regs, sar) */
167.216 -+#define PT_IIR 456 /* offsetof(struct pt_regs, iir) */
167.217 -+#define PT_ISR 460 /* offsetof(struct pt_regs, isr) */
167.218 -+#define PT_IOR 464 /* offsetof(struct pt_regs, ior) */
167.219 -+#define PT_SIZE 472 /* sizeof(struct pt_regs) */
167.220 -+#define PT_SZ_ALGN 576 /* align(sizeof(struct pt_regs), 64) */
167.221 -+
167.222 -+#define TI_TASK 0 /* offsetof(struct thread_info, task) */
167.223 -+#define TI_EXEC_DOMAIN 4 /* offsetof(struct thread_info, exec_domain) */
167.224 -+#define TI_FLAGS 8 /* offsetof(struct thread_info, flags) */
167.225 -+#define TI_CPU 16 /* offsetof(struct thread_info, cpu) */
167.226 -+#define TI_SEGMENT 12 /* offsetof(struct thread_info, addr_limit) */
167.227 -+#define TI_PRE_COUNT 20 /* offsetof(struct thread_info, preempt_count) */
167.228 -+#define THREAD_SZ 44 /* sizeof(struct thread_info) */
167.229 -+#define THREAD_SZ_ALGN 128 /* align(sizeof(struct thread_info), 64) */
167.230 -+
167.231 -+#define IRQSTAT_SIRQ_PEND 0 /* offsetof(irq_cpustat_t, __softirq_pending) */
167.232 -+#define IRQSTAT_SZ 64 /* sizeof(irq_cpustat_t) */
167.233 -+
167.234 -+#define ICACHE_BASE 8 /* offsetof(struct pdc_cache_info, ic_base) */
167.235 -+#define ICACHE_STRIDE 12 /* offsetof(struct pdc_cache_info, ic_stride) */
167.236 -+#define ICACHE_COUNT 16 /* offsetof(struct pdc_cache_info, ic_count) */
167.237 -+#define ICACHE_LOOP 20 /* offsetof(struct pdc_cache_info, ic_loop) */
167.238 -+#define DCACHE_BASE 32 /* offsetof(struct pdc_cache_info, dc_base) */
167.239 -+#define DCACHE_STRIDE 36 /* offsetof(struct pdc_cache_info, dc_stride) */
167.240 -+#define DCACHE_COUNT 40 /* offsetof(struct pdc_cache_info, dc_count) */
167.241 -+#define DCACHE_LOOP 44 /* offsetof(struct pdc_cache_info, dc_loop) */
167.242 -+#define ITLB_SID_BASE 56 /* offsetof(struct pdc_cache_info, it_sp_base) */
167.243 -+#define ITLB_SID_STRIDE 60 /* offsetof(struct pdc_cache_info, it_sp_stride) */
167.244 -+#define ITLB_SID_COUNT 64 /* offsetof(struct pdc_cache_info, it_sp_count) */
167.245 -+#define ITLB_OFF_BASE 68 /* offsetof(struct pdc_cache_info, it_off_base) */
167.246 -+#define ITLB_OFF_STRIDE 72 /* offsetof(struct pdc_cache_info, it_off_stride) */
167.247 -+#define ITLB_OFF_COUNT 76 /* offsetof(struct pdc_cache_info, it_off_count) */
167.248 -+#define ITLB_LOOP 80 /* offsetof(struct pdc_cache_info, it_loop) */
167.249 -+#define DTLB_SID_BASE 92 /* offsetof(struct pdc_cache_info, dt_sp_base) */
167.250 -+#define DTLB_SID_STRIDE 96 /* offsetof(struct pdc_cache_info, dt_sp_stride) */
167.251 -+#define DTLB_SID_COUNT 100 /* offsetof(struct pdc_cache_info, dt_sp_count) */
167.252 -+#define DTLB_OFF_BASE 104 /* offsetof(struct pdc_cache_info, dt_off_base) */
167.253 -+#define DTLB_OFF_STRIDE 108 /* offsetof(struct pdc_cache_info, dt_off_stride) */
167.254 -+#define DTLB_OFF_COUNT 112 /* offsetof(struct pdc_cache_info, dt_off_count) */
167.255 -+#define DTLB_LOOP 116 /* offsetof(struct pdc_cache_info, dt_loop) */
167.256 -+
167.257 -+#define PA_BLOCKSTEP_BIT 1 /* 31-PT_BLOCKSTEP_BIT */
167.258 -+#define PA_SINGLESTEP_BIT 0 /* 31-PT_SINGLESTEP_BIT */
167.259 -+
167.260 -+#define ASM_PMD_SHIFT 21 /* PMD_SHIFT */
167.261 -+#define ASM_PGDIR_SHIFT 21 /* PGDIR_SHIFT */
167.262 -+#define ASM_BITS_PER_PGD 11 /* BITS_PER_PGD */
167.263 -+#define ASM_BITS_PER_PMD 0 /* BITS_PER_PMD */
167.264 -+#define ASM_BITS_PER_PTE 9 /* BITS_PER_PTE */
167.265 -+#define ASM_PGD_PMD_OFFSET -8192 /* -(PAGE_SIZE << PGD_ORDER) */
167.266 -+#define ASM_PMD_ENTRY 128 /* ((PAGE_OFFSET & PMD_MASK) >> PMD_SHIFT) */
167.267 -+#define ASM_PGD_ENTRY 128 /* PAGE_OFFSET >> PGDIR_SHIFT */
167.268 -+#define ASM_PGD_ENTRY_SIZE 4 /* PGD_ENTRY_SIZE */
167.269 -+#define ASM_PMD_ENTRY_SIZE 4 /* PMD_ENTRY_SIZE */
167.270 -+#define ASM_PTE_ENTRY_SIZE 8 /* PTE_ENTRY_SIZE */
167.271 -+#define ASM_PT_INITIAL 4 /* PT_INITIAL */
167.272 -+#define ASM_PAGE_SIZE 4096 /* PAGE_SIZE */
167.273 -+
167.274 -+
167.275 -+#endif
168.1 --- a/patches/gdb/6.7.1/120-deleted-children.patch Wed Oct 28 12:03:38 2009 +0100
168.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
168.3 @@ -1,26 +0,0 @@
168.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/50_all_gdb-deleted-children.patch
168.5 --= BEGIN original header =-
168.6 -http://bugs.gentoo.org/210636
168.7 -http://sourceware.org/ml/gdb-patches/2007-11/msg00136.html
168.8 -
168.9 -2007-11-07 Vladimir Prus <vladimir@codesourcery.com>
168.10 -
168.11 - Fix crash when a variable object being deleted
168.12 - has any of its children deleted previously.
168.13 -
168.14 - * varobj.c (delete_variable_1): Don't recurse
168.15 - into deleted children.
168.16 -
168.17 --= END original header =-
168.18 -diff -durN gdb-6.7.1.orig/gdb/varobj.c gdb-6.7.1/gdb/varobj.c
168.19 ---- gdb-6.7.1.orig/gdb/varobj.c 2007-08-31 21:01:17.000000000 +0200
168.20 -+++ gdb-6.7.1/gdb/varobj.c 2008-06-17 23:27:45.000000000 +0200
168.21 -@@ -1295,6 +1295,8 @@
168.22 - for (i = 0; i < VEC_length (varobj_p, var->children); ++i)
168.23 - {
168.24 - varobj_p child = VEC_index (varobj_p, var->children, i);
168.25 -+ if (!child)
168.26 -+ continue;
168.27 - if (!remove_from_parent_p)
168.28 - child->parent = NULL;
168.29 - delete_variable_1 (resultp, delcountp, child, 0, only_children_p);
169.1 --- a/patches/gdb/6.7.1/130-dwarf-stack-overflow.patch Wed Oct 28 12:03:38 2009 +0100
169.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
169.3 @@ -1,52 +0,0 @@
169.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/80_all_gdb-6.5-dwarf-stack-overflow.patch
169.5 --= BEGIN original header =-
169.6 -http://bugs.gentoo.org/144833
169.7 -
169.8 -for gdb/ChangeLog:
169.9 -2006-08-22 Will Drewry <wad@google.com>
169.10 - Tavis Ormandy <taviso@google.com>
169.11 -
169.12 - * dwarf2read.c (decode_locdesc): Enforce location description stack
169.13 - boundaries.
169.14 - * dwarfread.c (locval): Likewise.
169.15 -
169.16 --= END original header =-
169.17 -diff -durN gdb-6.7.1.orig/gdb/dwarf2read.c gdb-6.7.1/gdb/dwarf2read.c
169.18 ---- gdb-6.7.1.orig/gdb/dwarf2read.c 2007-09-05 02:51:48.000000000 +0200
169.19 -+++ gdb-6.7.1/gdb/dwarf2read.c 2008-06-17 23:27:46.000000000 +0200
169.20 -@@ -9061,8 +9061,7 @@
169.21 - callers will only want a very basic result and this can become a
169.22 - complaint.
169.23 -
169.24 -- Note that stack[0] is unused except as a default error return.
169.25 -- Note that stack overflow is not yet handled. */
169.26 -+ Note that stack[0] is unused except as a default error return. */
169.27 -
169.28 - static CORE_ADDR
169.29 - decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
169.30 -@@ -9079,7 +9078,7 @@
169.31 -
169.32 - i = 0;
169.33 - stacki = 0;
169.34 -- stack[stacki] = 0;
169.35 -+ stack[++stacki] = 0;
169.36 -
169.37 - while (i < size)
169.38 - {
169.39 -@@ -9261,6 +9260,16 @@
169.40 - dwarf_stack_op_name (op));
169.41 - return (stack[stacki]);
169.42 - }
169.43 -+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing
169.44 -+ outside of the allocated space. Also enforce minimum > 0.
169.45 -+ -- wad@google.com 14 Aug 2006 */
169.46 -+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1)
169.47 -+ internal_error (__FILE__, __LINE__,
169.48 -+ _("location description stack too deep: %d"),
169.49 -+ stacki);
169.50 -+ if (stacki <= 0)
169.51 -+ internal_error (__FILE__, __LINE__,
169.52 -+ _("location description stack too shallow"));
169.53 - }
169.54 - return (stack[stacki]);
169.55 - }
170.1 --- a/patches/gdb/6.7/100-security-errata-20050610.patch Wed Oct 28 12:03:38 2009 +0100
170.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
170.3 @@ -1,205 +0,0 @@
170.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7/35_all_gdb-6.3-security-errata-20050610.patch
170.5 --= BEGIN original header =-
170.6 -2005-06-09 Jeff Johnston <jjohnstn@redhat.com>
170.7 -
170.8 - * gdb.base/gdbinit.exp: New testcase.
170.9 - * gdb.base/gdbinit.sample: Sample .gdbinit for gdbinit.exp.
170.10 -
170.11 -2005-06-08 Daniel Jacobowitz <dan@codesourcery.com>
170.12 - Jeff Johnston <jjohnstn@redhat.com>
170.13 -
170.14 - * Makefile.in (cli-cmds.o): Update.
170.15 - * configure.in: Add check for getuid.
170.16 - * configure: Regenerated.
170.17 - * config.in: Ditto.
170.18 - * main.c (captured_main): Pass -1 to source_command when loading
170.19 - gdbinit files.
170.20 - * cli/cli-cmds.c: Include "gdb_stat.h" and <fcntl.h>.
170.21 - (source_command): Update documentation. Check permissions if
170.22 - FROM_TTY is -1.
170.23 -
170.24 --= END original header =-
170.25 -diff -durN gdb-6.7.orig/gdb/cli/cli-cmds.c gdb-6.7/gdb/cli/cli-cmds.c
170.26 ---- gdb-6.7.orig/gdb/cli/cli-cmds.c 2007-08-23 20:08:47.000000000 +0200
170.27 -+++ gdb-6.7/gdb/cli/cli-cmds.c 2008-06-17 23:25:23.000000000 +0200
170.28 -@@ -36,6 +36,7 @@
170.29 - #include "objfiles.h"
170.30 - #include "source.h"
170.31 - #include "disasm.h"
170.32 -+#include "gdb_stat.h"
170.33 -
170.34 - #include "ui-out.h"
170.35 -
170.36 -@@ -459,12 +460,31 @@
170.37 -
170.38 - if (fd == -1)
170.39 - {
170.40 -- if (from_tty)
170.41 -+ if (from_tty > 0)
170.42 - perror_with_name (file);
170.43 - else
170.44 - return;
170.45 - }
170.46 -
170.47 -+#ifdef HAVE_GETUID
170.48 -+ if (from_tty == -1)
170.49 -+ {
170.50 -+ struct stat statbuf;
170.51 -+ if (fstat (fd, &statbuf) < 0)
170.52 -+ {
170.53 -+ perror_with_name (file);
170.54 -+ close (fd);
170.55 -+ return;
170.56 -+ }
170.57 -+ if (statbuf.st_uid != getuid () || (statbuf.st_mode & S_IWOTH))
170.58 -+ {
170.59 -+ warning (_("not using untrusted file \"%s\""), file);
170.60 -+ close (fd);
170.61 -+ return;
170.62 -+ }
170.63 -+ }
170.64 -+#endif
170.65 -+
170.66 - stream = fdopen (fd, FOPEN_RT);
170.67 - script_from_file (stream, file);
170.68 -
170.69 -diff -durN gdb-6.7.orig/gdb/main.c gdb-6.7/gdb/main.c
170.70 ---- gdb-6.7.orig/gdb/main.c 2007-08-23 20:08:36.000000000 +0200
170.71 -+++ gdb-6.7/gdb/main.c 2008-06-17 23:25:23.000000000 +0200
170.72 -@@ -688,7 +688,7 @@
170.73 -
170.74 - if (!inhibit_gdbinit)
170.75 - {
170.76 -- catch_command_errors (source_script, homeinit, 0, RETURN_MASK_ALL);
170.77 -+ catch_command_errors (source_script, homeinit, -1, RETURN_MASK_ALL);
170.78 - }
170.79 -
170.80 - /* Do stats; no need to do them elsewhere since we'll only
170.81 -@@ -766,7 +766,7 @@
170.82 - || memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat)))
170.83 - if (!inhibit_gdbinit)
170.84 - {
170.85 -- catch_command_errors (source_script, gdbinit, 0, RETURN_MASK_ALL);
170.86 -+ catch_command_errors (source_script, gdbinit, -1, RETURN_MASK_ALL);
170.87 - }
170.88 -
170.89 - for (i = 0; i < ncmd; i++)
170.90 -diff -durN gdb-6.7.orig/gdb/Makefile.in gdb-6.7/gdb/Makefile.in
170.91 ---- gdb-6.7.orig/gdb/Makefile.in 2007-09-05 02:14:02.000000000 +0200
170.92 -+++ gdb-6.7/gdb/Makefile.in 2008-06-17 23:25:23.000000000 +0200
170.93 -@@ -2882,7 +2882,7 @@
170.94 - $(expression_h) $(frame_h) $(value_h) $(language_h) $(filenames_h) \
170.95 - $(objfiles_h) $(source_h) $(disasm_h) $(ui_out_h) $(top_h) \
170.96 - $(cli_decode_h) $(cli_script_h) $(cli_setshow_h) $(cli_cmds_h) \
170.97 -- $(tui_h)
170.98 -+ $(tui_h) $(gdb_stat_h)
170.99 - $(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/cli/cli-cmds.c
170.100 - cli-decode.o: $(srcdir)/cli/cli-decode.c $(defs_h) $(symtab_h) \
170.101 - $(gdb_regex_h) $(gdb_string_h) $(completer_h) $(ui_out_h) \
170.102 -diff -durN gdb-6.7.orig/gdb/testsuite/gdb.base/gdbinit.exp gdb-6.7/gdb/testsuite/gdb.base/gdbinit.exp
170.103 ---- gdb-6.7.orig/gdb/testsuite/gdb.base/gdbinit.exp 1970-01-01 01:00:00.000000000 +0100
170.104 -+++ gdb-6.7/gdb/testsuite/gdb.base/gdbinit.exp 2008-06-17 23:25:23.000000000 +0200
170.105 -@@ -0,0 +1,98 @@
170.106 -+# Copyright 2005
170.107 -+# Free Software Foundation, Inc.
170.108 -+
170.109 -+# This program is free software; you can redistribute it and/or modify
170.110 -+# it under the terms of the GNU General Public License as published by
170.111 -+# the Free Software Foundation; either version 2 of the License, or
170.112 -+# (at your option) any later version.
170.113 -+#
170.114 -+# This program is distributed in the hope that it will be useful,
170.115 -+# but WITHOUT ANY WARRANTY; without even the implied warranty of
170.116 -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
170.117 -+# GNU General Public License for more details.
170.118 -+#
170.119 -+# You should have received a copy of the GNU General Public License
170.120 -+# along with this program; if not, write to the Free Software
170.121 -+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
170.122 -+
170.123 -+# Please email any bugs, comments, and/or additions to this file to:
170.124 -+# bug-gdb@prep.ai.mit.edu
170.125 -+
170.126 -+# This file was written by Jeff Johnston <jjohnstn@redhat.com>.
170.127 -+
170.128 -+if $tracelevel then {
170.129 -+ strace $tracelevel
170.130 -+}
170.131 -+
170.132 -+set prms_id 0
170.133 -+set bug_id 0
170.134 -+
170.135 -+# are we on a target board
170.136 -+if [is_remote target] {
170.137 -+ return
170.138 -+}
170.139 -+
170.140 -+
170.141 -+global verbose
170.142 -+global GDB
170.143 -+global GDBFLAGS
170.144 -+global gdb_prompt
170.145 -+global timeout
170.146 -+global gdb_spawn_id;
170.147 -+
170.148 -+gdb_stop_suppressing_tests;
170.149 -+
170.150 -+verbose "Spawning $GDB -nw"
170.151 -+
170.152 -+if [info exists gdb_spawn_id] {
170.153 -+ return 0;
170.154 -+}
170.155 -+
170.156 -+if ![is_remote host] {
170.157 -+ if { [which $GDB] == 0 } then {
170.158 -+ perror "$GDB does not exist."
170.159 -+ exit 1
170.160 -+ }
170.161 -+}
170.162 -+
170.163 -+set env(HOME) [pwd]
170.164 -+remote_exec build "rm .gdbinit"
170.165 -+remote_exec build "cp ${srcdir}/${subdir}/gdbinit.sample .gdbinit"
170.166 -+remote_exec build "chmod 646 .gdbinit"
170.167 -+
170.168 -+set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"];
170.169 -+if { $res < 0 || $res == "" } {
170.170 -+ perror "Spawning $GDB failed."
170.171 -+ return 1;
170.172 -+}
170.173 -+gdb_expect 360 {
170.174 -+ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" {
170.175 -+ pass "untrusted .gdbinit caught."
170.176 -+ }
170.177 -+ -re "$gdb_prompt $" {
170.178 -+ fail "untrusted .gdbinit caught."
170.179 -+ }
170.180 -+ timeout {
170.181 -+ fail "(timeout) untrusted .gdbinit caught."
170.182 -+ }
170.183 -+}
170.184 -+
170.185 -+remote_exec build "chmod 644 .gdbinit"
170.186 -+set res [remote_spawn host "$GDB -nw [host_info gdb_opts]"];
170.187 -+if { $res < 0 || $res == "" } {
170.188 -+ perror "Spawning $GDB failed."
170.189 -+ return 1;
170.190 -+}
170.191 -+gdb_expect 360 {
170.192 -+ -re "warning: not using untrusted file.*\.gdbinit.*\[\r\n\]$gdb_prompt $" {
170.193 -+ fail "trusted .gdbinit allowed."
170.194 -+ }
170.195 -+ -re "in gdbinit.*$gdb_prompt $" {
170.196 -+ pass "trusted .gdbinit allowed."
170.197 -+ }
170.198 -+ timeout {
170.199 -+ fail "(timeout) trusted .gdbinit allowed."
170.200 -+ }
170.201 -+}
170.202 -+
170.203 -+remote_exec build "rm .gdbinit"
170.204 -diff -durN gdb-6.7.orig/gdb/testsuite/gdb.base/gdbinit.sample gdb-6.7/gdb/testsuite/gdb.base/gdbinit.sample
170.205 ---- gdb-6.7.orig/gdb/testsuite/gdb.base/gdbinit.sample 1970-01-01 01:00:00.000000000 +0100
170.206 -+++ gdb-6.7/gdb/testsuite/gdb.base/gdbinit.sample 2008-06-17 23:25:23.000000000 +0200
170.207 -@@ -0,0 +1 @@
170.208 -+echo "\nin gdbinit"
171.1 --- a/patches/gdb/6.7/110-hppa-offsets.patch Wed Oct 28 12:03:38 2009 +0100
171.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
171.3 @@ -1,272 +0,0 @@
171.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7/45_all_gdb-hppa-offsets.patch
171.5 --= BEGIN original header =-
171.6 -sanitized headers dont include asm/offsets.h, so cache a local copy
171.7 -
171.8 -http://bugs.gentoo.org/180476
171.9 -http://lists.parisc-linux.org/pipermail/parisc-linux/2007-February/031162.html
171.10 -
171.11 --= END original header =-
171.12 -diff -durN gdb-6.7.orig/gdb/hppa-linux-nat.c gdb-6.7/gdb/hppa-linux-nat.c
171.13 ---- gdb-6.7.orig/gdb/hppa-linux-nat.c 2007-08-23 20:08:33.000000000 +0200
171.14 -+++ gdb-6.7/gdb/hppa-linux-nat.c 2008-06-17 23:25:28.000000000 +0200
171.15 -@@ -32,7 +32,7 @@
171.16 - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,43)
171.17 - #include <asm/offset.h>
171.18 - #else
171.19 --#include <asm/offsets.h>
171.20 -+#include <hppa-offsets.h>
171.21 - #endif
171.22 -
171.23 - #include "hppa-tdep.h"
171.24 -diff -durN gdb-6.7.orig/gdb/hppa-offsets.h gdb-6.7/gdb/hppa-offsets.h
171.25 ---- gdb-6.7.orig/gdb/hppa-offsets.h 1970-01-01 01:00:00.000000000 +0100
171.26 -+++ gdb-6.7/gdb/hppa-offsets.h 2008-06-17 23:25:28.000000000 +0200
171.27 -@@ -0,0 +1,248 @@
171.28 -+#ifndef __ASM_OFFSETS_H__
171.29 -+#define __ASM_OFFSETS_H__
171.30 -+/*
171.31 -+ * DO NOT MODIFY.
171.32 -+ *
171.33 -+ * This file was generated by arch/parisc/Makefile
171.34 -+ *
171.35 -+ */
171.36 -+
171.37 -+#define TASK_THREAD_INFO 4 /* offsetof(struct task_struct, thread_info) */
171.38 -+#define TASK_STATE 0 /* offsetof(struct task_struct, state) */
171.39 -+#define TASK_FLAGS 12 /* offsetof(struct task_struct, flags) */
171.40 -+#define TASK_SIGPENDING 1188 /* offsetof(struct task_struct, pending) */
171.41 -+#define TASK_PTRACE 16 /* offsetof(struct task_struct, ptrace) */
171.42 -+#define TASK_MM 108 /* offsetof(struct task_struct, mm) */
171.43 -+#define TASK_PERSONALITY 132 /* offsetof(struct task_struct, personality) */
171.44 -+#define TASK_PID 140 /* offsetof(struct task_struct, pid) */
171.45 -+
171.46 -+#define TASK_REGS 664 /* offsetof(struct task_struct, thread.regs) */
171.47 -+#define TASK_PT_PSW 664 /* offsetof(struct task_struct, thread.regs.gr[ 0]) */
171.48 -+#define TASK_PT_GR1 668 /* offsetof(struct task_struct, thread.regs.gr[ 1]) */
171.49 -+#define TASK_PT_GR2 672 /* offsetof(struct task_struct, thread.regs.gr[ 2]) */
171.50 -+#define TASK_PT_GR3 676 /* offsetof(struct task_struct, thread.regs.gr[ 3]) */
171.51 -+#define TASK_PT_GR4 680 /* offsetof(struct task_struct, thread.regs.gr[ 4]) */
171.52 -+#define TASK_PT_GR5 684 /* offsetof(struct task_struct, thread.regs.gr[ 5]) */
171.53 -+#define TASK_PT_GR6 688 /* offsetof(struct task_struct, thread.regs.gr[ 6]) */
171.54 -+#define TASK_PT_GR7 692 /* offsetof(struct task_struct, thread.regs.gr[ 7]) */
171.55 -+#define TASK_PT_GR8 696 /* offsetof(struct task_struct, thread.regs.gr[ 8]) */
171.56 -+#define TASK_PT_GR9 700 /* offsetof(struct task_struct, thread.regs.gr[ 9]) */
171.57 -+#define TASK_PT_GR10 704 /* offsetof(struct task_struct, thread.regs.gr[10]) */
171.58 -+#define TASK_PT_GR11 708 /* offsetof(struct task_struct, thread.regs.gr[11]) */
171.59 -+#define TASK_PT_GR12 712 /* offsetof(struct task_struct, thread.regs.gr[12]) */
171.60 -+#define TASK_PT_GR13 716 /* offsetof(struct task_struct, thread.regs.gr[13]) */
171.61 -+#define TASK_PT_GR14 720 /* offsetof(struct task_struct, thread.regs.gr[14]) */
171.62 -+#define TASK_PT_GR15 724 /* offsetof(struct task_struct, thread.regs.gr[15]) */
171.63 -+#define TASK_PT_GR16 728 /* offsetof(struct task_struct, thread.regs.gr[16]) */
171.64 -+#define TASK_PT_GR17 732 /* offsetof(struct task_struct, thread.regs.gr[17]) */
171.65 -+#define TASK_PT_GR18 736 /* offsetof(struct task_struct, thread.regs.gr[18]) */
171.66 -+#define TASK_PT_GR19 740 /* offsetof(struct task_struct, thread.regs.gr[19]) */
171.67 -+#define TASK_PT_GR20 744 /* offsetof(struct task_struct, thread.regs.gr[20]) */
171.68 -+#define TASK_PT_GR21 748 /* offsetof(struct task_struct, thread.regs.gr[21]) */
171.69 -+#define TASK_PT_GR22 752 /* offsetof(struct task_struct, thread.regs.gr[22]) */
171.70 -+#define TASK_PT_GR23 756 /* offsetof(struct task_struct, thread.regs.gr[23]) */
171.71 -+#define TASK_PT_GR24 760 /* offsetof(struct task_struct, thread.regs.gr[24]) */
171.72 -+#define TASK_PT_GR25 764 /* offsetof(struct task_struct, thread.regs.gr[25]) */
171.73 -+#define TASK_PT_GR26 768 /* offsetof(struct task_struct, thread.regs.gr[26]) */
171.74 -+#define TASK_PT_GR27 772 /* offsetof(struct task_struct, thread.regs.gr[27]) */
171.75 -+#define TASK_PT_GR28 776 /* offsetof(struct task_struct, thread.regs.gr[28]) */
171.76 -+#define TASK_PT_GR29 780 /* offsetof(struct task_struct, thread.regs.gr[29]) */
171.77 -+#define TASK_PT_GR30 784 /* offsetof(struct task_struct, thread.regs.gr[30]) */
171.78 -+#define TASK_PT_GR31 788 /* offsetof(struct task_struct, thread.regs.gr[31]) */
171.79 -+#define TASK_PT_FR0 792 /* offsetof(struct task_struct, thread.regs.fr[ 0]) */
171.80 -+#define TASK_PT_FR1 800 /* offsetof(struct task_struct, thread.regs.fr[ 1]) */
171.81 -+#define TASK_PT_FR2 808 /* offsetof(struct task_struct, thread.regs.fr[ 2]) */
171.82 -+#define TASK_PT_FR3 816 /* offsetof(struct task_struct, thread.regs.fr[ 3]) */
171.83 -+#define TASK_PT_FR4 824 /* offsetof(struct task_struct, thread.regs.fr[ 4]) */
171.84 -+#define TASK_PT_FR5 832 /* offsetof(struct task_struct, thread.regs.fr[ 5]) */
171.85 -+#define TASK_PT_FR6 840 /* offsetof(struct task_struct, thread.regs.fr[ 6]) */
171.86 -+#define TASK_PT_FR7 848 /* offsetof(struct task_struct, thread.regs.fr[ 7]) */
171.87 -+#define TASK_PT_FR8 856 /* offsetof(struct task_struct, thread.regs.fr[ 8]) */
171.88 -+#define TASK_PT_FR9 864 /* offsetof(struct task_struct, thread.regs.fr[ 9]) */
171.89 -+#define TASK_PT_FR10 872 /* offsetof(struct task_struct, thread.regs.fr[10]) */
171.90 -+#define TASK_PT_FR11 880 /* offsetof(struct task_struct, thread.regs.fr[11]) */
171.91 -+#define TASK_PT_FR12 888 /* offsetof(struct task_struct, thread.regs.fr[12]) */
171.92 -+#define TASK_PT_FR13 896 /* offsetof(struct task_struct, thread.regs.fr[13]) */
171.93 -+#define TASK_PT_FR14 904 /* offsetof(struct task_struct, thread.regs.fr[14]) */
171.94 -+#define TASK_PT_FR15 912 /* offsetof(struct task_struct, thread.regs.fr[15]) */
171.95 -+#define TASK_PT_FR16 920 /* offsetof(struct task_struct, thread.regs.fr[16]) */
171.96 -+#define TASK_PT_FR17 928 /* offsetof(struct task_struct, thread.regs.fr[17]) */
171.97 -+#define TASK_PT_FR18 936 /* offsetof(struct task_struct, thread.regs.fr[18]) */
171.98 -+#define TASK_PT_FR19 944 /* offsetof(struct task_struct, thread.regs.fr[19]) */
171.99 -+#define TASK_PT_FR20 952 /* offsetof(struct task_struct, thread.regs.fr[20]) */
171.100 -+#define TASK_PT_FR21 960 /* offsetof(struct task_struct, thread.regs.fr[21]) */
171.101 -+#define TASK_PT_FR22 968 /* offsetof(struct task_struct, thread.regs.fr[22]) */
171.102 -+#define TASK_PT_FR23 976 /* offsetof(struct task_struct, thread.regs.fr[23]) */
171.103 -+#define TASK_PT_FR24 984 /* offsetof(struct task_struct, thread.regs.fr[24]) */
171.104 -+#define TASK_PT_FR25 992 /* offsetof(struct task_struct, thread.regs.fr[25]) */
171.105 -+#define TASK_PT_FR26 1000 /* offsetof(struct task_struct, thread.regs.fr[26]) */
171.106 -+#define TASK_PT_FR27 1008 /* offsetof(struct task_struct, thread.regs.fr[27]) */
171.107 -+#define TASK_PT_FR28 1016 /* offsetof(struct task_struct, thread.regs.fr[28]) */
171.108 -+#define TASK_PT_FR29 1024 /* offsetof(struct task_struct, thread.regs.fr[29]) */
171.109 -+#define TASK_PT_FR30 1032 /* offsetof(struct task_struct, thread.regs.fr[30]) */
171.110 -+#define TASK_PT_FR31 1040 /* offsetof(struct task_struct, thread.regs.fr[31]) */
171.111 -+#define TASK_PT_SR0 1048 /* offsetof(struct task_struct, thread.regs.sr[ 0]) */
171.112 -+#define TASK_PT_SR1 1052 /* offsetof(struct task_struct, thread.regs.sr[ 1]) */
171.113 -+#define TASK_PT_SR2 1056 /* offsetof(struct task_struct, thread.regs.sr[ 2]) */
171.114 -+#define TASK_PT_SR3 1060 /* offsetof(struct task_struct, thread.regs.sr[ 3]) */
171.115 -+#define TASK_PT_SR4 1064 /* offsetof(struct task_struct, thread.regs.sr[ 4]) */
171.116 -+#define TASK_PT_SR5 1068 /* offsetof(struct task_struct, thread.regs.sr[ 5]) */
171.117 -+#define TASK_PT_SR6 1072 /* offsetof(struct task_struct, thread.regs.sr[ 6]) */
171.118 -+#define TASK_PT_SR7 1076 /* offsetof(struct task_struct, thread.regs.sr[ 7]) */
171.119 -+#define TASK_PT_IASQ0 1080 /* offsetof(struct task_struct, thread.regs.iasq[0]) */
171.120 -+#define TASK_PT_IASQ1 1084 /* offsetof(struct task_struct, thread.regs.iasq[1]) */
171.121 -+#define TASK_PT_IAOQ0 1088 /* offsetof(struct task_struct, thread.regs.iaoq[0]) */
171.122 -+#define TASK_PT_IAOQ1 1092 /* offsetof(struct task_struct, thread.regs.iaoq[1]) */
171.123 -+#define TASK_PT_CR27 1096 /* offsetof(struct task_struct, thread.regs.cr27) */
171.124 -+#define TASK_PT_ORIG_R28 1104 /* offsetof(struct task_struct, thread.regs.orig_r28) */
171.125 -+#define TASK_PT_KSP 1108 /* offsetof(struct task_struct, thread.regs.ksp) */
171.126 -+#define TASK_PT_KPC 1112 /* offsetof(struct task_struct, thread.regs.kpc) */
171.127 -+#define TASK_PT_SAR 1116 /* offsetof(struct task_struct, thread.regs.sar) */
171.128 -+#define TASK_PT_IIR 1120 /* offsetof(struct task_struct, thread.regs.iir) */
171.129 -+#define TASK_PT_ISR 1124 /* offsetof(struct task_struct, thread.regs.isr) */
171.130 -+#define TASK_PT_IOR 1128 /* offsetof(struct task_struct, thread.regs.ior) */
171.131 -+
171.132 -+#define TASK_SZ 1272 /* sizeof(struct task_struct) */
171.133 -+#define TASK_SZ_ALGN 1344 /* align(sizeof(struct task_struct), 64) */
171.134 -+
171.135 -+#define PT_PSW 0 /* offsetof(struct pt_regs, gr[ 0]) */
171.136 -+#define PT_GR1 4 /* offsetof(struct pt_regs, gr[ 1]) */
171.137 -+#define PT_GR2 8 /* offsetof(struct pt_regs, gr[ 2]) */
171.138 -+#define PT_GR3 12 /* offsetof(struct pt_regs, gr[ 3]) */
171.139 -+#define PT_GR4 16 /* offsetof(struct pt_regs, gr[ 4]) */
171.140 -+#define PT_GR5 20 /* offsetof(struct pt_regs, gr[ 5]) */
171.141 -+#define PT_GR6 24 /* offsetof(struct pt_regs, gr[ 6]) */
171.142 -+#define PT_GR7 28 /* offsetof(struct pt_regs, gr[ 7]) */
171.143 -+#define PT_GR8 32 /* offsetof(struct pt_regs, gr[ 8]) */
171.144 -+#define PT_GR9 36 /* offsetof(struct pt_regs, gr[ 9]) */
171.145 -+#define PT_GR10 40 /* offsetof(struct pt_regs, gr[10]) */
171.146 -+#define PT_GR11 44 /* offsetof(struct pt_regs, gr[11]) */
171.147 -+#define PT_GR12 48 /* offsetof(struct pt_regs, gr[12]) */
171.148 -+#define PT_GR13 52 /* offsetof(struct pt_regs, gr[13]) */
171.149 -+#define PT_GR14 56 /* offsetof(struct pt_regs, gr[14]) */
171.150 -+#define PT_GR15 60 /* offsetof(struct pt_regs, gr[15]) */
171.151 -+#define PT_GR16 64 /* offsetof(struct pt_regs, gr[16]) */
171.152 -+#define PT_GR17 68 /* offsetof(struct pt_regs, gr[17]) */
171.153 -+#define PT_GR18 72 /* offsetof(struct pt_regs, gr[18]) */
171.154 -+#define PT_GR19 76 /* offsetof(struct pt_regs, gr[19]) */
171.155 -+#define PT_GR20 80 /* offsetof(struct pt_regs, gr[20]) */
171.156 -+#define PT_GR21 84 /* offsetof(struct pt_regs, gr[21]) */
171.157 -+#define PT_GR22 88 /* offsetof(struct pt_regs, gr[22]) */
171.158 -+#define PT_GR23 92 /* offsetof(struct pt_regs, gr[23]) */
171.159 -+#define PT_GR24 96 /* offsetof(struct pt_regs, gr[24]) */
171.160 -+#define PT_GR25 100 /* offsetof(struct pt_regs, gr[25]) */
171.161 -+#define PT_GR26 104 /* offsetof(struct pt_regs, gr[26]) */
171.162 -+#define PT_GR27 108 /* offsetof(struct pt_regs, gr[27]) */
171.163 -+#define PT_GR28 112 /* offsetof(struct pt_regs, gr[28]) */
171.164 -+#define PT_GR29 116 /* offsetof(struct pt_regs, gr[29]) */
171.165 -+#define PT_GR30 120 /* offsetof(struct pt_regs, gr[30]) */
171.166 -+#define PT_GR31 124 /* offsetof(struct pt_regs, gr[31]) */
171.167 -+#define PT_FR0 128 /* offsetof(struct pt_regs, fr[ 0]) */
171.168 -+#define PT_FR1 136 /* offsetof(struct pt_regs, fr[ 1]) */
171.169 -+#define PT_FR2 144 /* offsetof(struct pt_regs, fr[ 2]) */
171.170 -+#define PT_FR3 152 /* offsetof(struct pt_regs, fr[ 3]) */
171.171 -+#define PT_FR4 160 /* offsetof(struct pt_regs, fr[ 4]) */
171.172 -+#define PT_FR5 168 /* offsetof(struct pt_regs, fr[ 5]) */
171.173 -+#define PT_FR6 176 /* offsetof(struct pt_regs, fr[ 6]) */
171.174 -+#define PT_FR7 184 /* offsetof(struct pt_regs, fr[ 7]) */
171.175 -+#define PT_FR8 192 /* offsetof(struct pt_regs, fr[ 8]) */
171.176 -+#define PT_FR9 200 /* offsetof(struct pt_regs, fr[ 9]) */
171.177 -+#define PT_FR10 208 /* offsetof(struct pt_regs, fr[10]) */
171.178 -+#define PT_FR11 216 /* offsetof(struct pt_regs, fr[11]) */
171.179 -+#define PT_FR12 224 /* offsetof(struct pt_regs, fr[12]) */
171.180 -+#define PT_FR13 232 /* offsetof(struct pt_regs, fr[13]) */
171.181 -+#define PT_FR14 240 /* offsetof(struct pt_regs, fr[14]) */
171.182 -+#define PT_FR15 248 /* offsetof(struct pt_regs, fr[15]) */
171.183 -+#define PT_FR16 256 /* offsetof(struct pt_regs, fr[16]) */
171.184 -+#define PT_FR17 264 /* offsetof(struct pt_regs, fr[17]) */
171.185 -+#define PT_FR18 272 /* offsetof(struct pt_regs, fr[18]) */
171.186 -+#define PT_FR19 280 /* offsetof(struct pt_regs, fr[19]) */
171.187 -+#define PT_FR20 288 /* offsetof(struct pt_regs, fr[20]) */
171.188 -+#define PT_FR21 296 /* offsetof(struct pt_regs, fr[21]) */
171.189 -+#define PT_FR22 304 /* offsetof(struct pt_regs, fr[22]) */
171.190 -+#define PT_FR23 312 /* offsetof(struct pt_regs, fr[23]) */
171.191 -+#define PT_FR24 320 /* offsetof(struct pt_regs, fr[24]) */
171.192 -+#define PT_FR25 328 /* offsetof(struct pt_regs, fr[25]) */
171.193 -+#define PT_FR26 336 /* offsetof(struct pt_regs, fr[26]) */
171.194 -+#define PT_FR27 344 /* offsetof(struct pt_regs, fr[27]) */
171.195 -+#define PT_FR28 352 /* offsetof(struct pt_regs, fr[28]) */
171.196 -+#define PT_FR29 360 /* offsetof(struct pt_regs, fr[29]) */
171.197 -+#define PT_FR30 368 /* offsetof(struct pt_regs, fr[30]) */
171.198 -+#define PT_FR31 376 /* offsetof(struct pt_regs, fr[31]) */
171.199 -+#define PT_SR0 384 /* offsetof(struct pt_regs, sr[ 0]) */
171.200 -+#define PT_SR1 388 /* offsetof(struct pt_regs, sr[ 1]) */
171.201 -+#define PT_SR2 392 /* offsetof(struct pt_regs, sr[ 2]) */
171.202 -+#define PT_SR3 396 /* offsetof(struct pt_regs, sr[ 3]) */
171.203 -+#define PT_SR4 400 /* offsetof(struct pt_regs, sr[ 4]) */
171.204 -+#define PT_SR5 404 /* offsetof(struct pt_regs, sr[ 5]) */
171.205 -+#define PT_SR6 408 /* offsetof(struct pt_regs, sr[ 6]) */
171.206 -+#define PT_SR7 412 /* offsetof(struct pt_regs, sr[ 7]) */
171.207 -+#define PT_IASQ0 416 /* offsetof(struct pt_regs, iasq[0]) */
171.208 -+#define PT_IASQ1 420 /* offsetof(struct pt_regs, iasq[1]) */
171.209 -+#define PT_IAOQ0 424 /* offsetof(struct pt_regs, iaoq[0]) */
171.210 -+#define PT_IAOQ1 428 /* offsetof(struct pt_regs, iaoq[1]) */
171.211 -+#define PT_CR27 432 /* offsetof(struct pt_regs, cr27) */
171.212 -+#define PT_ORIG_R28 440 /* offsetof(struct pt_regs, orig_r28) */
171.213 -+#define PT_KSP 444 /* offsetof(struct pt_regs, ksp) */
171.214 -+#define PT_KPC 448 /* offsetof(struct pt_regs, kpc) */
171.215 -+#define PT_SAR 452 /* offsetof(struct pt_regs, sar) */
171.216 -+#define PT_IIR 456 /* offsetof(struct pt_regs, iir) */
171.217 -+#define PT_ISR 460 /* offsetof(struct pt_regs, isr) */
171.218 -+#define PT_IOR 464 /* offsetof(struct pt_regs, ior) */
171.219 -+#define PT_SIZE 472 /* sizeof(struct pt_regs) */
171.220 -+#define PT_SZ_ALGN 576 /* align(sizeof(struct pt_regs), 64) */
171.221 -+
171.222 -+#define TI_TASK 0 /* offsetof(struct thread_info, task) */
171.223 -+#define TI_EXEC_DOMAIN 4 /* offsetof(struct thread_info, exec_domain) */
171.224 -+#define TI_FLAGS 8 /* offsetof(struct thread_info, flags) */
171.225 -+#define TI_CPU 16 /* offsetof(struct thread_info, cpu) */
171.226 -+#define TI_SEGMENT 12 /* offsetof(struct thread_info, addr_limit) */
171.227 -+#define TI_PRE_COUNT 20 /* offsetof(struct thread_info, preempt_count) */
171.228 -+#define THREAD_SZ 44 /* sizeof(struct thread_info) */
171.229 -+#define THREAD_SZ_ALGN 128 /* align(sizeof(struct thread_info), 64) */
171.230 -+
171.231 -+#define IRQSTAT_SIRQ_PEND 0 /* offsetof(irq_cpustat_t, __softirq_pending) */
171.232 -+#define IRQSTAT_SZ 64 /* sizeof(irq_cpustat_t) */
171.233 -+
171.234 -+#define ICACHE_BASE 8 /* offsetof(struct pdc_cache_info, ic_base) */
171.235 -+#define ICACHE_STRIDE 12 /* offsetof(struct pdc_cache_info, ic_stride) */
171.236 -+#define ICACHE_COUNT 16 /* offsetof(struct pdc_cache_info, ic_count) */
171.237 -+#define ICACHE_LOOP 20 /* offsetof(struct pdc_cache_info, ic_loop) */
171.238 -+#define DCACHE_BASE 32 /* offsetof(struct pdc_cache_info, dc_base) */
171.239 -+#define DCACHE_STRIDE 36 /* offsetof(struct pdc_cache_info, dc_stride) */
171.240 -+#define DCACHE_COUNT 40 /* offsetof(struct pdc_cache_info, dc_count) */
171.241 -+#define DCACHE_LOOP 44 /* offsetof(struct pdc_cache_info, dc_loop) */
171.242 -+#define ITLB_SID_BASE 56 /* offsetof(struct pdc_cache_info, it_sp_base) */
171.243 -+#define ITLB_SID_STRIDE 60 /* offsetof(struct pdc_cache_info, it_sp_stride) */
171.244 -+#define ITLB_SID_COUNT 64 /* offsetof(struct pdc_cache_info, it_sp_count) */
171.245 -+#define ITLB_OFF_BASE 68 /* offsetof(struct pdc_cache_info, it_off_base) */
171.246 -+#define ITLB_OFF_STRIDE 72 /* offsetof(struct pdc_cache_info, it_off_stride) */
171.247 -+#define ITLB_OFF_COUNT 76 /* offsetof(struct pdc_cache_info, it_off_count) */
171.248 -+#define ITLB_LOOP 80 /* offsetof(struct pdc_cache_info, it_loop) */
171.249 -+#define DTLB_SID_BASE 92 /* offsetof(struct pdc_cache_info, dt_sp_base) */
171.250 -+#define DTLB_SID_STRIDE 96 /* offsetof(struct pdc_cache_info, dt_sp_stride) */
171.251 -+#define DTLB_SID_COUNT 100 /* offsetof(struct pdc_cache_info, dt_sp_count) */
171.252 -+#define DTLB_OFF_BASE 104 /* offsetof(struct pdc_cache_info, dt_off_base) */
171.253 -+#define DTLB_OFF_STRIDE 108 /* offsetof(struct pdc_cache_info, dt_off_stride) */
171.254 -+#define DTLB_OFF_COUNT 112 /* offsetof(struct pdc_cache_info, dt_off_count) */
171.255 -+#define DTLB_LOOP 116 /* offsetof(struct pdc_cache_info, dt_loop) */
171.256 -+
171.257 -+#define PA_BLOCKSTEP_BIT 1 /* 31-PT_BLOCKSTEP_BIT */
171.258 -+#define PA_SINGLESTEP_BIT 0 /* 31-PT_SINGLESTEP_BIT */
171.259 -+
171.260 -+#define ASM_PMD_SHIFT 21 /* PMD_SHIFT */
171.261 -+#define ASM_PGDIR_SHIFT 21 /* PGDIR_SHIFT */
171.262 -+#define ASM_BITS_PER_PGD 11 /* BITS_PER_PGD */
171.263 -+#define ASM_BITS_PER_PMD 0 /* BITS_PER_PMD */
171.264 -+#define ASM_BITS_PER_PTE 9 /* BITS_PER_PTE */
171.265 -+#define ASM_PGD_PMD_OFFSET -8192 /* -(PAGE_SIZE << PGD_ORDER) */
171.266 -+#define ASM_PMD_ENTRY 128 /* ((PAGE_OFFSET & PMD_MASK) >> PMD_SHIFT) */
171.267 -+#define ASM_PGD_ENTRY 128 /* PAGE_OFFSET >> PGDIR_SHIFT */
171.268 -+#define ASM_PGD_ENTRY_SIZE 4 /* PGD_ENTRY_SIZE */
171.269 -+#define ASM_PMD_ENTRY_SIZE 4 /* PMD_ENTRY_SIZE */
171.270 -+#define ASM_PTE_ENTRY_SIZE 8 /* PTE_ENTRY_SIZE */
171.271 -+#define ASM_PT_INITIAL 4 /* PT_INITIAL */
171.272 -+#define ASM_PAGE_SIZE 4096 /* PAGE_SIZE */
171.273 -+
171.274 -+
171.275 -+#endif
172.1 --- a/patches/gdb/6.7/120-dwarf-stack-overflow.patch Wed Oct 28 12:03:38 2009 +0100
172.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
172.3 @@ -1,52 +0,0 @@
172.4 -Original patch from gentoo: gentoo/src/patchsets/gdb/6.7/80_all_gdb-6.5-dwarf-stack-overflow.patch
172.5 --= BEGIN original header =-
172.6 -http://bugs.gentoo.org/144833
172.7 -
172.8 -for gdb/ChangeLog:
172.9 -2006-08-22 Will Drewry <wad@google.com>
172.10 - Tavis Ormandy <taviso@google.com>
172.11 -
172.12 - * dwarf2read.c (decode_locdesc): Enforce location description stack
172.13 - boundaries.
172.14 - * dwarfread.c (locval): Likewise.
172.15 -
172.16 --= END original header =-
172.17 -diff -durN gdb-6.7.orig/gdb/dwarf2read.c gdb-6.7/gdb/dwarf2read.c
172.18 ---- gdb-6.7.orig/gdb/dwarf2read.c 2007-09-05 02:51:48.000000000 +0200
172.19 -+++ gdb-6.7/gdb/dwarf2read.c 2008-06-17 23:25:38.000000000 +0200
172.20 -@@ -9061,8 +9061,7 @@
172.21 - callers will only want a very basic result and this can become a
172.22 - complaint.
172.23 -
172.24 -- Note that stack[0] is unused except as a default error return.
172.25 -- Note that stack overflow is not yet handled. */
172.26 -+ Note that stack[0] is unused except as a default error return. */
172.27 -
172.28 - static CORE_ADDR
172.29 - decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
172.30 -@@ -9079,7 +9078,7 @@
172.31 -
172.32 - i = 0;
172.33 - stacki = 0;
172.34 -- stack[stacki] = 0;
172.35 -+ stack[++stacki] = 0;
172.36 -
172.37 - while (i < size)
172.38 - {
172.39 -@@ -9261,6 +9260,16 @@
172.40 - dwarf_stack_op_name (op));
172.41 - return (stack[stacki]);
172.42 - }
172.43 -+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing
172.44 -+ outside of the allocated space. Also enforce minimum > 0.
172.45 -+ -- wad@google.com 14 Aug 2006 */
172.46 -+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1)
172.47 -+ internal_error (__FILE__, __LINE__,
172.48 -+ _("location description stack too deep: %d"),
172.49 -+ stacki);
172.50 -+ if (stacki <= 0)
172.51 -+ internal_error (__FILE__, __LINE__,
172.52 -+ _("location description stack too shallow"));
172.53 - }
172.54 - return (stack[stacki]);
172.55 - }
173.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
173.2 +++ b/patches/strace/4.5.19/100-autoreconf.patch Thu Oct 29 00:10:06 2009 +0100
173.3 @@ -0,0 +1,77 @@
173.4 +diff -durN strace-4.5.19.orig/configure strace-4.5.19/configure
173.5 +--- strace-4.5.19.orig/configure 2009-10-21 19:41:11.000000000 +0200
173.6 ++++ strace-4.5.19/configure 2009-10-28 18:47:18.000000000 +0100
173.7 +@@ -5773,6 +5773,73 @@
173.8 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
173.9 + /* end confdefs.h. */
173.10 +
173.11 ++echo "$as_me:$LINENO: checking for statfs64 in sys/(statfs|vfs).h" >&5
173.12 ++echo $ECHO_N "checking for statfs64 in sys/(statfs|vfs).h... $ECHO_C" >&6
173.13 ++if test "${ac_cv_type_statfs64+set}" = set; then
173.14 ++ echo $ECHO_N "(cached) $ECHO_C" >&6
173.15 ++else
173.16 ++ cat >conftest.$ac_ext <<_ACEOF
173.17 ++/* confdefs.h. */
173.18 ++_ACEOF
173.19 ++cat confdefs.h >>conftest.$ac_ext
173.20 ++cat >>conftest.$ac_ext <<_ACEOF
173.21 ++/* end confdefs.h. */
173.22 ++#ifdef LINUX
173.23 ++#include <linux/types.h>
173.24 ++#include <sys/statfs.h>
173.25 ++#else
173.26 ++#include <sys/vfs.h>
173.27 ++#endif
173.28 ++int
173.29 ++main ()
173.30 ++{
173.31 ++struct statfs64 st;
173.32 ++ ;
173.33 ++ return 0;
173.34 ++}
173.35 ++_ACEOF
173.36 ++rm -f conftest.$ac_objext
173.37 ++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
173.38 ++ (eval $ac_compile) 2>conftest.er1
173.39 ++ ac_status=$?
173.40 ++ grep -v '^ *+' conftest.er1 >conftest.err
173.41 ++ rm -f conftest.er1
173.42 ++ cat conftest.err >&5
173.43 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
173.44 ++ (exit $ac_status); } &&
173.45 ++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
173.46 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
173.47 ++ (eval $ac_try) 2>&5
173.48 ++ ac_status=$?
173.49 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
173.50 ++ (exit $ac_status); }; } &&
173.51 ++ { ac_try='test -s conftest.$ac_objext'
173.52 ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
173.53 ++ (eval $ac_try) 2>&5
173.54 ++ ac_status=$?
173.55 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
173.56 ++ (exit $ac_status); }; }; then
173.57 ++ ac_cv_type_statfs64=yes
173.58 ++else
173.59 ++ echo "$as_me: failed program was:" >&5
173.60 ++sed 's/^/| /' conftest.$ac_ext >&5
173.61 ++
173.62 ++ac_cv_type_statfs64=no
173.63 ++fi
173.64 ++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
173.65 ++fi
173.66 ++
173.67 ++echo "$as_me:$LINENO: result: $ac_cv_type_statfs64" >&5
173.68 ++echo "${ECHO_T}$ac_cv_type_statfs64" >&6
173.69 ++if test "$ac_cv_type_statfs64" = yes
173.70 ++then
173.71 ++
173.72 ++cat >>confdefs.h <<\_ACEOF
173.73 ++#define HAVE_STATFS64 1
173.74 ++_ACEOF
173.75 ++
173.76 ++fi
173.77 ++
173.78 +
173.79 + int
173.80 + main ()
174.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
174.2 +++ b/patches/strace/4.5.19/110-fix-arm-bad-syscall.patch Thu Oct 29 00:10:06 2009 +0100
174.3 @@ -0,0 +1,19 @@
174.4 +diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
174.5 +--- strace-4.5.19.orig/syscall.c 2009-10-12 21:54:21.000000000 +0200
174.6 ++++ strace-4.5.19/syscall.c 2009-10-28 18:47:18.000000000 +0100
174.7 +@@ -1022,6 +1022,15 @@
174.8 + /*
174.9 + * Note: we only deal with only 32-bit CPUs here.
174.10 + */
174.11 ++
174.12 ++ if (!(tcp->flags & TCB_INSYSCALL) &&
174.13 ++ (tcp->flags & TCB_WAITEXECVE)) {
174.14 ++ /* caught a fake syscall from the execve's exit */
174.15 ++ tcp->flags &= ~TCB_WAITEXECVE;
174.16 ++ return 0;
174.17 ++ }
174.18 ++
174.19 ++
174.20 + if (regs.ARM_cpsr & 0x20) {
174.21 + /*
174.22 + * Get the Thumb-mode system call number
175.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
175.2 +++ b/patches/strace/4.5.19/120-fix-disabled-largefile-syscalls.patch Thu Oct 29 00:10:06 2009 +0100
175.3 @@ -0,0 +1,22 @@
175.4 +diff -durN strace-4.5.19.orig/syscall.c strace-4.5.19/syscall.c
175.5 +--- strace-4.5.19.orig/syscall.c 2009-10-28 18:47:18.000000000 +0100
175.6 ++++ strace-4.5.19/syscall.c 2009-10-28 18:47:18.000000000 +0100
175.7 +@@ -110,6 +110,18 @@
175.8 + #define TP TRACE_PROCESS
175.9 + #define TS TRACE_SIGNAL
175.10 +
175.11 ++#ifndef HAVE_STATFS64
175.12 ++/*
175.13 ++ * Ugly hacks for systems that do not have LFS
175.14 ++ */
175.15 ++
175.16 ++#define sys_truncate64 sys_truncate
175.17 ++#define sys_ftruncate64 sys_ftruncate
175.18 ++#define sys_getdents64 sys_getdents
175.19 ++#define sys_statfs64 sys_statfs
175.20 ++#define sys_fstatfs64 sys_fstatfs
175.21 ++#endif
175.22 ++
175.23 + static const struct sysent sysent0[] = {
175.24 + #include "syscallent.h"
175.25 + };
176.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
176.2 +++ b/patches/strace/4.5.19/130-statfs64-check.patch Thu Oct 29 00:10:06 2009 +0100
176.3 @@ -0,0 +1,53 @@
176.4 +diff -durN strace-4.5.19.orig/acinclude.m4 strace-4.5.19/acinclude.m4
176.5 +--- strace-4.5.19.orig/acinclude.m4 2004-04-14 04:45:53.000000000 +0200
176.6 ++++ strace-4.5.19/acinclude.m4 2009-10-28 18:47:18.000000000 +0100
176.7 +@@ -210,6 +210,26 @@
176.8 + fi
176.9 + ])
176.10 +
176.11 ++dnl ### A macro to determine whether statfs64 is defined.
176.12 ++AC_DEFUN([AC_STATFS64],
176.13 ++[AC_MSG_CHECKING(for statfs64 in sys/(statfs|vfs).h)
176.14 ++AC_CACHE_VAL(ac_cv_type_statfs64,
176.15 ++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef LINUX
176.16 ++#include <linux/types.h>
176.17 ++#include <sys/statfs.h>
176.18 ++#else
176.19 ++#include <sys/vfs.h>
176.20 ++#endif]], [[struct statfs64 st;]])],[ac_cv_type_statfs64=yes],[ac_cv_type_statfs64=no])])
176.21 ++AC_MSG_RESULT($ac_cv_type_statfs64)
176.22 ++if test "$ac_cv_type_statfs64" = yes
176.23 ++then
176.24 ++ AC_DEFINE([HAVE_STATFS64], 1,
176.25 ++[Define if statfs64 is available in sys/statfs.h or sys/vfs.h.])
176.26 ++fi
176.27 ++])
176.28 ++
176.29 ++
176.30 ++
176.31 + dnl ### A macro to determine if off_t is a long long
176.32 + AC_DEFUN([AC_OFF_T_IS_LONG_LONG],
176.33 + [AC_MSG_CHECKING(for long long off_t)
176.34 +diff -durN strace-4.5.19.orig/configure.ac strace-4.5.19/configure.ac
176.35 +--- strace-4.5.19.orig/configure.ac 2009-10-12 21:54:43.000000000 +0200
176.36 ++++ strace-4.5.19/configure.ac 2009-10-28 18:47:18.000000000 +0100
176.37 +@@ -187,6 +187,7 @@
176.38 + struct stat.st_level,
176.39 + struct stat.st_rdev])
176.40 + AC_STAT64
176.41 ++AC_STATFS64
176.42 +
176.43 + AC_TYPE_SIGNAL
176.44 + AC_TYPE_UID_T
176.45 +diff -durN strace-4.5.19.orig/file.c strace-4.5.19/file.c
176.46 +--- strace-4.5.19.orig/file.c 2009-10-21 15:44:04.000000000 +0200
176.47 ++++ strace-4.5.19/file.c 2009-10-28 18:47:18.000000000 +0100
176.48 +@@ -1688,7 +1688,7 @@
176.49 + return 0;
176.50 + }
176.51 +
176.52 +-#ifdef LINUX
176.53 ++#ifdef HAVE_STATFS64
176.54 + static void
176.55 + printstatfs64(struct tcb *tcp, long addr)
176.56 + {
177.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
177.2 +++ b/patches/strace/4.5.19/140-undef-CTL_PROC.patch Thu Oct 29 00:10:06 2009 +0100
177.3 @@ -0,0 +1,13 @@
177.4 +diff -durN strace-4.5.19.orig/system.c strace-4.5.19/system.c
177.5 +--- strace-4.5.19.orig/system.c 2009-06-01 11:59:11.000000000 +0200
177.6 ++++ strace-4.5.19/system.c 2009-10-28 18:47:18.000000000 +0100
177.7 +@@ -1654,7 +1654,9 @@
177.8 + { CTL_KERN, "CTL_KERN" },
177.9 + { CTL_VM, "CTL_VM" },
177.10 + { CTL_NET, "CTL_NET" },
177.11 ++#ifdef CTL_PROC
177.12 + { CTL_PROC, "CTL_PROC" },
177.13 ++#endif
177.14 + { CTL_FS, "CTL_FS" },
177.15 + { CTL_DEBUG, "CTL_DEBUG" },
177.16 + { CTL_DEV, "CTL_DEV" },
178.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
178.2 +++ b/patches/strace/4.5.19/150-undef-syscall.patch Thu Oct 29 00:10:06 2009 +0100
178.3 @@ -0,0 +1,42 @@
178.4 +diff -durN strace-4.5.19.orig/linux/syscallent.h strace-4.5.19/linux/syscallent.h
178.5 +--- strace-4.5.19.orig/linux/syscallent.h 2009-09-01 21:53:29.000000000 +0200
178.6 ++++ strace-4.5.19/linux/syscallent.h 2009-10-28 18:47:18.000000000 +0100
178.7 +@@ -130,7 +130,11 @@
178.8 + { 2, TF, sys_statfs, "statfs" }, /* 99 */
178.9 + { 2, TD, sys_fstatfs, "fstatfs" }, /* 100 */
178.10 + { 3, 0, sys_ioperm, "ioperm" }, /* 101 */
178.11 +- { 2, TD, sys_socketcall, "socketcall", SYS_socketcall }, /* 102 */
178.12 ++ { 2, TD, sys_socketcall, "socketcall"
178.13 ++#ifdef __NR_socketcall
178.14 ++ , SYS_socketcall
178.15 ++#endif
178.16 ++ }, /* 102 */
178.17 + { 3, 0, sys_syslog, "syslog" }, /* 103 */
178.18 + { 3, 0, sys_setitimer, "setitimer" }, /* 104 */
178.19 + { 2, 0, sys_getitimer, "getitimer" }, /* 105 */
178.20 +@@ -145,7 +149,11 @@
178.21 + { 4, TP, sys_wait4, "wait4", SYS_wait4 }, /* 114 */
178.22 + { 1, 0, sys_swapoff, "swapoff" }, /* 115 */
178.23 + { 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
178.24 +- { 6, 0, sys_ipc, "ipc", SYS_ipc }, /* 117 */
178.25 ++ { 6, 0, sys_ipc, "ipc"
178.26 ++#ifdef __NR_ipc
178.27 ++ , SYS_ipc
178.28 ++#endif
178.29 ++ }, /* 117 */
178.30 + { 1, TD, sys_fsync, "fsync" }, /* 118 */
178.31 + { 1, TS, sys_sigreturn, "sigreturn" }, /* 119 */
178.32 + { 5, TP, sys_clone, "clone", SYS_clone }, /* 120 */
178.33 +@@ -282,7 +290,11 @@
178.34 + { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */
178.35 + { 5, 0, sys_fadvise64, "fadvise64" }, /* 250 */
178.36 + { 5, 0, printargs, "SYS_251" }, /* 251 */
178.37 +- { 1, TP, sys_exit, "exit_group", __NR_exit_group }, /* 252 */
178.38 ++ { 1, TP, sys_exit, "exit_group"
178.39 ++#ifdef __NR_exit_group
178.40 ++ , __NR_exit_group
178.41 ++#endif
178.42 ++ }, /* 252 */
178.43 + { 4, 0, printargs, "lookup_dcookie"}, /* 253 */
178.44 + { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */
178.45 + { 4, TD, sys_epoll_ctl, "epoll_ctl" }, /* 255 */
179.1 --- a/patches/uClibc/0.9.28.1/100-string-functions.patch Wed Oct 28 12:03:38 2009 +0100
179.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
179.3 @@ -1,14 +0,0 @@
179.4 -Give preference to target-optimised functions over glibc's ones,
179.5 -which in turn ahave precedence over generic ones.
179.6 -
179.7 ---- uClibc.orig/libc/Makefile 2005-07-20 08:10:44.000000000 +0200
179.8 -+++ uclibc/libc/Makefile 2005-07-28 13:33:40.000000000 +0200
179.9 -@@ -59,7 +59,7 @@
179.10 - $(AR) dN 2 $(LIBNAME) $$objs && \
179.11 - $(AR) dN 2 $(LIBNAME) $$objs
179.12 - @for objfile in obj.signal \
179.13 -- obj.string.generic obj.string.$(TARGET_ARCH) obj.string \
179.14 -+ obj.string obj.string.generic obj.string.$(TARGET_ARCH) \
179.15 - obj.sysdeps.common obj.sysdeps.$(TARGET_ARCH) ; do \
179.16 - if [ -e $$objfile ] ; then \
179.17 - echo $(AR) $(ARFLAGS) $(LIBNAME) $$objfile ; \
180.1 --- a/patches/uClibc/0.9.28.1/110-install_dev.patch Wed Oct 28 12:03:38 2009 +0100
180.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
180.3 @@ -1,22 +0,0 @@
180.4 -We know that the kernel headers are in place. Don't try to install them.
180.5 -
180.6 -diff -dur uClibc-0.9.28.1.orig/Makefile uClibc-0.9.28.1/Makefile
180.7 ---- uClibc-0.9.28.1.orig/Makefile 2007-01-28 06:38:00.000000000 +0100
180.8 -+++ uClibc-0.9.28.1/Makefile 2007-01-28 18:55:46.000000000 +0100
180.9 -@@ -158,12 +158,10 @@
180.10 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
180.11 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
180.12 - -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
180.13 -- if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \
180.14 -- extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
180.15 -- else \
180.16 -- extra_exclude="" ; \
180.17 -- fi ; \
180.18 -- tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
180.19 -+ extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
180.20 -+ tar -chf - include --exclude .svn --exclude CVS \
180.21 -+ --exclude include/linux \
180.22 -+ --exclude include/asm'*' \
180.23 - | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
180.24 - ifneq ($(strip $(UCLIBC_HAS_FLOATS)),y)
180.25 - # Remove floating point related headers since float support is disabled.
181.1 --- a/patches/uClibc/0.9.28.1/120-no_LFS-no_readahead.patch Wed Oct 28 12:03:38 2009 +0100
181.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
181.3 @@ -1,14 +0,0 @@
181.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile
181.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile 2007-01-26 00:54:19.000000000 +0100
181.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile 2007-02-01 08:44:37.000000000 +0100
181.7 -@@ -25,6 +25,10 @@
181.8 - SRCS := $(filter-out sbrk.c,$(SRCS))
181.9 - endif
181.10 -
181.11 -+ifneq ($(strip $(UCLIBC_HAS_LFS)),y)
181.12 -+SRCS := $(filter-out readahead.c,$(SRCS))
181.13 -+endif
181.14 -+
181.15 - ifneq ($(strip $(UCLIBC_HAS_SSP)),y)
181.16 - SRCS := $(filter-out ssp.c,$(SRCS))
181.17 - endif
182.1 --- a/patches/uClibc/0.9.28.1/130-time-locale.patch Wed Oct 28 12:03:38 2009 +0100
182.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
182.3 @@ -1,15 +0,0 @@
182.4 -Index: libc/misc/time/time.c
182.5 -===================================================================
182.6 ---- a/libc/misc/time/time.c (revision 17534)
182.7 -+++ b/libc/misc/time/time.c (revision 17647)
182.8 -@@ -158,7 +158,9 @@
182.9 - #endif
182.10 -
182.11 - #if defined (L_tzset) || defined (L_localtime_r) || defined(L_strftime) || \
182.12 -- defined(L__time_mktime) || defined(L__time_mktime_tzi)
182.13 -+ defined(L__time_mktime) || defined(L__time_mktime_tzi) || \
182.14 -+ ((defined(L_strftime) || defined(L_strftime_l)) && \
182.15 -+ defined(__UCLIBC_HAS_XLOCALE__))
182.16 -
182.17 - void _time_tzset (int);
182.18 -
183.1 --- a/patches/uClibc/0.9.28.1/140-ctype.patch Wed Oct 28 12:03:38 2009 +0100
183.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
183.3 @@ -1,17 +0,0 @@
183.4 -diff -urN uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h
183.5 ---- uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:25 2005
183.6 -+++ uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:39 2005
183.7 -@@ -34,11 +34,11 @@
183.8 -
183.9 - /* glibc uses the equivalent of - typedef __int32_t __ctype_touplow_t; */
183.10 -
183.11 --typedef __uint16_t __ctype_mask_t;
183.12 -+typedef __uint32_t __ctype_mask_t;
183.13 -
183.14 - #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
183.15 -
183.16 --typedef __int16_t __ctype_touplow_t;
183.17 -+typedef __int32_t __ctype_touplow_t;
183.18 - #define __UCLIBC_CTYPE_B_TBL_OFFSET 128
183.19 - #define __UCLIBC_CTYPE_TO_TBL_OFFSET 128
183.20 -
184.1 --- a/patches/uClibc/0.9.28.1/150-custom-ISA.patch Wed Oct 28 12:03:38 2009 +0100
184.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
184.3 @@ -1,31 +0,0 @@
184.4 -diff -dur uClibc-0.9.28.orig/Rules.mak uClibc-0.9.28/Rules.mak
184.5 ---- uClibc-0.9.28.orig/Rules.mak 2005-08-18 00:49:49.000000000 +0200
184.6 -+++ uClibc-0.9.28/Rules.mak 2007-01-30 10:53:34.000000000 +0100
184.7 -@@ -168,6 +168,7 @@
184.8 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_4)+=-mips4 -mtune=mips4
184.9 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32)+=-mips32 -mtune=mips32
184.10 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 -mtune=mips32
184.11 -+ CPU_CFLAGS-$(CONFIG_MIPS_ISA_CUSTOM)+=-march=$(CONFIG_MIPS_CPU_CFLAGS_CUSTOM)
184.12 - endif
184.13 -
184.14 - ifeq ($(strip $(TARGET_ARCH)),sh)
184.15 -diff -dur uClibc-0.9.28.orig/extra/Configs/Config.mips uClibc-0.9.28/extra/Configs/Config.mips
184.16 ---- uClibc-0.9.28.orig/extra/Configs/Config.mips 2005-08-18 00:49:41.000000000 +0200
184.17 -+++ uClibc-0.9.28/extra/Configs/Config.mips 2007-01-30 10:52:12.000000000 +0100
184.18 -@@ -63,4 +63,16 @@
184.19 - config CONFIG_MIPS_ISA_MIPS64
184.20 - bool "MIPS64"
184.21 -
184.22 -+config CONFIG_MIPS_ISA_CUSTOM
184.23 -+ bool "Custom"
184.24 -+
184.25 - endchoice
184.26 -+
184.27 -+config CONFIG_MIPS_CPU_CFLAGS_CUSTOM
184.28 -+ string
184.29 -+ prompt "Custon ISA"
184.30 -+ depends on CONFIG_MIPS_ISA_CUSTOM
184.31 -+ default ""
184.32 -+ help
184.33 -+ Enter your custom ISA here (eg: lx4189!).
184.34 -+
185.1 --- a/patches/uClibc/0.9.28.1/160-mips-asm.h.patch Wed Oct 28 12:03:38 2009 +0100
185.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
185.3 @@ -1,41 +0,0 @@
185.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S
185.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S 2007-02-07 11:18:12.000000000 +0100
185.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S 2007-02-07 10:41:34.000000000 +0100
185.7 -@@ -24,7 +24,7 @@
185.8 - #include <sys/regdef.h>
185.9 - #define _ERRNO_H 1
185.10 - #include <bits/errno.h>
185.11 --#include <asm/asm.h>
185.12 -+#include <sys/asm.h>
185.13 -
185.14 - /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */
185.15 -
185.16 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S
185.17 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:18:12.000000000 +0100
185.18 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:16:52.000000000 +0100
185.19 -@@ -3,9 +3,9 @@
185.20 - /*see uClibc's sh/pipe.c and glibc-2.2.4's mips/pipe.S */
185.21 -
185.22 - #include <features.h>
185.23 --#include <asm/asm.h>
185.24 -+#include <sys/asm.h>
185.25 - #include <asm/unistd.h>
185.26 --#include <asm/regdef.h>
185.27 -+#include <sys/regdef.h>
185.28 -
185.29 - .globl pipe
185.30 - .ent pipe, 0
185.31 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S
185.32 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:18:12.000000000 +0100
185.33 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:17:03.000000000 +0100
185.34 -@@ -17,8 +17,8 @@
185.35 - 02111-1307 USA. */
185.36 -
185.37 - #include <features.h>
185.38 --#include <asm/asm.h>
185.39 --#include <asm/regdef.h>
185.40 -+#include <sys/asm.h>
185.41 -+#include <sys/regdef.h>
185.42 -
185.43 - #ifdef __PIC__
185.44 - .option pic2
186.1 --- a/patches/uClibc/0.9.28.2/100-string-functions.patch Wed Oct 28 12:03:38 2009 +0100
186.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
186.3 @@ -1,14 +0,0 @@
186.4 -Give preference to target-optimised functions over glibc's ones,
186.5 -which in turn ahave precedence over generic ones.
186.6 -
186.7 ---- uClibc.orig/libc/Makefile 2005-07-20 08:10:44.000000000 +0200
186.8 -+++ uclibc/libc/Makefile 2005-07-28 13:33:40.000000000 +0200
186.9 -@@ -59,7 +59,7 @@
186.10 - $(AR) dN 2 $(LIBNAME) $$objs && \
186.11 - $(AR) dN 2 $(LIBNAME) $$objs
186.12 - @for objfile in obj.signal \
186.13 -- obj.string.generic obj.string.$(TARGET_ARCH) obj.string \
186.14 -+ obj.string obj.string.generic obj.string.$(TARGET_ARCH) \
186.15 - obj.sysdeps.common obj.sysdeps.$(TARGET_ARCH) ; do \
186.16 - if [ -e $$objfile ] ; then \
186.17 - echo $(AR) $(ARFLAGS) $(LIBNAME) $$objfile ; \
187.1 --- a/patches/uClibc/0.9.28.2/110-install_dev.patch Wed Oct 28 12:03:38 2009 +0100
187.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
187.3 @@ -1,22 +0,0 @@
187.4 -We know that the kernel headers are in place. Don't try to install them.
187.5 -
187.6 -diff -dur uClibc-0.9.28.1.orig/Makefile uClibc-0.9.28.1/Makefile
187.7 ---- uClibc-0.9.28.1.orig/Makefile 2007-01-28 06:38:00.000000000 +0100
187.8 -+++ uClibc-0.9.28.1/Makefile 2007-01-28 18:55:46.000000000 +0100
187.9 -@@ -158,12 +158,10 @@
187.10 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
187.11 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
187.12 - -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
187.13 -- if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \
187.14 -- extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
187.15 -- else \
187.16 -- extra_exclude="" ; \
187.17 -- fi ; \
187.18 -- tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
187.19 -+ extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
187.20 -+ tar -chf - include --exclude .svn --exclude CVS \
187.21 -+ --exclude include/linux \
187.22 -+ --exclude include/asm'*' \
187.23 - | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
187.24 - echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
187.25 - $(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h
188.1 --- a/patches/uClibc/0.9.28.2/120-no_LFS-no_readahead.patch Wed Oct 28 12:03:38 2009 +0100
188.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
188.3 @@ -1,14 +0,0 @@
188.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile
188.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile 2007-01-26 00:54:19.000000000 +0100
188.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile 2007-02-01 08:44:37.000000000 +0100
188.7 -@@ -25,6 +25,10 @@
188.8 - SRCS := $(filter-out sbrk.c,$(SRCS))
188.9 - endif
188.10 -
188.11 -+ifneq ($(strip $(UCLIBC_HAS_LFS)),y)
188.12 -+SRCS := $(filter-out readahead.c,$(SRCS))
188.13 -+endif
188.14 -+
188.15 - ifneq ($(strip $(UCLIBC_HAS_SSP)),y)
188.16 - SRCS := $(filter-out ssp.c,$(SRCS))
188.17 - endif
189.1 --- a/patches/uClibc/0.9.28.2/130-ctype.patch Wed Oct 28 12:03:38 2009 +0100
189.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
189.3 @@ -1,17 +0,0 @@
189.4 -diff -urN uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h
189.5 ---- uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:25 2005
189.6 -+++ uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:39 2005
189.7 -@@ -34,11 +34,11 @@
189.8 -
189.9 - /* glibc uses the equivalent of - typedef __int32_t __ctype_touplow_t; */
189.10 -
189.11 --typedef __uint16_t __ctype_mask_t;
189.12 -+typedef __uint32_t __ctype_mask_t;
189.13 -
189.14 - #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
189.15 -
189.16 --typedef __int16_t __ctype_touplow_t;
189.17 -+typedef __int32_t __ctype_touplow_t;
189.18 - #define __UCLIBC_CTYPE_B_TBL_OFFSET 128
189.19 - #define __UCLIBC_CTYPE_TO_TBL_OFFSET 128
189.20 -
190.1 --- a/patches/uClibc/0.9.28.2/140-custom-ISA.patch Wed Oct 28 12:03:38 2009 +0100
190.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
190.3 @@ -1,31 +0,0 @@
190.4 -diff -dur uClibc-0.9.28.orig/Rules.mak uClibc-0.9.28/Rules.mak
190.5 ---- uClibc-0.9.28.orig/Rules.mak 2005-08-18 00:49:49.000000000 +0200
190.6 -+++ uClibc-0.9.28/Rules.mak 2007-01-30 10:53:34.000000000 +0100
190.7 -@@ -168,6 +168,7 @@
190.8 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_4)+=-mips4 -mtune=mips4
190.9 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32)+=-mips32 -mtune=mips32
190.10 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 -mtune=mips32
190.11 -+ CPU_CFLAGS-$(CONFIG_MIPS_ISA_CUSTOM)+=-march=$(CONFIG_MIPS_CPU_CFLAGS_CUSTOM)
190.12 - endif
190.13 -
190.14 - ifeq ($(strip $(TARGET_ARCH)),sh)
190.15 -diff -dur uClibc-0.9.28.orig/extra/Configs/Config.mips uClibc-0.9.28/extra/Configs/Config.mips
190.16 ---- uClibc-0.9.28.orig/extra/Configs/Config.mips 2005-08-18 00:49:41.000000000 +0200
190.17 -+++ uClibc-0.9.28/extra/Configs/Config.mips 2007-01-30 10:52:12.000000000 +0100
190.18 -@@ -63,4 +63,16 @@
190.19 - config CONFIG_MIPS_ISA_MIPS64
190.20 - bool "MIPS64"
190.21 -
190.22 -+config CONFIG_MIPS_ISA_CUSTOM
190.23 -+ bool "Custom"
190.24 -+
190.25 - endchoice
190.26 -+
190.27 -+config CONFIG_MIPS_CPU_CFLAGS_CUSTOM
190.28 -+ string
190.29 -+ prompt "Custon ISA"
190.30 -+ depends on CONFIG_MIPS_ISA_CUSTOM
190.31 -+ default ""
190.32 -+ help
190.33 -+ Enter your custom ISA here (eg: lx4189!).
190.34 -+
191.1 --- a/patches/uClibc/0.9.28.2/150-mips-asm.h.patch Wed Oct 28 12:03:38 2009 +0100
191.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
191.3 @@ -1,41 +0,0 @@
191.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S
191.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S 2007-02-07 11:18:12.000000000 +0100
191.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S 2007-02-07 10:41:34.000000000 +0100
191.7 -@@ -24,7 +24,7 @@
191.8 - #include <sys/regdef.h>
191.9 - #define _ERRNO_H 1
191.10 - #include <bits/errno.h>
191.11 --#include <asm/asm.h>
191.12 -+#include <sys/asm.h>
191.13 -
191.14 - /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */
191.15 -
191.16 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S
191.17 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:18:12.000000000 +0100
191.18 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:16:52.000000000 +0100
191.19 -@@ -3,9 +3,9 @@
191.20 - /*see uClibc's sh/pipe.c and glibc-2.2.4's mips/pipe.S */
191.21 -
191.22 - #include <features.h>
191.23 --#include <asm/asm.h>
191.24 -+#include <sys/asm.h>
191.25 - #include <asm/unistd.h>
191.26 --#include <asm/regdef.h>
191.27 -+#include <sys/regdef.h>
191.28 -
191.29 - .globl pipe
191.30 - .ent pipe, 0
191.31 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S
191.32 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:18:12.000000000 +0100
191.33 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:17:03.000000000 +0100
191.34 -@@ -17,8 +17,8 @@
191.35 - 02111-1307 USA. */
191.36 -
191.37 - #include <features.h>
191.38 --#include <asm/asm.h>
191.39 --#include <asm/regdef.h>
191.40 -+#include <sys/asm.h>
191.41 -+#include <sys/regdef.h>
191.42 -
191.43 - #ifdef __PIC__
191.44 - .option pic2
192.1 --- a/patches/uClibc/0.9.28/100-string-functions.patch Wed Oct 28 12:03:38 2009 +0100
192.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
192.3 @@ -1,11 +0,0 @@
192.4 ---- uClibc.orig/libc/Makefile 2005-07-20 08:10:44.000000000 +0200
192.5 -+++ uclibc/libc/Makefile 2005-07-28 13:33:40.000000000 +0200
192.6 -@@ -59,7 +59,7 @@
192.7 - $(AR) dN 2 $(LIBNAME) $$objs && \
192.8 - $(AR) dN 2 $(LIBNAME) $$objs
192.9 - @for objfile in obj.signal \
192.10 -- obj.string.generic obj.string.$(TARGET_ARCH) obj.string \
192.11 -+ obj.string obj.string.generic obj.string.$(TARGET_ARCH) \
192.12 - obj.sysdeps.common obj.sysdeps.$(TARGET_ARCH) ; do \
192.13 - if [ -e $$objfile ] ; then \
192.14 - echo $(AR) $(ARFLAGS) $(LIBNAME) $$objfile ; \
193.1 --- a/patches/uClibc/0.9.28/110-install_dev.patch Wed Oct 28 12:03:38 2009 +0100
193.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
193.3 @@ -1,39 +0,0 @@
193.4 -There are at least three weird glitches in the Makefile:
193.5 - - the test operator is a dual-equal sign (==) when it should be a single one (=);
193.6 - - the exclude options are not accepted as is by GNU tar;
193.7 - - how on earth could KERNEL_SOURCE possibly be equal to DEVEL_PREFIX ???
193.8 -
193.9 -We (Cedric DUVAL and I, Yann E. MORIN) are not quite sure why it is that way.
193.10 -We're not quite sure either on how to solve this.
193.11 -
193.12 -What we need is to built a toolchain; in no way we need to install the linux headers.
193.13 - ==> systematically exclude them from the [s]tar command.
193.14 -
193.15 -This patch is inspired by the svn repository of uClibc as of 20060209.
193.16 -diff -dur /home/ymorin/dev/uClibc-0.9.28/Makefile uClibc-0.9.28/Makefile
193.17 ---- /home/ymorin/dev/uClibc-0.9.28/Makefile 2005-08-18 00:49:49.000000000 +0200
193.18 -+++ uClibc-0.9.28/Makefile 2006-02-09 17:06:58.000000000 +0100
193.19 -@@ -158,12 +158,17 @@
193.20 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
193.21 - $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
193.22 - -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
193.23 -- if [ "$(KERNEL_SOURCE)" == "$(DEVEL_PREFIX)" ] ; then \
193.24 -- extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
193.25 -- else \
193.26 -- extra_exclude="" ; \
193.27 -- fi ; \
193.28 -- tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
193.29 -+# if [ "$(KERNEL_SOURCE)" == "$(DEVEL_PREFIX)" ] ; then \
193.30 -+# extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
193.31 -+# else \
193.32 -+# extra_exclude="" ; \
193.33 -+# fi ; \
193.34 -+# tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
193.35 -+# | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
193.36 -+ printf ".svn\n.cvsignore\nCVS\n" > tar_exclude ; \
193.37 -+ ls -1d include/linux include/asm* >> tar_exclude ; \
193.38 -+ tar -chf - -X tar_exclude include \
193.39 - | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
193.40 -+ rm -f tar_exclude
193.41 - ifneq ($(strip $(UCLIBC_HAS_FLOATS)),y)
193.42 - # Remove floating point related headers since float support is disabled.
194.1 --- a/patches/uClibc/0.9.28/120-no_LFS-no_readahead.patch Wed Oct 28 12:03:38 2009 +0100
194.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
194.3 @@ -1,14 +0,0 @@
194.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile
194.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/common/Makefile 2007-01-26 00:54:19.000000000 +0100
194.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/common/Makefile 2007-02-01 08:44:37.000000000 +0100
194.7 -@@ -25,6 +25,10 @@
194.8 - SRCS := $(filter-out sbrk.c,$(SRCS))
194.9 - endif
194.10 -
194.11 -+ifneq ($(strip $(UCLIBC_HAS_LFS)),y)
194.12 -+SRCS := $(filter-out readahead.c,$(SRCS))
194.13 -+endif
194.14 -+
194.15 - ifneq ($(strip $(UCLIBC_HAS_SSP)),y)
194.16 - SRCS := $(filter-out ssp.c,$(SRCS))
194.17 - endif
195.1 --- a/patches/uClibc/0.9.28/130-ctype.patch Wed Oct 28 12:03:38 2009 +0100
195.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
195.3 @@ -1,17 +0,0 @@
195.4 -diff -urN uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h
195.5 ---- uClibc-dist/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:25 2005
195.6 -+++ uClibc/libc/sysdeps/linux/common/bits/uClibc_touplow.h Fri Jun 3 13:30:39 2005
195.7 -@@ -34,11 +34,11 @@
195.8 -
195.9 - /* glibc uses the equivalent of - typedef __int32_t __ctype_touplow_t; */
195.10 -
195.11 --typedef __uint16_t __ctype_mask_t;
195.12 -+typedef __uint32_t __ctype_mask_t;
195.13 -
195.14 - #ifdef __UCLIBC_HAS_CTYPE_SIGNED__
195.15 -
195.16 --typedef __int16_t __ctype_touplow_t;
195.17 -+typedef __int32_t __ctype_touplow_t;
195.18 - #define __UCLIBC_CTYPE_B_TBL_OFFSET 128
195.19 - #define __UCLIBC_CTYPE_TO_TBL_OFFSET 128
195.20 -
196.1 --- a/patches/uClibc/0.9.28/140-fix_includes.sh.patch Wed Oct 28 12:03:38 2009 +0100
196.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
196.3 @@ -1,316 +0,0 @@
196.4 ---- uClibc-0.9.28/extra/scripts/fix_includes.sh.orig 2006-12-13 05:44:21.000000000 -0700
196.5 -+++ uClibc-0.9.28/extra/scripts/fix_includes.sh 2006-12-13 05:44:35.000000000 -0700
196.6 -@@ -1,183 +1,155 @@
196.7 - #!/bin/sh
196.8 --# Copyright (C) 2003 Erik Andersen <andersen@uclibc.org>
196.9 - #
196.10 --# This program is free software; you can redistribute it and/or
196.11 --# modify it under the terms of the GNU Library General Public
196.12 --# License as published by the Free Software Foundation; either
196.13 --# version 2 of the License, or (at your option) any later
196.14 --# version.
196.15 --#
196.16 --# This program is distributed in the hope that it will be useful,
196.17 --# but WITHOUT ANY WARRANTY; without even the implied warranty of
196.18 --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
196.19 --# GNU Library General Public License for more details.
196.20 --#
196.21 --# You should have received a copy of the GNU Library General
196.22 --# Public License along with this program; if not, write to the
196.23 --# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
196.24 --# Boston, MA 02111-1307 USA
196.25 --
196.26 --usage () {
196.27 -- echo ""
196.28 -- echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
196.29 -- echo ""
196.30 -- echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
196.31 -- echo "checks that it contains well formed kernel headers suitable"
196.32 -- echo "for inclusion as the include/linux/ directory provided by"
196.33 -- echo "uClibc."
196.34 -- echo ""
196.35 -- echo "If the specified kernel headers are present and already"
196.36 -- echo "configured for the architecture specified by TARGET_ARCH,"
196.37 -- echo "they will be used as-is."
196.38 -- echo ""
196.39 -- echo "If the specified kernel headers are missing entirely, this"
196.40 -- echo "script will return an error."
196.41 -- echo ""
196.42 -- echo "If the specified kernel headers are present, but are either"
196.43 -- echo "not yet configured or are configured for an architecture"
196.44 -- echo "different than that specified by TARGET_ARCH, this script"
196.45 -- echo "will attempt to 'fix' the kernel headers and make them"
196.46 -- echo "suitable for use by uClibc. This fixing process may fail."
196.47 -- echo "It is therefore best to always provide kernel headers that"
196.48 -- echo "are already configured for the selected architecture."
196.49 -- echo ""
196.50 -- echo "Most Linux distributions provide 'kernel-headers' packages"
196.51 -- echo "that are suitable for use by uClibc."
196.52 -- echo ""
196.53 -- echo ""
196.54 -- exit 1;
196.55 -+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
196.56 -+#
196.57 -+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
196.58 -+#
196.59 -+
196.60 -+usage() {
196.61 -+ echo ""
196.62 -+ echo "usage: "`basename $0`" -k KERNEL_SOURCE_DIRECTORY -t TARGET_ARCH"
196.63 -+ echo ""
196.64 -+ echo "This utility scans the KERNEL_SOURCE_DIRECTORY directory and"
196.65 -+ echo "checks that it contains well formed kernel headers suitable"
196.66 -+ echo "for inclusion as the include/linux/ directory provided by"
196.67 -+ echo "uClibc."
196.68 -+ echo ""
196.69 -+ echo "If the specified kernel headers are present and already"
196.70 -+ echo "configured for the architecture specified by TARGET_ARCH,"
196.71 -+ echo "they will be used as-is."
196.72 -+ echo ""
196.73 -+ echo "If the specified kernel headers are missing entirely, this"
196.74 -+ echo "script will return an error."
196.75 -+ echo ""
196.76 -+ echo "If the specified kernel headers are present, but are either"
196.77 -+ echo "not yet configured or are configured for an architecture"
196.78 -+ echo "different than that specified by TARGET_ARCH, this script"
196.79 -+ echo "will attempt to 'fix' the kernel headers and make them"
196.80 -+ echo "suitable for use by uClibc. This fixing process may fail."
196.81 -+ echo "It is therefore best to always provide kernel headers that"
196.82 -+ echo "are already configured for the selected architecture."
196.83 -+ echo ""
196.84 -+ echo "Most Linux distributions provide 'kernel-headers' packages"
196.85 -+ echo "that are suitable for use by uClibc."
196.86 -+ echo ""
196.87 -+ echo ""
196.88 -+ exit 1
196.89 - }
196.90 -
196.91 --HAS_MMU="y";
196.92 -+
196.93 -+#
196.94 -+# Parse our arguments
196.95 -+#
196.96 -+HAS_MMU="y"
196.97 - while [ -n "$1" ]; do
196.98 -- case $1 in
196.99 -- -k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
196.100 -- -t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
196.101 -- -n ) shift; HAS_MMU="n"; ;;
196.102 -- -* ) usage; ;;
196.103 -- * ) usage; ;;
196.104 -- esac;
196.105 --done;
196.106 -+ case $1 in
196.107 -+ -k ) shift; if [ -n "$1" ]; then KERNEL_SOURCE=$1; shift; else usage; fi; ;;
196.108 -+ -t ) shift; if [ -n "$1" ]; then TARGET_ARCH=$1; shift; else usage; fi; ;;
196.109 -+ -n ) shift; HAS_MMU="n"; ;;
196.110 -+ -* ) usage; ;;
196.111 -+ * ) usage; ;;
196.112 -+ esac
196.113 -+done
196.114 -
196.115 --if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
196.116 -- echo "";
196.117 -- echo "";
196.118 -- echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!";
196.119 -- echo "Perhaps your kernel source is broken?"
196.120 -- echo "";
196.121 -- echo "";
196.122 -- exit 1;
196.123 --fi;
196.124 -
196.125 --if [ ! -d "$KERNEL_SOURCE" ]; then
196.126 -- echo "";
196.127 -- echo "";
196.128 -- echo "$KERNEL_SOURCE is not a directory";
196.129 -- echo "";
196.130 -- echo "";
196.131 -- exit 1;
196.132 --fi;
196.133 --
196.134 --if [ -f "$KERNEL_SOURCE/Makefile" ] ; then
196.135 --# set current VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
196.136 --eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' $KERNEL_SOURCE/Makefile`
196.137 --else
196.138 --ver=`grep UTS_RELEASE $KERNEL_SOURCE/include/linux/version.h | cut -d '"' -f 2`
196.139 --VERSION=`echo "$ver" | cut -d '.' -f 1`
196.140 --PATCHLEVEL=`echo "$ver" | cut -d '.' -f 2`
196.141 --if echo "$ver" | grep -q '-' ; then
196.142 --SUBLEVEL=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.//" | cut -d '-' -f 1`
196.143 --EXTRAVERSION=`echo "$ver" | sed "s/${VERSION}.${PATCHLEVEL}.${SUBLEVEL}-//"`
196.144 --else
196.145 --SUBLEVEL=`echo "$ver" | cut -d '.' -f 3`
196.146 --#EXTRAVERSION=
196.147 --fi
196.148 -+#
196.149 -+# Perform some sanity checks on our kernel sources
196.150 -+#
196.151 -+if [ ! -f "$KERNEL_SOURCE/Makefile" -a ! -f "$KERNEL_SOURCE/include/linux/version.h" ]; then
196.152 -+ echo ""
196.153 -+ echo ""
196.154 -+ echo "The file $KERNEL_SOURCE/Makefile or $KERNEL_SOURCE/include/linux/version.h is missing!"
196.155 -+ echo "Perhaps your kernel source is broken?"
196.156 -+ echo ""
196.157 -+ echo ""
196.158 -+ exit 1
196.159 - fi
196.160 --if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ]
196.161 --then
196.162 -- echo "Unable to determine version for kernel headers"
196.163 -- echo -e "\tprovided in directory $KERNEL_SOURCE"
196.164 -- exit 1
196.165 -+if [ ! -d "$KERNEL_SOURCE" ]; then
196.166 -+ echo ""
196.167 -+ echo ""
196.168 -+ echo "$KERNEL_SOURCE is not a directory"
196.169 -+ echo ""
196.170 -+ echo ""
196.171 -+ exit 1
196.172 - fi
196.173 -
196.174 --if [ "$MAKE_IS_SILENT" != "y" ]; then
196.175 --echo "Current kernel version is $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION}"
196.176 --echo -e "\n"
196.177 --echo "Using kernel headers from $VERSION.$PATCHLEVEL.$SUBLEVEL${EXTRAVERSION} for architecture '$TARGET_ARCH'"
196.178 --echo -e "\tprovided in directory $KERNEL_SOURCE"
196.179 --echo -e "\n"
196.180 --fi
196.181 -
196.182 -+#
196.183 - # Create a symlink to include/asm
196.184 --
196.185 -+#
196.186 - rm -f include/asm*
196.187 - if [ ! -d "$KERNEL_SOURCE/include/asm" ]; then
196.188 -- echo "";
196.189 -- echo "";
196.190 -- echo "The symlink $KERNEL_SOURCE/include/asm is missing\!";
196.191 -- echo "Perhaps you forgot to configure your kernel source?";
196.192 -- echo "You really should configure your kernel source tree so I";
196.193 -- echo "do not have to try and guess about this sort of thing.";
196.194 -- echo ""
196.195 -- echo "Attempting to guess a usable value....";
196.196 -- echo ""
196.197 -- echo "";
196.198 -- sleep 1;
196.199 --
196.200 -- if [ "$TARGET_ARCH" = "powerpc" ];then
196.201 -- set -x;
196.202 -- ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm;
196.203 -- set +x;
196.204 -- elif [ "$TARGET_ARCH" = "mips" ];then
196.205 -- set -x;
196.206 -- ln -fs $KERNEL_SOURCE/include/asm-mips include/asm;
196.207 -- set +x;
196.208 -- elif [ "$TARGET_ARCH" = "arm" ];then
196.209 -- set -x;
196.210 -- ln -fs $KERNEL_SOURCE/include/asm-arm include/asm;
196.211 -- set +x;
196.212 -- if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ] ; then
196.213 -- if [ ! -L proc ] ; then
196.214 -- (cd include/asm;
196.215 -- ln -fs proc-armv proc;
196.216 -- ln -fs arch-ebsa285 arch);
196.217 -- fi
196.218 -+ echo ""
196.219 -+ echo ""
196.220 -+ echo "The symlink $KERNEL_SOURCE/include/asm is missing\!"
196.221 -+ echo "Perhaps you forgot to configure your kernel source?"
196.222 -+ echo "You really should configure your kernel source tree so I"
196.223 -+ echo "do not have to try and guess about this sort of thing."
196.224 -+ echo ""
196.225 -+ echo "Attempting to guess a usable value...."
196.226 -+ echo ""
196.227 -+ echo ""
196.228 -+ sleep 1
196.229 -+
196.230 -+ if [ "$TARGET_ARCH" = "powerpc" ]; then
196.231 -+ set -x
196.232 -+ ln -fs $KERNEL_SOURCE/include/asm-ppc include/asm
196.233 -+ set +x
196.234 -+ elif [ "$TARGET_ARCH" = "mips" ]; then
196.235 -+ set -x
196.236 -+ ln -fs $KERNEL_SOURCE/include/asm-mips include/asm
196.237 -+ set +x
196.238 -+ elif [ "$TARGET_ARCH" = "arm" ]; then
196.239 -+ set -x
196.240 -+ ln -fs $KERNEL_SOURCE/include/asm-arm include/asm
196.241 -+ set +x
196.242 -+ if [ ! -L $KERNEL_SOURCE/include/asm-arm/proc ]; then
196.243 -+ if [ ! -L proc ]; then
196.244 -+ (
196.245 -+ cd include/asm
196.246 -+ ln -fs proc-armv proc
196.247 -+ ln -fs arch-ebsa285 arch
196.248 -+ )
196.249 -+ fi
196.250 -+ fi
196.251 -+ elif [ "$TARGET_ARCH" = "cris" ]; then
196.252 -+ set -x
196.253 -+ ln -fs $KERNEL_SOURCE/include/asm-cris include/asm
196.254 -+ set +x
196.255 -+ elif [ "$HAS_MMU" != "y" ]; then
196.256 -+ if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ]; then
196.257 -+ set -x
196.258 -+ ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm
196.259 -+ set +x
196.260 -+ else
196.261 -+ set -x
196.262 -+ ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
196.263 -+ set +x
196.264 -+ fi
196.265 -+ else
196.266 -+ set -x
196.267 -+ ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm
196.268 -+ set +x
196.269 - fi;
196.270 -- elif [ "$TARGET_ARCH" = "cris" ]; then
196.271 -- set -x;
196.272 -- ln -fs $KERNEL_SOURCE/include/asm-cris include/asm;
196.273 -- set +x;
196.274 -- elif [ "$HAS_MMU" != "y" ]; then
196.275 -- if [ -d $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu ] ; then
196.276 -- set -x;
196.277 -- ln -fs $KERNEL_SOURCE/include/asm-${TARGET_ARCH}nommu include/asm;
196.278 -- set +x;
196.279 -- else
196.280 -- set -x;
196.281 -- ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
196.282 -- set +x;
196.283 -- fi;
196.284 -- else
196.285 -- set -x;
196.286 -- ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm;
196.287 -- set +x;
196.288 -- fi;
196.289 - else
196.290 --# No guessing required.....
196.291 --ln -fs $KERNEL_SOURCE/include/asm include/asm
196.292 --if [ -e $KERNEL_SOURCE/include/asm-$TARGET_ARCH ] ; then
196.293 --ln -fs $KERNEL_SOURCE/include/asm-$TARGET_ARCH include/asm-$TARGET_ARCH
196.294 -+ # No guessing required.....
196.295 -+ for x in $KERNEL_SOURCE/include/asm* ; do
196.296 -+ ln -fs ${x} include/
196.297 -+ done
196.298 - fi
196.299 --fi;
196.300 -
196.301 -
196.302 -+#
196.303 - # Annoyingly, 2.6.x kernel headers also need an include/asm-generic/ directory
196.304 --if [ $VERSION -eq 2 ] && [ $PATCHLEVEL -ge 6 ] ; then
196.305 -- ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
196.306 --fi;
196.307 -+#
196.308 -+if [ -e $KERNEL_SOURCE/include/asm-generic ]; then
196.309 -+ rm -f include/asm-generic
196.310 -+ ln -fs $KERNEL_SOURCE/include/asm-generic include/asm-generic
196.311 -+fi
196.312 -
196.313 -
196.314 -+#
196.315 - # Create the include/linux symlink.
196.316 -+#
196.317 - rm -f include/linux
196.318 - ln -fs $KERNEL_SOURCE/include/linux include/linux
196.319 --
197.1 --- a/patches/uClibc/0.9.28/150-custom-ISA.patch Wed Oct 28 12:03:38 2009 +0100
197.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
197.3 @@ -1,31 +0,0 @@
197.4 -diff -dur uClibc-0.9.28.orig/Rules.mak uClibc-0.9.28/Rules.mak
197.5 ---- uClibc-0.9.28.orig/Rules.mak 2005-08-18 00:49:49.000000000 +0200
197.6 -+++ uClibc-0.9.28/Rules.mak 2007-01-30 10:53:34.000000000 +0100
197.7 -@@ -168,6 +168,7 @@
197.8 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_4)+=-mips4 -mtune=mips4
197.9 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32)+=-mips32 -mtune=mips32
197.10 - CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 -mtune=mips32
197.11 -+ CPU_CFLAGS-$(CONFIG_MIPS_ISA_CUSTOM)+=-march=$(CONFIG_MIPS_CPU_CFLAGS_CUSTOM)
197.12 - endif
197.13 -
197.14 - ifeq ($(strip $(TARGET_ARCH)),sh)
197.15 -diff -dur uClibc-0.9.28.orig/extra/Configs/Config.mips uClibc-0.9.28/extra/Configs/Config.mips
197.16 ---- uClibc-0.9.28.orig/extra/Configs/Config.mips 2005-08-18 00:49:41.000000000 +0200
197.17 -+++ uClibc-0.9.28/extra/Configs/Config.mips 2007-01-30 10:52:12.000000000 +0100
197.18 -@@ -63,4 +63,16 @@
197.19 - config CONFIG_MIPS_ISA_MIPS64
197.20 - bool "MIPS64"
197.21 -
197.22 -+config CONFIG_MIPS_ISA_CUSTOM
197.23 -+ bool "Custom"
197.24 -+
197.25 - endchoice
197.26 -+
197.27 -+config CONFIG_MIPS_CPU_CFLAGS_CUSTOM
197.28 -+ string
197.29 -+ prompt "Custon ISA"
197.30 -+ depends on CONFIG_MIPS_ISA_CUSTOM
197.31 -+ default ""
197.32 -+ help
197.33 -+ Enter your custom ISA here (eg: lx4189!).
197.34 -+
198.1 --- a/patches/uClibc/0.9.28/160-mips-asm.h.patch Wed Oct 28 12:03:38 2009 +0100
198.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
198.3 @@ -1,41 +0,0 @@
198.4 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S
198.5 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/clone.S 2007-02-07 11:18:12.000000000 +0100
198.6 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/clone.S 2007-02-07 10:41:34.000000000 +0100
198.7 -@@ -24,7 +24,7 @@
198.8 - #include <sys/regdef.h>
198.9 - #define _ERRNO_H 1
198.10 - #include <bits/errno.h>
198.11 --#include <asm/asm.h>
198.12 -+#include <sys/asm.h>
198.13 -
198.14 - /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */
198.15 -
198.16 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S
198.17 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:18:12.000000000 +0100
198.18 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/pipe.S 2007-02-07 11:16:52.000000000 +0100
198.19 -@@ -3,9 +3,9 @@
198.20 - /*see uClibc's sh/pipe.c and glibc-2.2.4's mips/pipe.S */
198.21 -
198.22 - #include <features.h>
198.23 --#include <asm/asm.h>
198.24 -+#include <sys/asm.h>
198.25 - #include <asm/unistd.h>
198.26 --#include <asm/regdef.h>
198.27 -+#include <sys/regdef.h>
198.28 -
198.29 - .globl pipe
198.30 - .ent pipe, 0
198.31 -diff -dur uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S
198.32 ---- uClibc-0.9.28.1.orig/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:18:12.000000000 +0100
198.33 -+++ uClibc-0.9.28.1/libc/sysdeps/linux/mips/syscall.S 2007-02-07 11:17:03.000000000 +0100
198.34 -@@ -17,8 +17,8 @@
198.35 - 02111-1307 USA. */
198.36 -
198.37 - #include <features.h>
198.38 --#include <asm/asm.h>
198.39 --#include <asm/regdef.h>
198.40 -+#include <sys/asm.h>
198.41 -+#include <sys/regdef.h>
198.42 -
198.43 - #ifdef __PIC__
198.44 - .option pic2
199.1 --- a/patches/uClibc/20080801/100-ifaddrs.patch Wed Oct 28 12:03:38 2009 +0100
199.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
199.3 @@ -1,190 +0,0 @@
199.4 -Copyright 2008 Yann E. MORIN.
199.5 -
199.6 -This patch is needed to make gcc-4.3.1 able to build the Java frontend.
199.7 -
199.8 -Index: uClibc/libc/inet/ifaddrs.c
199.9 -===================================================================
199.10 ---- uClibc/libc/inet/ifaddrs.c (revision 23002)
199.11 -+++ uClibc/libc/inet/ifaddrs.c (working copy)
199.12 -@@ -22,7 +22,7 @@
199.13 - #include <alloca.h>
199.14 - #include <assert.h>
199.15 - #include <errno.h>
199.16 --#include "ifaddrs.h"
199.17 -+#include <ifaddrs.h>
199.18 - #include <net/if.h>
199.19 - #include <netinet/in.h>
199.20 - #include <netpacket/packet.h>
199.21 -Index: uClibc/libc/inet/ifaddrs.h
199.22 -===================================================================
199.23 ---- uClibc/libc/inet/ifaddrs.h (revision 23002)
199.24 -+++ uClibc/libc/inet/ifaddrs.h (working copy)
199.25 -@@ -1,76 +0,0 @@
199.26 --/* ifaddrs.h -- declarations for getting network interface addresses
199.27 -- Copyright (C) 2002 Free Software Foundation, Inc.
199.28 -- This file is part of the GNU C Library.
199.29 --
199.30 -- The GNU C Library is free software; you can redistribute it and/or
199.31 -- modify it under the terms of the GNU Lesser General Public
199.32 -- License as published by the Free Software Foundation; either
199.33 -- version 2.1 of the License, or (at your option) any later version.
199.34 --
199.35 -- The GNU C Library is distributed in the hope that it will be useful,
199.36 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
199.37 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
199.38 -- Lesser General Public License for more details.
199.39 --
199.40 -- You should have received a copy of the GNU Lesser General Public
199.41 -- License along with the GNU C Library; if not, write to the Free
199.42 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
199.43 -- 02111-1307 USA. */
199.44 --
199.45 --#ifndef _IFADDRS_H
199.46 --#define _IFADDRS_H 1
199.47 --
199.48 --#include <features.h>
199.49 --#include <sys/socket.h>
199.50 --#include <stdbool.h>
199.51 --#include <stdint.h>
199.52 --
199.53 --__BEGIN_DECLS
199.54 --
199.55 --/* The `getifaddrs' function generates a linked list of these structures.
199.56 -- Each element of the list describes one network interface. */
199.57 --struct ifaddrs
199.58 --{
199.59 -- struct ifaddrs *ifa_next; /* Pointer to the next structure. */
199.60 --
199.61 -- char *ifa_name; /* Name of this network interface. */
199.62 -- unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
199.63 --
199.64 -- struct sockaddr *ifa_addr; /* Network address of this interface. */
199.65 -- struct sockaddr *ifa_netmask; /* Netmask of this interface. */
199.66 -- union
199.67 -- {
199.68 -- /* At most one of the following two is valid. If the IFF_BROADCAST
199.69 -- bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the
199.70 -- IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
199.71 -- It is never the case that both these bits are set at once. */
199.72 -- struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
199.73 -- struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
199.74 -- } ifa_ifu;
199.75 -- /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
199.76 -- So if they are defined already, the existing definitions will be fine. */
199.77 --# ifndef ifa_broadaddr
199.78 --# define ifa_broadaddr ifa_ifu.ifu_broadaddr
199.79 --# endif
199.80 --# ifndef ifa_dstaddr
199.81 --# define ifa_dstaddr ifa_ifu.ifu_dstaddr
199.82 --# endif
199.83 --
199.84 -- void *ifa_data; /* Address-specific data (may be unused). */
199.85 --};
199.86 --
199.87 --
199.88 --/* Create a linked list of `struct ifaddrs' structures, one for each
199.89 -- network interface on the host machine. If successful, store the
199.90 -- list in *IFAP and return 0. On errors, return -1 and set `errno'.
199.91 --
199.92 -- The storage returned in *IFAP is allocated dynamically and can
199.93 -- only be properly freed by passing it to `freeifaddrs'. */
199.94 --extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
199.95 --
199.96 --/* Reclaim the storage allocated by a previous `getifaddrs' call. */
199.97 --extern void freeifaddrs (struct ifaddrs *__ifa) __THROW;
199.98 --
199.99 --__END_DECLS
199.100 --
199.101 --#endif /* ifaddrs.h */
199.102 -Index: uClibc/libc/inet/getaddrinfo.c
199.103 -===================================================================
199.104 ---- uClibc/libc/inet/getaddrinfo.c (revision 23002)
199.105 -+++ uClibc/libc/inet/getaddrinfo.c (working copy)
199.106 -@@ -68,7 +68,7 @@
199.107 - #include <sys/un.h>
199.108 - #include <sys/utsname.h>
199.109 - #include <net/if.h>
199.110 --#include "ifaddrs.h"
199.111 -+#include <ifaddrs.h>
199.112 -
199.113 - /* Experimentally off - libc_hidden_proto(memcpy) */
199.114 - /* Experimentally off - libc_hidden_proto(memset) */
199.115 ---- /dev/null 2008-08-04 09:44:45.624322752 +0200
199.116 -+++ uClibc/include/ifaddrs.h 2008-08-05 09:31:20.000000000 +0200
199.117 -@@ -0,0 +1,76 @@
199.118 -+/* ifaddrs.h -- declarations for getting network interface addresses
199.119 -+ Copyright (C) 2002 Free Software Foundation, Inc.
199.120 -+ This file is part of the GNU C Library.
199.121 -+
199.122 -+ The GNU C Library is free software; you can redistribute it and/or
199.123 -+ modify it under the terms of the GNU Lesser General Public
199.124 -+ License as published by the Free Software Foundation; either
199.125 -+ version 2.1 of the License, or (at your option) any later version.
199.126 -+
199.127 -+ The GNU C Library is distributed in the hope that it will be useful,
199.128 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
199.129 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
199.130 -+ Lesser General Public License for more details.
199.131 -+
199.132 -+ You should have received a copy of the GNU Lesser General Public
199.133 -+ License along with the GNU C Library; if not, write to the Free
199.134 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
199.135 -+ 02111-1307 USA. */
199.136 -+
199.137 -+#ifndef _IFADDRS_H
199.138 -+#define _IFADDRS_H 1
199.139 -+
199.140 -+#include <features.h>
199.141 -+#include <sys/socket.h>
199.142 -+#include <stdbool.h>
199.143 -+#include <stdint.h>
199.144 -+
199.145 -+__BEGIN_DECLS
199.146 -+
199.147 -+/* The `getifaddrs' function generates a linked list of these structures.
199.148 -+ Each element of the list describes one network interface. */
199.149 -+struct ifaddrs
199.150 -+{
199.151 -+ struct ifaddrs *ifa_next; /* Pointer to the next structure. */
199.152 -+
199.153 -+ char *ifa_name; /* Name of this network interface. */
199.154 -+ unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */
199.155 -+
199.156 -+ struct sockaddr *ifa_addr; /* Network address of this interface. */
199.157 -+ struct sockaddr *ifa_netmask; /* Netmask of this interface. */
199.158 -+ union
199.159 -+ {
199.160 -+ /* At most one of the following two is valid. If the IFF_BROADCAST
199.161 -+ bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the
199.162 -+ IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid.
199.163 -+ It is never the case that both these bits are set at once. */
199.164 -+ struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
199.165 -+ struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
199.166 -+ } ifa_ifu;
199.167 -+ /* These very same macros are defined by <net/if.h> for `struct ifaddr'.
199.168 -+ So if they are defined already, the existing definitions will be fine. */
199.169 -+# ifndef ifa_broadaddr
199.170 -+# define ifa_broadaddr ifa_ifu.ifu_broadaddr
199.171 -+# endif
199.172 -+# ifndef ifa_dstaddr
199.173 -+# define ifa_dstaddr ifa_ifu.ifu_dstaddr
199.174 -+# endif
199.175 -+
199.176 -+ void *ifa_data; /* Address-specific data (may be unused). */
199.177 -+};
199.178 -+
199.179 -+
199.180 -+/* Create a linked list of `struct ifaddrs' structures, one for each
199.181 -+ network interface on the host machine. If successful, store the
199.182 -+ list in *IFAP and return 0. On errors, return -1 and set `errno'.
199.183 -+
199.184 -+ The storage returned in *IFAP is allocated dynamically and can
199.185 -+ only be properly freed by passing it to `freeifaddrs'. */
199.186 -+extern int getifaddrs (struct ifaddrs **__ifap) __THROW;
199.187 -+
199.188 -+/* Reclaim the storage allocated by a previous `getifaddrs' call. */
199.189 -+extern void freeifaddrs (struct ifaddrs *__ifa) __THROW;
199.190 -+
199.191 -+__END_DECLS
199.192 -+
199.193 -+#endif /* ifaddrs.h */
200.1 --- a/patches/uClibc/20080801/200-mips-typeof.patch Wed Oct 28 12:03:38 2009 +0100
200.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
200.3 @@ -1,112 +0,0 @@
200.4 -Index: uClibc/libc/sysdeps/linux/mips/bits/atomic.h
200.5 -===================================================================
200.6 ---- uClibc/libc/sysdeps/linux/mips/bits/atomic.h (revision 23002)
200.7 -+++ uClibc/libc/sysdeps/linux/mips/bits/atomic.h (working copy)
200.8 -@@ -110,22 +110,22 @@
200.9 - /* For all "bool" routines, we return FALSE if exchange succesful. */
200.10 -
200.11 - #define __arch_compare_and_exchange_bool_8_int(mem, new, old, rel, acq) \
200.12 --({ typeof (*mem) __prev; int __cmp; \
200.13 -+({ __typeof (*mem) __prev; int __cmp; \
200.14 - __arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \
200.15 - !__cmp; })
200.16 -
200.17 - #define __arch_compare_and_exchange_bool_16_int(mem, new, old, rel, acq) \
200.18 --({ typeof (*mem) __prev; int __cmp; \
200.19 -+({ __typeof (*mem) __prev; int __cmp; \
200.20 - __arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \
200.21 - !__cmp; })
200.22 -
200.23 - #define __arch_compare_and_exchange_bool_32_int(mem, new, old, rel, acq) \
200.24 --({ typeof (*mem) __prev; int __cmp; \
200.25 -+({ __typeof (*mem) __prev; int __cmp; \
200.26 - __arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \
200.27 - !__cmp; })
200.28 -
200.29 - #define __arch_compare_and_exchange_bool_64_int(mem, new, old, rel, acq) \
200.30 --({ typeof (*mem) __prev; int __cmp; \
200.31 -+({ __typeof (*mem) __prev; int __cmp; \
200.32 - __arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \
200.33 - !__cmp; })
200.34 -
200.35 -@@ -133,24 +133,24 @@
200.36 - successful or not. */
200.37 -
200.38 - #define __arch_compare_and_exchange_val_8_int(mem, new, old, rel, acq) \
200.39 --({ typeof (*mem) __prev; int __cmp; \
200.40 -+({ __typeof (*mem) __prev; int __cmp; \
200.41 - __arch_compare_and_exchange_xxx_8_int(mem, new, old, rel, acq); \
200.42 -- (typeof (*mem))__prev; })
200.43 -+ (__typeof (*mem))__prev; })
200.44 -
200.45 - #define __arch_compare_and_exchange_val_16_int(mem, new, old, rel, acq) \
200.46 --({ typeof (*mem) __prev; int __cmp; \
200.47 -+({ __typeof (*mem) __prev; int __cmp; \
200.48 - __arch_compare_and_exchange_xxx_16_int(mem, new, old, rel, acq); \
200.49 -- (typeof (*mem))__prev; })
200.50 -+ (__typeof (*mem))__prev; })
200.51 -
200.52 - #define __arch_compare_and_exchange_val_32_int(mem, new, old, rel, acq) \
200.53 --({ typeof (*mem) __prev; int __cmp; \
200.54 -+({ __typeof (*mem) __prev; int __cmp; \
200.55 - __arch_compare_and_exchange_xxx_32_int(mem, new, old, rel, acq); \
200.56 -- (typeof (*mem))__prev; })
200.57 -+ (__typeof (*mem))__prev; })
200.58 -
200.59 - #define __arch_compare_and_exchange_val_64_int(mem, new, old, rel, acq) \
200.60 --({ typeof (*mem) __prev; int __cmp; \
200.61 -+({ __typeof (*mem) __prev; int __cmp; \
200.62 - __arch_compare_and_exchange_xxx_64_int(mem, new, old, rel, acq); \
200.63 -- (typeof (*mem))__prev; })
200.64 -+ (__typeof (*mem))__prev; })
200.65 -
200.66 - /* Compare and exchange with "acquire" semantics, ie barrier after. */
200.67 -
200.68 -@@ -183,7 +183,7 @@
200.69 - (abort (), 0)
200.70 -
200.71 - #define __arch_exchange_xxx_32_int(mem, newval, rel, acq) \
200.72 --({ typeof (*mem) __prev; int __cmp; \
200.73 -+({ __typeof (*mem) __prev; int __cmp; \
200.74 - __asm__ __volatile__ ("\n" \
200.75 - ".set push\n\t" \
200.76 - MIPS_PUSH_MIPS2 \
200.77 -@@ -207,7 +207,7 @@
200.78 - (abort (), 0)
200.79 - #else
200.80 - #define __arch_exchange_xxx_64_int(mem, newval, rel, acq) \
200.81 --({ typeof (*mem) __prev; int __cmp; \
200.82 -+({ __typeof (*mem) __prev; int __cmp; \
200.83 - __asm__ __volatile__ ("\n" \
200.84 - ".set push\n\t" \
200.85 - MIPS_PUSH_MIPS2 \
200.86 -@@ -236,13 +236,13 @@
200.87 - /* Atomically add value and return the previous (unincremented) value. */
200.88 -
200.89 - #define __arch_exchange_and_add_8_int(mem, newval, rel, acq) \
200.90 -- (abort (), (typeof(*mem)) 0)
200.91 -+ (abort (), (__typeof(*mem)) 0)
200.92 -
200.93 - #define __arch_exchange_and_add_16_int(mem, newval, rel, acq) \
200.94 -- (abort (), (typeof(*mem)) 0)
200.95 -+ (abort (), (__typeof(*mem)) 0)
200.96 -
200.97 - #define __arch_exchange_and_add_32_int(mem, value, rel, acq) \
200.98 --({ typeof (*mem) __prev; int __cmp; \
200.99 -+({ __typeof (*mem) __prev; int __cmp; \
200.100 - __asm__ __volatile__ ("\n" \
200.101 - ".set push\n\t" \
200.102 - MIPS_PUSH_MIPS2 \
200.103 -@@ -263,10 +263,10 @@
200.104 - #if _MIPS_SIM == _ABIO32
200.105 - /* We can't do an atomic 64-bit operation in O32. */
200.106 - #define __arch_exchange_and_add_64_int(mem, value, rel, acq) \
200.107 -- (abort (), (typeof(*mem)) 0)
200.108 -+ (abort (), (__typeof(*mem)) 0)
200.109 - #else
200.110 - #define __arch_exchange_and_add_64_int(mem, value, rel, acq) \
200.111 --({ typeof (*mem) __prev; int __cmp; \
200.112 -+({ __typeof (*mem) __prev; int __cmp; \
200.113 - __asm__ __volatile__ ( \
200.114 - ".set push\n\t" \
200.115 - MIPS_PUSH_MIPS2 \
201.1 --- a/patches/uClibc/20080801/300-fix-asm.patch Wed Oct 28 12:03:38 2009 +0100
201.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
201.3 @@ -1,175 +0,0 @@
201.4 -Index: uClibc/ldso/ldso/sparc/dl-sysdep.h
201.5 -===================================================================
201.6 ---- uClibc/ldso/ldso/sparc/dl-sysdep.h (revision 23055)
201.7 -+++ uClibc/ldso/ldso/sparc/dl-sysdep.h (working copy)
201.8 -@@ -141,7 +141,7 @@
201.9 - static __inline__ Elf32_Addr
201.10 - elf_machine_load_address (void)
201.11 - {
201.12 -- register Elf32_Addr *pc __asm__ ("%o7"), *got __asm ("%l7");
201.13 -+ register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
201.14 -
201.15 - __asm__ ("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t"
201.16 - "call 1f\n\t"
201.17 -Index: uClibc/libc/sysdeps/linux/i386/bits/mathinline.h
201.18 -===================================================================
201.19 ---- uClibc/libc/sysdeps/linux/i386/bits/mathinline.h (revision 23055)
201.20 -+++ uClibc/libc/sysdeps/linux/i386/bits/mathinline.h (working copy)
201.21 -@@ -299,12 +299,12 @@
201.22 - __extension__ long long int __p = (long long int) __x; \
201.23 - if (__x == (long double) __p) \
201.24 - { \
201.25 -- __asm __volatile__ \
201.26 -+ __asm__ __volatile__ \
201.27 - ("fscale" \
201.28 - : "=t" (__value) : "0" (1.0), "u" (__x)); \
201.29 - return __value; \
201.30 - } \
201.31 -- __asm __volatile__ \
201.32 -+ __asm__ __volatile__ \
201.33 - ("fld %%st(0)\n\t" \
201.34 - "frndint # int(x)\n\t" \
201.35 - "fxch\n\t" \
201.36 -@@ -312,7 +312,7 @@
201.37 - "f2xm1 # 2^(fract(x)) - 1\n\t" \
201.38 - : "=t" (__value), "=u" (__exponent) : "0" (__x)); \
201.39 - __value += 1.0; \
201.40 -- __asm __volatile__ \
201.41 -+ __asm__ __volatile__ \
201.42 - ("fscale" \
201.43 - : "=t" (__value) : "0" (__value), "u" (__exponent)); \
201.44 - return __value)
201.45 -@@ -321,7 +321,7 @@
201.46 - # define __sincos_code \
201.47 - register long double __cosr; \
201.48 - register long double __sinr; \
201.49 -- __asm __volatile__ \
201.50 -+ __asm__ __volatile__ \
201.51 - ("fsincos\n\t" \
201.52 - "fnstsw %%ax\n\t" \
201.53 - "testl $0x400, %%eax\n\t" \
201.54 -@@ -373,7 +373,7 @@
201.55 - register long double __value; \
201.56 - register long double __exponent; \
201.57 - register long double __temp; \
201.58 -- __asm __volatile__ \
201.59 -+ __asm__ __volatile__ \
201.60 - ("fldl2e # e^x - 1 = 2^(x * log2(e)) - 1\n\t" \
201.61 - "fmul %%st(1) # x * log2(e)\n\t" \
201.62 - "fst %%st(1)\n\t" \
201.63 -@@ -383,7 +383,7 @@
201.64 - "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" \
201.65 - "fscale # 2^(x * log2(e)) - 2^(int(x * log2(e)))\n\t" \
201.66 - : "=t" (__value), "=u" (__exponent) : "0" (__x)); \
201.67 -- __asm __volatile__ \
201.68 -+ __asm__ __volatile__ \
201.69 - ("fscale # 2^int(x * log2(e))\n\t" \
201.70 - : "=t" (__temp) : "0" (1.0), "u" (__exponent)); \
201.71 - __temp -= 1.0; \
201.72 -@@ -398,7 +398,7 @@
201.73 - # define __exp_code \
201.74 - register long double __value; \
201.75 - register long double __exponent; \
201.76 -- __asm __volatile__ \
201.77 -+ __asm__ __volatile__ \
201.78 - ("fldl2e # e^x = 2^(x * log2(e))\n\t" \
201.79 - "fmul %%st(1) # x * log2(e)\n\t" \
201.80 - "fst %%st(1)\n\t" \
201.81 -@@ -408,7 +408,7 @@
201.82 - "f2xm1 # 2^(fract(x * log2(e))) - 1\n\t" \
201.83 - : "=t" (__value), "=u" (__exponent) : "0" (__x)); \
201.84 - __value += 1.0; \
201.85 -- __asm __volatile__ \
201.86 -+ __asm__ __volatile__ \
201.87 - ("fscale" \
201.88 - : "=t" (__value) : "0" (__value), "u" (__exponent)); \
201.89 - return __value
201.90 -@@ -421,7 +421,7 @@
201.91 - __inline_mathcodeNP (tan, __x, \
201.92 - register long double __value; \
201.93 - register long double __value2 __attribute__ ((__unused__)); \
201.94 -- __asm __volatile__ \
201.95 -+ __asm__ __volatile__ \
201.96 - ("fptan" \
201.97 - : "=t" (__value2), "=u" (__value) : "0" (__x)); \
201.98 - return __value)
201.99 -@@ -435,7 +435,7 @@
201.100 - #else
201.101 - # define __atan2_code \
201.102 - register long double __value; \
201.103 -- __asm __volatile__ \
201.104 -+ __asm__ __volatile__ \
201.105 - ("fpatan" \
201.106 - : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); \
201.107 - return __value
201.108 -@@ -449,7 +449,7 @@
201.109 - #if defined __FAST_MATH__ && !__GNUC_PREREQ (3, 5)
201.110 - __inline_mathcodeNP2 (fmod, __x, __y, \
201.111 - register long double __value; \
201.112 -- __asm __volatile__ \
201.113 -+ __asm__ __volatile__ \
201.114 - ("1: fprem\n\t" \
201.115 - "fnstsw %%ax\n\t" \
201.116 - "sahf\n\t" \
201.117 -@@ -552,7 +552,7 @@
201.118 - #ifdef __FAST_MATH__
201.119 - # define __ldexp_code \
201.120 - register long double __value; \
201.121 -- __asm __volatile__ \
201.122 -+ __asm__ __volatile__ \
201.123 - ("fscale" \
201.124 - : "=t" (__value) : "0" (__x), "u" ((long double) __y)); \
201.125 - return __value
201.126 -@@ -581,7 +581,7 @@
201.127 - if (__fabsl (__x) >= 1.0 - 0.5 * __M_SQRT2) \
201.128 - __value = logl (1.0 + __x); \
201.129 - else \
201.130 -- __asm __volatile__ \
201.131 -+ __asm__ __volatile__ \
201.132 - ("fldln2\n\t" \
201.133 - "fxch\n\t" \
201.134 - "fyl2xp1" \
201.135 -@@ -611,7 +611,7 @@
201.136 - __inline_mathcodeNP(logb, __x, \
201.137 - register long double __value; \
201.138 - register long double __junk; \
201.139 -- __asm __volatile__ \
201.140 -+ __asm__ __volatile__ \
201.141 - ("fxtract\n\t" \
201.142 - : "=t" (__junk), "=u" (__value) : "0" (__x)); \
201.143 - return __value)
201.144 -@@ -699,7 +699,7 @@
201.145 - __inline_mathcodeNP2 (drem, __x, __y, \
201.146 - register double __value; \
201.147 - register int __clobbered; \
201.148 -- __asm __volatile__ \
201.149 -+ __asm__ __volatile__ \
201.150 - ("1: fprem1\n\t" \
201.151 - "fstsw %%ax\n\t" \
201.152 - "sahf\n\t" \
201.153 -Index: uClibc/libc/sysdeps/linux/x86_64/sigaction.c
201.154 -===================================================================
201.155 ---- uClibc/libc/sysdeps/linux/x86_64/sigaction.c (revision 23055)
201.156 -+++ uClibc/libc/sysdeps/linux/x86_64/sigaction.c (working copy)
201.157 -@@ -135,7 +135,7 @@
201.158 -
201.159 - #define RESTORE(name, syscall) RESTORE2 (name, syscall)
201.160 - # define RESTORE2(name, syscall) \
201.161 --asm \
201.162 -+__asm__ \
201.163 - ( \
201.164 - ".text\n" \
201.165 - "__" #name ":\n" \
201.166 -Index: uClibc/libc/sysdeps/linux/mips/sigaction.c
201.167 -===================================================================
201.168 ---- uClibc/libc/sysdeps/linux/mips/sigaction.c (revision 23055)
201.169 -+++ uClibc/libc/sysdeps/linux/mips/sigaction.c (working copy)
201.170 -@@ -140,7 +140,7 @@
201.171 -
201.172 - #define RESTORE(name, syscall) RESTORE2 (name, syscall)
201.173 - #define RESTORE2(name, syscall) \
201.174 --asm \
201.175 -+__asm__ \
201.176 - ( \
201.177 - ".align 4\n" \
201.178 - "__" #name ":\n" \
202.1 --- a/samples/alphaev56-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
202.2 +++ b/samples/alphaev56-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
202.3 @@ -1,7 +1,7 @@
202.4 #
202.5 # Automatically generated make config: don't edit
202.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
202.7 -# Sun Oct 4 12:43:42 2009
202.8 +# crosstool-NG version: hg_default@1596_241387704817
202.9 +# Wed Oct 28 19:17:42 2009
202.10 #
202.11
202.12 #
202.13 @@ -173,8 +173,13 @@
202.14 CT_KERNEL_linux=y
202.15 CT_KERNEL_LINUX_INSTALL=y
202.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
202.17 +# CT_KERNEL_V_2_6_31_5 is not set
202.18 +# CT_KERNEL_V_2_6_31_4 is not set
202.19 +# CT_KERNEL_V_2_6_31_3 is not set
202.20 +# CT_KERNEL_V_2_6_31_2 is not set
202.21 CT_KERNEL_V_2_6_31_1=y
202.22 # CT_KERNEL_V_2_6_31 is not set
202.23 +# CT_KERNEL_V_3_6_30_9 is not set
202.24 # CT_KERNEL_V_3_6_30_8 is not set
202.25 # CT_KERNEL_V_3_6_30_7 is not set
202.26 # CT_KERNEL_V_2_6_30_6 is not set
202.27 @@ -186,17 +191,7 @@
202.28 # CT_KERNEL_V_2_6_30 is not set
202.29 # CT_KERNEL_V_2_6_29_6 is not set
202.30 # CT_KERNEL_V_2_6_28_10 is not set
202.31 -# CT_KERNEL_V_2_6_27_35 is not set
202.32 -# CT_KERNEL_V_2_6_26_8 is not set
202.33 -# CT_KERNEL_V_2_6_25_20 is not set
202.34 -# CT_KERNEL_V_2_6_24_7 is not set
202.35 -# CT_KERNEL_V_2_6_23_17 is not set
202.36 -# CT_KERNEL_V_2_6_22_19 is not set
202.37 -# CT_KERNEL_V_2_6_21_7 is not set
202.38 -# CT_KERNEL_V_2_6_20_21 is not set
202.39 -# CT_KERNEL_V_2_6_19_7 is not set
202.40 -# CT_KERNEL_V_2_6_18_8 is not set
202.41 -# CT_KERNEL_V_select is not set
202.42 +# CT_KERNEL_V_2_6_27_38 is not set
202.43 CT_KERNEL_LINUX_VERBOSITY_0=y
202.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
202.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
202.46 @@ -217,26 +212,13 @@
202.47 #
202.48 # GNU binutils
202.49 #
202.50 -CT_BINUTILS_VERSION="2.19.1"
202.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
202.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
202.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
202.54 +# CT_BINUTILS_V_2_20 is not set
202.55 CT_BINUTILS_V_2_19_1=y
202.56 # CT_BINUTILS_V_2_19 is not set
202.57 -# CT_BINUTILS_V_2_18_93 is not set
202.58 -# CT_BINUTILS_V_2_18_92 is not set
202.59 -# CT_BINUTILS_V_2_18_91 is not set
202.60 -# CT_BINUTILS_V_2_18_90 is not set
202.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
202.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
202.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
202.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
202.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
202.66 # CT_BINUTILS_V_2_18 is not set
202.67 # CT_BINUTILS_V_2_17 is not set
202.68 # CT_BINUTILS_V_2_16_1 is not set
202.69 -# CT_BINUTILS_V_2_15 is not set
202.70 -# CT_BINUTILS_V_2_14 is not set
202.71 +CT_BINUTILS_VERSION="2.19.1"
202.72 CT_BINUTILS_EXTRA_CONFIG=""
202.73 CT_BINUTILS_FOR_TARGET=y
202.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
202.75 @@ -248,6 +230,7 @@
202.76 CT_CC="gcc"
202.77 CT_CC_VERSION="4.3.3"
202.78 CT_CC_gcc=y
202.79 +# CT_CC_V_4_4_2 is not set
202.80 # CT_CC_V_4_4_1 is not set
202.81 # CT_CC_V_4_4_0 is not set
202.82 # CT_CC_V_4_3_4 is not set
202.83 @@ -261,16 +244,8 @@
202.84 # CT_CC_V_4_2_1 is not set
202.85 # CT_CC_V_4_2_0 is not set
202.86 # CT_CC_V_4_1_2 is not set
202.87 -# CT_CC_V_4_1_1 is not set
202.88 -# CT_CC_V_4_1_0 is not set
202.89 # CT_CC_V_4_0_4 is not set
202.90 -# CT_CC_V_4_0_3 is not set
202.91 -# CT_CC_V_4_0_2 is not set
202.92 -# CT_CC_V_4_0_1 is not set
202.93 -# CT_CC_V_4_0_0 is not set
202.94 # CT_CC_V_3_4_6 is not set
202.95 -# CT_CC_V_3_3_6 is not set
202.96 -# CT_CC_V_3_2_3 is not set
202.97 CT_CC_GCC_4_3_or_later=y
202.98 # CT_CC_GCC_4_4_or_later is not set
202.99 CT_CC_CXA_ATEXIT=y
202.100 @@ -361,12 +336,8 @@
202.101 # CT_GDB_NATIVE_STATIC is not set
202.102 # CT_GDB_NATIVE_USE_GMP_MPFR is not set
202.103 # CT_GDB_GDBSERVER is not set
202.104 +# CT_GDB_V_7_0 is not set
202.105 CT_GDB_V_6_8=y
202.106 -# CT_GDB_V_6_7_1 is not set
202.107 -# CT_GDB_V_6_7 is not set
202.108 -# CT_GDB_V_6_6 is not set
202.109 -# CT_GDB_V_6_5 is not set
202.110 -# CT_GDB_V_6_4 is not set
202.111 # CT_GDB_V_snapshot is not set
202.112 CT_GDB_VERSION="6.8"
202.113
202.114 @@ -383,13 +354,12 @@
202.115 # CT_LTRACE_V_0_4 is not set
202.116 CT_LTRACE_VERSION="0.5.2"
202.117 CT_DEBUG_strace=y
202.118 -# CT_STRACE_V_4_5_18 is not set
202.119 -CT_STRACE_V_4_5_17=y
202.120 +# CT_STRACE_V_4_5_19 is not set
202.121 +CT_STRACE_V_4_5_18=y
202.122 +# CT_STRACE_V_4_5_17 is not set
202.123 # CT_STRACE_V_4_5_16 is not set
202.124 # CT_STRACE_V_4_5_15 is not set
202.125 -# CT_STRACE_V_4_5_14 is not set
202.126 -# CT_STRACE_V_4_5 is not set
202.127 -CT_STRACE_VERSION="4.5.17"
202.128 +CT_STRACE_VERSION="4.5.18"
202.129
202.130 #
202.131 # Tools facilities
203.1 --- a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
203.2 +++ b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
203.3 @@ -1,7 +1,7 @@
203.4 #
203.5 # Automatically generated make config: don't edit
203.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
203.7 -# Sun Oct 4 12:44:11 2009
203.8 +# crosstool-NG version: hg_default@1596_241387704817
203.9 +# Wed Oct 28 19:18:33 2009
203.10 #
203.11
203.12 #
203.13 @@ -169,8 +169,13 @@
203.14 CT_KERNEL_linux=y
203.15 CT_KERNEL_LINUX_INSTALL=y
203.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
203.17 +# CT_KERNEL_V_2_6_31_5 is not set
203.18 +# CT_KERNEL_V_2_6_31_4 is not set
203.19 +# CT_KERNEL_V_2_6_31_3 is not set
203.20 +# CT_KERNEL_V_2_6_31_2 is not set
203.21 CT_KERNEL_V_2_6_31_1=y
203.22 # CT_KERNEL_V_2_6_31 is not set
203.23 +# CT_KERNEL_V_3_6_30_9 is not set
203.24 # CT_KERNEL_V_3_6_30_8 is not set
203.25 # CT_KERNEL_V_3_6_30_7 is not set
203.26 # CT_KERNEL_V_2_6_30_6 is not set
203.27 @@ -182,17 +187,7 @@
203.28 # CT_KERNEL_V_2_6_30 is not set
203.29 # CT_KERNEL_V_2_6_29_6 is not set
203.30 # CT_KERNEL_V_2_6_28_10 is not set
203.31 -# CT_KERNEL_V_2_6_27_35 is not set
203.32 -# CT_KERNEL_V_2_6_26_8 is not set
203.33 -# CT_KERNEL_V_2_6_25_20 is not set
203.34 -# CT_KERNEL_V_2_6_24_7 is not set
203.35 -# CT_KERNEL_V_2_6_23_17 is not set
203.36 -# CT_KERNEL_V_2_6_22_19 is not set
203.37 -# CT_KERNEL_V_2_6_21_7 is not set
203.38 -# CT_KERNEL_V_2_6_20_21 is not set
203.39 -# CT_KERNEL_V_2_6_19_7 is not set
203.40 -# CT_KERNEL_V_2_6_18_8 is not set
203.41 -# CT_KERNEL_V_select is not set
203.42 +# CT_KERNEL_V_2_6_27_38 is not set
203.43 CT_KERNEL_LINUX_VERBOSITY_0=y
203.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
203.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
203.46 @@ -213,26 +208,13 @@
203.47 #
203.48 # GNU binutils
203.49 #
203.50 -CT_BINUTILS_VERSION="2.19.1"
203.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
203.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
203.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
203.54 +# CT_BINUTILS_V_2_20 is not set
203.55 CT_BINUTILS_V_2_19_1=y
203.56 # CT_BINUTILS_V_2_19 is not set
203.57 -# CT_BINUTILS_V_2_18_93 is not set
203.58 -# CT_BINUTILS_V_2_18_92 is not set
203.59 -# CT_BINUTILS_V_2_18_91 is not set
203.60 -# CT_BINUTILS_V_2_18_90 is not set
203.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
203.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
203.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
203.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
203.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
203.66 # CT_BINUTILS_V_2_18 is not set
203.67 # CT_BINUTILS_V_2_17 is not set
203.68 # CT_BINUTILS_V_2_16_1 is not set
203.69 -# CT_BINUTILS_V_2_15 is not set
203.70 -# CT_BINUTILS_V_2_14 is not set
203.71 +CT_BINUTILS_VERSION="2.19.1"
203.72 CT_BINUTILS_EXTRA_CONFIG=""
203.73 CT_BINUTILS_FOR_TARGET=y
203.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
203.75 @@ -244,6 +226,7 @@
203.76 CT_CC="gcc"
203.77 CT_CC_VERSION="4.4.0"
203.78 CT_CC_gcc=y
203.79 +# CT_CC_V_4_4_2 is not set
203.80 # CT_CC_V_4_4_1 is not set
203.81 CT_CC_V_4_4_0=y
203.82 # CT_CC_V_4_3_4 is not set
203.83 @@ -257,16 +240,8 @@
203.84 # CT_CC_V_4_2_1 is not set
203.85 # CT_CC_V_4_2_0 is not set
203.86 # CT_CC_V_4_1_2 is not set
203.87 -# CT_CC_V_4_1_1 is not set
203.88 -# CT_CC_V_4_1_0 is not set
203.89 # CT_CC_V_4_0_4 is not set
203.90 -# CT_CC_V_4_0_3 is not set
203.91 -# CT_CC_V_4_0_2 is not set
203.92 -# CT_CC_V_4_0_1 is not set
203.93 -# CT_CC_V_4_0_0 is not set
203.94 # CT_CC_V_3_4_6 is not set
203.95 -# CT_CC_V_3_3_6 is not set
203.96 -# CT_CC_V_3_2_3 is not set
203.97 CT_CC_GCC_4_3_or_later=y
203.98 CT_CC_GCC_4_4_or_later=y
203.99 CT_CC_CXA_ATEXIT=y
203.100 @@ -359,7 +334,6 @@
203.101 #
203.102 CT_DEBUG_dmalloc=y
203.103 CT_DMALLOC_V_5_5_2=y
203.104 -# CT_DMALLOC_V_5_4_3 is not set
203.105 CT_DMALLOC_VERSION="5.5.2"
203.106 CT_DEBUG_duma=y
203.107 CT_DUMA_A=y
203.108 @@ -379,12 +353,8 @@
203.109 CT_GDB_NATIVE_USE_GMP_MPFR=y
203.110 CT_GDB_GDBSERVER=y
203.111 CT_GDB_GDBSERVER_STATIC=y
203.112 +# CT_GDB_V_7_0 is not set
203.113 CT_GDB_V_6_8=y
203.114 -# CT_GDB_V_6_7_1 is not set
203.115 -# CT_GDB_V_6_7 is not set
203.116 -# CT_GDB_V_6_6 is not set
203.117 -# CT_GDB_V_6_5 is not set
203.118 -# CT_GDB_V_6_4 is not set
203.119 # CT_GDB_V_snapshot is not set
203.120 CT_GDB_VERSION="6.8"
203.121
203.122 @@ -401,12 +371,11 @@
203.123 # CT_LTRACE_V_0_4 is not set
203.124 CT_LTRACE_VERSION="0.5.2"
203.125 CT_DEBUG_strace=y
203.126 +# CT_STRACE_V_4_5_19 is not set
203.127 CT_STRACE_V_4_5_18=y
203.128 # CT_STRACE_V_4_5_17 is not set
203.129 # CT_STRACE_V_4_5_16 is not set
203.130 # CT_STRACE_V_4_5_15 is not set
203.131 -# CT_STRACE_V_4_5_14 is not set
203.132 -# CT_STRACE_V_4_5 is not set
203.133 CT_STRACE_VERSION="4.5.18"
203.134
203.135 #
204.1 --- a/samples/arm-iphone-linux-gnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
204.2 +++ b/samples/arm-iphone-linux-gnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
204.3 @@ -1,7 +1,7 @@
204.4 #
204.5 # Automatically generated make config: don't edit
204.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
204.7 -# Sun Oct 4 12:44:24 2009
204.8 +# crosstool-NG version: hg_default@1596_241387704817
204.9 +# Wed Oct 28 19:18:59 2009
204.10 #
204.11
204.12 #
204.13 @@ -169,8 +169,13 @@
204.14 CT_KERNEL_linux=y
204.15 CT_KERNEL_LINUX_INSTALL=y
204.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
204.17 +# CT_KERNEL_V_2_6_31_5 is not set
204.18 +# CT_KERNEL_V_2_6_31_4 is not set
204.19 +# CT_KERNEL_V_2_6_31_3 is not set
204.20 +# CT_KERNEL_V_2_6_31_2 is not set
204.21 # CT_KERNEL_V_2_6_31_1 is not set
204.22 # CT_KERNEL_V_2_6_31 is not set
204.23 +# CT_KERNEL_V_3_6_30_9 is not set
204.24 # CT_KERNEL_V_3_6_30_8 is not set
204.25 # CT_KERNEL_V_3_6_30_7 is not set
204.26 # CT_KERNEL_V_2_6_30_6 is not set
204.27 @@ -182,17 +187,7 @@
204.28 # CT_KERNEL_V_2_6_30 is not set
204.29 # CT_KERNEL_V_2_6_29_6 is not set
204.30 # CT_KERNEL_V_2_6_28_10 is not set
204.31 -# CT_KERNEL_V_2_6_27_35 is not set
204.32 -# CT_KERNEL_V_2_6_26_8 is not set
204.33 -# CT_KERNEL_V_2_6_25_20 is not set
204.34 -# CT_KERNEL_V_2_6_24_7 is not set
204.35 -# CT_KERNEL_V_2_6_23_17 is not set
204.36 -# CT_KERNEL_V_2_6_22_19 is not set
204.37 -# CT_KERNEL_V_2_6_21_7 is not set
204.38 -# CT_KERNEL_V_2_6_20_21 is not set
204.39 -# CT_KERNEL_V_2_6_19_7 is not set
204.40 -# CT_KERNEL_V_2_6_18_8 is not set
204.41 -# CT_KERNEL_V_select is not set
204.42 +# CT_KERNEL_V_2_6_27_38 is not set
204.43 CT_KERNEL_LINUX_VERBOSITY_0=y
204.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
204.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
204.46 @@ -213,26 +208,13 @@
204.47 #
204.48 # GNU binutils
204.49 #
204.50 -CT_BINUTILS_VERSION="2.19.1"
204.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
204.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
204.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
204.54 +# CT_BINUTILS_V_2_20 is not set
204.55 CT_BINUTILS_V_2_19_1=y
204.56 # CT_BINUTILS_V_2_19 is not set
204.57 -# CT_BINUTILS_V_2_18_93 is not set
204.58 -# CT_BINUTILS_V_2_18_92 is not set
204.59 -# CT_BINUTILS_V_2_18_91 is not set
204.60 -# CT_BINUTILS_V_2_18_90 is not set
204.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
204.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
204.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
204.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
204.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
204.66 # CT_BINUTILS_V_2_18 is not set
204.67 # CT_BINUTILS_V_2_17 is not set
204.68 # CT_BINUTILS_V_2_16_1 is not set
204.69 -# CT_BINUTILS_V_2_15 is not set
204.70 -# CT_BINUTILS_V_2_14 is not set
204.71 +CT_BINUTILS_VERSION="2.19.1"
204.72 CT_BINUTILS_EXTRA_CONFIG=""
204.73 # CT_BINUTILS_FOR_TARGET is not set
204.74
204.75 @@ -242,6 +224,7 @@
204.76 CT_CC="gcc"
204.77 CT_CC_VERSION="4.3.4"
204.78 CT_CC_gcc=y
204.79 +# CT_CC_V_4_4_2 is not set
204.80 # CT_CC_V_4_4_1 is not set
204.81 # CT_CC_V_4_4_0 is not set
204.82 CT_CC_V_4_3_4=y
204.83 @@ -255,16 +238,8 @@
204.84 # CT_CC_V_4_2_1 is not set
204.85 # CT_CC_V_4_2_0 is not set
204.86 # CT_CC_V_4_1_2 is not set
204.87 -# CT_CC_V_4_1_1 is not set
204.88 -# CT_CC_V_4_1_0 is not set
204.89 # CT_CC_V_4_0_4 is not set
204.90 -# CT_CC_V_4_0_3 is not set
204.91 -# CT_CC_V_4_0_2 is not set
204.92 -# CT_CC_V_4_0_1 is not set
204.93 -# CT_CC_V_4_0_0 is not set
204.94 # CT_CC_V_3_4_6 is not set
204.95 -# CT_CC_V_3_3_6 is not set
204.96 -# CT_CC_V_3_2_3 is not set
204.97 CT_CC_GCC_4_3_or_later=y
204.98 # CT_CC_GCC_4_4_or_later is not set
204.99 CT_CC_CXA_ATEXIT=y
205.1 --- a/samples/arm-unknown-eabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
205.2 +++ b/samples/arm-unknown-eabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
205.3 @@ -1,7 +1,7 @@
205.4 #
205.5 # Automatically generated make config: don't edit
205.6 -# crosstool-NG version: hg_default@1519_9c7bc87be52d
205.7 -# Tue Sep 8 18:27:19 2009
205.8 +# crosstool-NG version: hg_default@1596_241387704817
205.9 +# Wed Oct 28 19:19:27 2009
205.10 #
205.11
205.12 #
205.13 @@ -182,26 +182,13 @@
205.14 #
205.15 # GNU binutils
205.16 #
205.17 +# CT_BINUTILS_V_2_20 is not set
205.18 +CT_BINUTILS_V_2_19_1=y
205.19 +# CT_BINUTILS_V_2_19 is not set
205.20 +# CT_BINUTILS_V_2_18 is not set
205.21 +# CT_BINUTILS_V_2_17 is not set
205.22 +# CT_BINUTILS_V_2_16_1 is not set
205.23 CT_BINUTILS_VERSION="2.19.1"
205.24 -# CT_BINUTILS_V_2_14 is not set
205.25 -# CT_BINUTILS_V_2_15 is not set
205.26 -# CT_BINUTILS_V_2_16_1 is not set
205.27 -# CT_BINUTILS_V_2_17 is not set
205.28 -# CT_BINUTILS_V_2_18 is not set
205.29 -# CT_BINUTILS_V_2_18_50_0_4 is not set
205.30 -# CT_BINUTILS_V_2_18_50_0_6 is not set
205.31 -# CT_BINUTILS_V_2_18_50_0_7 is not set
205.32 -# CT_BINUTILS_V_2_18_50_0_8 is not set
205.33 -# CT_BINUTILS_V_2_18_50_0_9 is not set
205.34 -# CT_BINUTILS_V_2_18_90 is not set
205.35 -# CT_BINUTILS_V_2_18_91 is not set
205.36 -# CT_BINUTILS_V_2_18_92 is not set
205.37 -# CT_BINUTILS_V_2_18_93 is not set
205.38 -# CT_BINUTILS_V_2_19 is not set
205.39 -CT_BINUTILS_V_2_19_1=y
205.40 -# CT_BINUTILS_V_2_19_50_0_1 is not set
205.41 -# CT_BINUTILS_V_2_19_51_0_1 is not set
205.42 -# CT_BINUTILS_V_2_19_51_0_2 is not set
205.43 CT_BINUTILS_EXTRA_CONFIG=""
205.44
205.45 #
205.46 @@ -210,29 +197,22 @@
205.47 CT_CC="gcc"
205.48 CT_CC_VERSION="4.3.4"
205.49 CT_CC_gcc=y
205.50 -# CT_CC_V_3_2_3 is not set
205.51 -# CT_CC_V_3_3_6 is not set
205.52 +# CT_CC_V_4_4_2 is not set
205.53 +# CT_CC_V_4_4_1 is not set
205.54 +# CT_CC_V_4_4_0 is not set
205.55 +CT_CC_V_4_3_4=y
205.56 +# CT_CC_V_4_3_3 is not set
205.57 +# CT_CC_V_4_3_2 is not set
205.58 +# CT_CC_V_4_3_1 is not set
205.59 +# CT_CC_V_4_3_0 is not set
205.60 +# CT_CC_V_4_2_4 is not set
205.61 +# CT_CC_V_4_2_3 is not set
205.62 +# CT_CC_V_4_2_2 is not set
205.63 +# CT_CC_V_4_2_1 is not set
205.64 +# CT_CC_V_4_2_0 is not set
205.65 +# CT_CC_V_4_1_2 is not set
205.66 +# CT_CC_V_4_0_4 is not set
205.67 # CT_CC_V_3_4_6 is not set
205.68 -# CT_CC_V_4_0_0 is not set
205.69 -# CT_CC_V_4_0_1 is not set
205.70 -# CT_CC_V_4_0_2 is not set
205.71 -# CT_CC_V_4_0_3 is not set
205.72 -# CT_CC_V_4_0_4 is not set
205.73 -# CT_CC_V_4_1_0 is not set
205.74 -# CT_CC_V_4_1_1 is not set
205.75 -# CT_CC_V_4_1_2 is not set
205.76 -# CT_CC_V_4_2_0 is not set
205.77 -# CT_CC_V_4_2_1 is not set
205.78 -# CT_CC_V_4_2_2 is not set
205.79 -# CT_CC_V_4_2_3 is not set
205.80 -# CT_CC_V_4_2_4 is not set
205.81 -# CT_CC_V_4_3_0 is not set
205.82 -# CT_CC_V_4_3_1 is not set
205.83 -# CT_CC_V_4_3_2 is not set
205.84 -# CT_CC_V_4_3_3 is not set
205.85 -CT_CC_V_4_3_4=y
205.86 -# CT_CC_V_4_4_0 is not set
205.87 -# CT_CC_V_4_4_1 is not set
205.88 CT_CC_GCC_4_3_or_later=y
205.89 # CT_CC_GCC_4_4_or_later is not set
205.90 CT_CC_ENABLE_CXX_FLAGS=""
205.91 @@ -286,11 +266,7 @@
205.92 #
205.93 # provide your own gdbserver stub.
205.94 #
205.95 -# CT_GDB_V_6_4 is not set
205.96 -# CT_GDB_V_6_5 is not set
205.97 -# CT_GDB_V_6_6 is not set
205.98 -# CT_GDB_V_6_7 is not set
205.99 -# CT_GDB_V_6_7_1 is not set
205.100 +# CT_GDB_V_7_0 is not set
205.101 CT_GDB_V_6_8=y
205.102 # CT_GDB_V_snapshot is not set
205.103 CT_GDB_VERSION="6.8"
205.104 @@ -308,15 +284,15 @@
205.105 #
205.106 CT_WRAPPER_NEEDED=y
205.107 CT_GMP_MPFR=y
205.108 +CT_GMP_V_4_3_1=y
205.109 +# CT_GMP_V_4_3_0 is not set
205.110 +# CT_GMP_V_4_2_4 is not set
205.111 # CT_GMP_V_4_2_2 is not set
205.112 -# CT_GMP_V_4_2_4 is not set
205.113 -# CT_GMP_V_4_3_0 is not set
205.114 -CT_GMP_V_4_3_1=y
205.115 CT_GMP_VERSION="4.3.1"
205.116 +CT_MPFR_V_2_4_1=y
205.117 +# CT_MPFR_V_2_4_0 is not set
205.118 +# CT_MPFR_V_2_3_2 is not set
205.119 # CT_MPFR_V_2_3_1 is not set
205.120 -# CT_MPFR_V_2_3_2 is not set
205.121 -# CT_MPFR_V_2_4_0 is not set
205.122 -CT_MPFR_V_2_4_1=y
205.123 CT_MPFR_VERSION="2.4.1"
205.124 # CT_PPL_CLOOG_MPC is not set
205.125
206.1 --- a/samples/arm-unknown-elf/crosstool.config Wed Oct 28 12:03:38 2009 +0100
206.2 +++ b/samples/arm-unknown-elf/crosstool.config Thu Oct 29 00:10:06 2009 +0100
206.3 @@ -1,7 +1,7 @@
206.4 #
206.5 # Automatically generated make config: don't edit
206.6 -# crosstool-NG version: hg_default@1519_b9c114a70021
206.7 -# Tue Sep 8 18:35:25 2009
206.8 +# crosstool-NG version: hg_default@1596_241387704817
206.9 +# Wed Oct 28 19:19:51 2009
206.10 #
206.11
206.12 #
206.13 @@ -184,26 +184,13 @@
206.14 #
206.15 # GNU binutils
206.16 #
206.17 +# CT_BINUTILS_V_2_20 is not set
206.18 +CT_BINUTILS_V_2_19_1=y
206.19 +# CT_BINUTILS_V_2_19 is not set
206.20 +# CT_BINUTILS_V_2_18 is not set
206.21 +# CT_BINUTILS_V_2_17 is not set
206.22 +# CT_BINUTILS_V_2_16_1 is not set
206.23 CT_BINUTILS_VERSION="2.19.1"
206.24 -# CT_BINUTILS_V_2_14 is not set
206.25 -# CT_BINUTILS_V_2_15 is not set
206.26 -# CT_BINUTILS_V_2_16_1 is not set
206.27 -# CT_BINUTILS_V_2_17 is not set
206.28 -# CT_BINUTILS_V_2_18 is not set
206.29 -# CT_BINUTILS_V_2_18_50_0_4 is not set
206.30 -# CT_BINUTILS_V_2_18_50_0_6 is not set
206.31 -# CT_BINUTILS_V_2_18_50_0_7 is not set
206.32 -# CT_BINUTILS_V_2_18_50_0_8 is not set
206.33 -# CT_BINUTILS_V_2_18_50_0_9 is not set
206.34 -# CT_BINUTILS_V_2_18_90 is not set
206.35 -# CT_BINUTILS_V_2_18_91 is not set
206.36 -# CT_BINUTILS_V_2_18_92 is not set
206.37 -# CT_BINUTILS_V_2_18_93 is not set
206.38 -# CT_BINUTILS_V_2_19 is not set
206.39 -CT_BINUTILS_V_2_19_1=y
206.40 -# CT_BINUTILS_V_2_19_50_0_1 is not set
206.41 -# CT_BINUTILS_V_2_19_51_0_1 is not set
206.42 -# CT_BINUTILS_V_2_19_51_0_2 is not set
206.43 CT_BINUTILS_EXTRA_CONFIG=""
206.44
206.45 #
206.46 @@ -212,29 +199,22 @@
206.47 CT_CC="gcc"
206.48 CT_CC_VERSION="4.3.4"
206.49 CT_CC_gcc=y
206.50 -# CT_CC_V_3_2_3 is not set
206.51 -# CT_CC_V_3_3_6 is not set
206.52 +# CT_CC_V_4_4_2 is not set
206.53 +# CT_CC_V_4_4_1 is not set
206.54 +# CT_CC_V_4_4_0 is not set
206.55 +CT_CC_V_4_3_4=y
206.56 +# CT_CC_V_4_3_3 is not set
206.57 +# CT_CC_V_4_3_2 is not set
206.58 +# CT_CC_V_4_3_1 is not set
206.59 +# CT_CC_V_4_3_0 is not set
206.60 +# CT_CC_V_4_2_4 is not set
206.61 +# CT_CC_V_4_2_3 is not set
206.62 +# CT_CC_V_4_2_2 is not set
206.63 +# CT_CC_V_4_2_1 is not set
206.64 +# CT_CC_V_4_2_0 is not set
206.65 +# CT_CC_V_4_1_2 is not set
206.66 +# CT_CC_V_4_0_4 is not set
206.67 # CT_CC_V_3_4_6 is not set
206.68 -# CT_CC_V_4_0_0 is not set
206.69 -# CT_CC_V_4_0_1 is not set
206.70 -# CT_CC_V_4_0_2 is not set
206.71 -# CT_CC_V_4_0_3 is not set
206.72 -# CT_CC_V_4_0_4 is not set
206.73 -# CT_CC_V_4_1_0 is not set
206.74 -# CT_CC_V_4_1_1 is not set
206.75 -# CT_CC_V_4_1_2 is not set
206.76 -# CT_CC_V_4_2_0 is not set
206.77 -# CT_CC_V_4_2_1 is not set
206.78 -# CT_CC_V_4_2_2 is not set
206.79 -# CT_CC_V_4_2_3 is not set
206.80 -# CT_CC_V_4_2_4 is not set
206.81 -# CT_CC_V_4_3_0 is not set
206.82 -# CT_CC_V_4_3_1 is not set
206.83 -# CT_CC_V_4_3_2 is not set
206.84 -# CT_CC_V_4_3_3 is not set
206.85 -CT_CC_V_4_3_4=y
206.86 -# CT_CC_V_4_4_0 is not set
206.87 -# CT_CC_V_4_4_1 is not set
206.88 CT_CC_GCC_4_3_or_later=y
206.89 # CT_CC_GCC_4_4_or_later is not set
206.90 CT_CC_ENABLE_CXX_FLAGS=""
206.91 @@ -288,11 +268,7 @@
206.92 #
206.93 # provide your own gdbserver stub.
206.94 #
206.95 -# CT_GDB_V_6_4 is not set
206.96 -# CT_GDB_V_6_5 is not set
206.97 -# CT_GDB_V_6_6 is not set
206.98 -# CT_GDB_V_6_7 is not set
206.99 -# CT_GDB_V_6_7_1 is not set
206.100 +# CT_GDB_V_7_0 is not set
206.101 CT_GDB_V_6_8=y
206.102 # CT_GDB_V_snapshot is not set
206.103 CT_GDB_VERSION="6.8"
206.104 @@ -310,15 +286,15 @@
206.105 #
206.106 CT_WRAPPER_NEEDED=y
206.107 CT_GMP_MPFR=y
206.108 +CT_GMP_V_4_3_1=y
206.109 +# CT_GMP_V_4_3_0 is not set
206.110 +# CT_GMP_V_4_2_4 is not set
206.111 # CT_GMP_V_4_2_2 is not set
206.112 -# CT_GMP_V_4_2_4 is not set
206.113 -# CT_GMP_V_4_3_0 is not set
206.114 -CT_GMP_V_4_3_1=y
206.115 CT_GMP_VERSION="4.3.1"
206.116 +CT_MPFR_V_2_4_1=y
206.117 +# CT_MPFR_V_2_4_0 is not set
206.118 +# CT_MPFR_V_2_3_2 is not set
206.119 # CT_MPFR_V_2_3_1 is not set
206.120 -# CT_MPFR_V_2_3_2 is not set
206.121 -# CT_MPFR_V_2_4_0 is not set
206.122 -CT_MPFR_V_2_4_1=y
206.123 CT_MPFR_VERSION="2.4.1"
206.124 # CT_PPL_CLOOG_MPC is not set
206.125
207.1 --- a/samples/arm-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
207.2 +++ b/samples/arm-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
207.3 @@ -1,7 +1,7 @@
207.4 #
207.5 # Automatically generated make config: don't edit
207.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
207.7 -# Sun Oct 4 12:45:08 2009
207.8 +# crosstool-NG version: hg_default@1596_241387704817
207.9 +# Wed Oct 28 19:20:11 2009
207.10 #
207.11
207.12 #
207.13 @@ -173,8 +173,13 @@
207.14 CT_KERNEL_linux=y
207.15 CT_KERNEL_LINUX_INSTALL=y
207.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
207.17 +# CT_KERNEL_V_2_6_31_5 is not set
207.18 +# CT_KERNEL_V_2_6_31_4 is not set
207.19 +# CT_KERNEL_V_2_6_31_3 is not set
207.20 +# CT_KERNEL_V_2_6_31_2 is not set
207.21 CT_KERNEL_V_2_6_31_1=y
207.22 # CT_KERNEL_V_2_6_31 is not set
207.23 +# CT_KERNEL_V_3_6_30_9 is not set
207.24 # CT_KERNEL_V_3_6_30_8 is not set
207.25 # CT_KERNEL_V_3_6_30_7 is not set
207.26 # CT_KERNEL_V_2_6_30_6 is not set
207.27 @@ -186,17 +191,7 @@
207.28 # CT_KERNEL_V_2_6_30 is not set
207.29 # CT_KERNEL_V_2_6_29_6 is not set
207.30 # CT_KERNEL_V_2_6_28_10 is not set
207.31 -# CT_KERNEL_V_2_6_27_35 is not set
207.32 -# CT_KERNEL_V_2_6_26_8 is not set
207.33 -# CT_KERNEL_V_2_6_25_20 is not set
207.34 -# CT_KERNEL_V_2_6_24_7 is not set
207.35 -# CT_KERNEL_V_2_6_23_17 is not set
207.36 -# CT_KERNEL_V_2_6_22_19 is not set
207.37 -# CT_KERNEL_V_2_6_21_7 is not set
207.38 -# CT_KERNEL_V_2_6_20_21 is not set
207.39 -# CT_KERNEL_V_2_6_19_7 is not set
207.40 -# CT_KERNEL_V_2_6_18_8 is not set
207.41 -# CT_KERNEL_V_select is not set
207.42 +# CT_KERNEL_V_2_6_27_38 is not set
207.43 CT_KERNEL_LINUX_VERBOSITY_0=y
207.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
207.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
207.46 @@ -217,26 +212,13 @@
207.47 #
207.48 # GNU binutils
207.49 #
207.50 -CT_BINUTILS_VERSION="2.19.1"
207.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
207.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
207.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
207.54 +# CT_BINUTILS_V_2_20 is not set
207.55 CT_BINUTILS_V_2_19_1=y
207.56 # CT_BINUTILS_V_2_19 is not set
207.57 -# CT_BINUTILS_V_2_18_93 is not set
207.58 -# CT_BINUTILS_V_2_18_92 is not set
207.59 -# CT_BINUTILS_V_2_18_91 is not set
207.60 -# CT_BINUTILS_V_2_18_90 is not set
207.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
207.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
207.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
207.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
207.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
207.66 # CT_BINUTILS_V_2_18 is not set
207.67 # CT_BINUTILS_V_2_17 is not set
207.68 # CT_BINUTILS_V_2_16_1 is not set
207.69 -# CT_BINUTILS_V_2_15 is not set
207.70 -# CT_BINUTILS_V_2_14 is not set
207.71 +CT_BINUTILS_VERSION="2.19.1"
207.72 CT_BINUTILS_EXTRA_CONFIG=""
207.73 CT_BINUTILS_FOR_TARGET=y
207.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
207.75 @@ -248,6 +230,7 @@
207.76 CT_CC="gcc"
207.77 CT_CC_VERSION="4.3.2"
207.78 CT_CC_gcc=y
207.79 +# CT_CC_V_4_4_2 is not set
207.80 # CT_CC_V_4_4_1 is not set
207.81 # CT_CC_V_4_4_0 is not set
207.82 # CT_CC_V_4_3_4 is not set
207.83 @@ -261,16 +244,8 @@
207.84 # CT_CC_V_4_2_1 is not set
207.85 # CT_CC_V_4_2_0 is not set
207.86 # CT_CC_V_4_1_2 is not set
207.87 -# CT_CC_V_4_1_1 is not set
207.88 -# CT_CC_V_4_1_0 is not set
207.89 # CT_CC_V_4_0_4 is not set
207.90 -# CT_CC_V_4_0_3 is not set
207.91 -# CT_CC_V_4_0_2 is not set
207.92 -# CT_CC_V_4_0_1 is not set
207.93 -# CT_CC_V_4_0_0 is not set
207.94 # CT_CC_V_3_4_6 is not set
207.95 -# CT_CC_V_3_3_6 is not set
207.96 -# CT_CC_V_3_2_3 is not set
207.97 CT_CC_GCC_4_3_or_later=y
207.98 # CT_CC_GCC_4_4_or_later is not set
207.99 CT_CC_CXA_ATEXIT=y
207.100 @@ -360,17 +335,16 @@
207.101 #
207.102 CT_DEBUG_dmalloc=y
207.103 CT_DMALLOC_V_5_5_2=y
207.104 -# CT_DMALLOC_V_5_4_3 is not set
207.105 CT_DMALLOC_VERSION="5.5.2"
207.106 CT_DEBUG_duma=y
207.107 CT_DUMA_A=y
207.108 CT_DUMA_SO=y
207.109 -# CT_DUMA_V_2_5_15 is not set
207.110 -CT_DUMA_V_2_5_14=y
207.111 +CT_DUMA_V_2_5_15=y
207.112 +# CT_DUMA_V_2_5_14 is not set
207.113 # CT_DUMA_V_2_5_12 is not set
207.114 # CT_DUMA_V_2_5_8 is not set
207.115 # CT_DUMA_V_2_5_1 is not set
207.116 -CT_DUMA_VERSION="2_5_14"
207.117 +CT_DUMA_VERSION="2_5_15"
207.118 CT_DEBUG_gdb=y
207.119 CT_GDB_CROSS=y
207.120 # CT_GDB_CROSS_STATIC is not set
207.121 @@ -379,12 +353,8 @@
207.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
207.123 CT_GDB_GDBSERVER=y
207.124 CT_GDB_GDBSERVER_STATIC=y
207.125 +# CT_GDB_V_7_0 is not set
207.126 CT_GDB_V_6_8=y
207.127 -# CT_GDB_V_6_7_1 is not set
207.128 -# CT_GDB_V_6_7 is not set
207.129 -# CT_GDB_V_6_6 is not set
207.130 -# CT_GDB_V_6_5 is not set
207.131 -# CT_GDB_V_6_4 is not set
207.132 # CT_GDB_V_snapshot is not set
207.133 CT_GDB_VERSION="6.8"
207.134
207.135 @@ -395,19 +365,18 @@
207.136 # CT_NCURSES_V_5_6 is not set
207.137 CT_NCURSES_VERSION="5.7"
207.138 CT_DEBUG_ltrace=y
207.139 -# CT_LTRACE_V_0_5_2 is not set
207.140 +CT_LTRACE_V_0_5_2=y
207.141 # CT_LTRACE_V_0_5_1 is not set
207.142 -CT_LTRACE_V_0_5=y
207.143 +# CT_LTRACE_V_0_5 is not set
207.144 # CT_LTRACE_V_0_4 is not set
207.145 -CT_LTRACE_VERSION="0.5"
207.146 +CT_LTRACE_VERSION="0.5.2"
207.147 CT_DEBUG_strace=y
207.148 -# CT_STRACE_V_4_5_18 is not set
207.149 -CT_STRACE_V_4_5_17=y
207.150 +# CT_STRACE_V_4_5_19 is not set
207.151 +CT_STRACE_V_4_5_18=y
207.152 +# CT_STRACE_V_4_5_17 is not set
207.153 # CT_STRACE_V_4_5_16 is not set
207.154 # CT_STRACE_V_4_5_15 is not set
207.155 -# CT_STRACE_V_4_5_14 is not set
207.156 -# CT_STRACE_V_4_5 is not set
207.157 -CT_STRACE_VERSION="4.5.17"
207.158 +CT_STRACE_VERSION="4.5.18"
207.159
207.160 #
207.161 # Tools facilities
207.162 @@ -427,11 +396,11 @@
207.163 #
207.164 CT_WRAPPER_NEEDED=y
207.165 CT_GMP_MPFR=y
207.166 -# CT_GMP_V_4_3_1 is not set
207.167 +CT_GMP_V_4_3_1=y
207.168 # CT_GMP_V_4_3_0 is not set
207.169 -CT_GMP_V_4_2_4=y
207.170 +# CT_GMP_V_4_2_4 is not set
207.171 # CT_GMP_V_4_2_2 is not set
207.172 -CT_GMP_VERSION="4.2.4"
207.173 +CT_GMP_VERSION="4.3.1"
207.174 CT_MPFR_V_2_4_1=y
207.175 # CT_MPFR_V_2_4_0 is not set
207.176 # CT_MPFR_V_2_3_2 is not set
208.1 --- a/samples/arm-unknown-linux-gnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
208.2 +++ b/samples/arm-unknown-linux-gnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
208.3 @@ -1,7 +1,7 @@
208.4 #
208.5 # Automatically generated make config: don't edit
208.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
208.7 -# Sun Oct 4 12:45:20 2009
208.8 +# crosstool-NG version: hg_default@1596_241387704817
208.9 +# Wed Oct 28 19:20:29 2009
208.10 #
208.11
208.12 #
208.13 @@ -171,8 +171,13 @@
208.14 CT_KERNEL_linux=y
208.15 CT_KERNEL_LINUX_INSTALL=y
208.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
208.17 +# CT_KERNEL_V_2_6_31_5 is not set
208.18 +# CT_KERNEL_V_2_6_31_4 is not set
208.19 +# CT_KERNEL_V_2_6_31_3 is not set
208.20 +# CT_KERNEL_V_2_6_31_2 is not set
208.21 CT_KERNEL_V_2_6_31_1=y
208.22 # CT_KERNEL_V_2_6_31 is not set
208.23 +# CT_KERNEL_V_3_6_30_9 is not set
208.24 # CT_KERNEL_V_3_6_30_8 is not set
208.25 # CT_KERNEL_V_3_6_30_7 is not set
208.26 # CT_KERNEL_V_2_6_30_6 is not set
208.27 @@ -184,17 +189,7 @@
208.28 # CT_KERNEL_V_2_6_30 is not set
208.29 # CT_KERNEL_V_2_6_29_6 is not set
208.30 # CT_KERNEL_V_2_6_28_10 is not set
208.31 -# CT_KERNEL_V_2_6_27_35 is not set
208.32 -# CT_KERNEL_V_2_6_26_8 is not set
208.33 -# CT_KERNEL_V_2_6_25_20 is not set
208.34 -# CT_KERNEL_V_2_6_24_7 is not set
208.35 -# CT_KERNEL_V_2_6_23_17 is not set
208.36 -# CT_KERNEL_V_2_6_22_19 is not set
208.37 -# CT_KERNEL_V_2_6_21_7 is not set
208.38 -# CT_KERNEL_V_2_6_20_21 is not set
208.39 -# CT_KERNEL_V_2_6_19_7 is not set
208.40 -# CT_KERNEL_V_2_6_18_8 is not set
208.41 -# CT_KERNEL_V_select is not set
208.42 +# CT_KERNEL_V_2_6_27_38 is not set
208.43 CT_KERNEL_LINUX_VERBOSITY_0=y
208.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
208.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
208.46 @@ -215,26 +210,13 @@
208.47 #
208.48 # GNU binutils
208.49 #
208.50 -CT_BINUTILS_VERSION="2.19.1"
208.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
208.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
208.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
208.54 +# CT_BINUTILS_V_2_20 is not set
208.55 CT_BINUTILS_V_2_19_1=y
208.56 # CT_BINUTILS_V_2_19 is not set
208.57 -# CT_BINUTILS_V_2_18_93 is not set
208.58 -# CT_BINUTILS_V_2_18_92 is not set
208.59 -# CT_BINUTILS_V_2_18_91 is not set
208.60 -# CT_BINUTILS_V_2_18_90 is not set
208.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
208.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
208.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
208.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
208.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
208.66 # CT_BINUTILS_V_2_18 is not set
208.67 # CT_BINUTILS_V_2_17 is not set
208.68 # CT_BINUTILS_V_2_16_1 is not set
208.69 -# CT_BINUTILS_V_2_15 is not set
208.70 -# CT_BINUTILS_V_2_14 is not set
208.71 +CT_BINUTILS_VERSION="2.19.1"
208.72 CT_BINUTILS_EXTRA_CONFIG=""
208.73 CT_BINUTILS_FOR_TARGET=y
208.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
208.75 @@ -246,6 +228,7 @@
208.76 CT_CC="gcc"
208.77 CT_CC_VERSION="4.3.2"
208.78 CT_CC_gcc=y
208.79 +# CT_CC_V_4_4_2 is not set
208.80 # CT_CC_V_4_4_1 is not set
208.81 # CT_CC_V_4_4_0 is not set
208.82 # CT_CC_V_4_3_4 is not set
208.83 @@ -259,16 +242,8 @@
208.84 # CT_CC_V_4_2_1 is not set
208.85 # CT_CC_V_4_2_0 is not set
208.86 # CT_CC_V_4_1_2 is not set
208.87 -# CT_CC_V_4_1_1 is not set
208.88 -# CT_CC_V_4_1_0 is not set
208.89 # CT_CC_V_4_0_4 is not set
208.90 -# CT_CC_V_4_0_3 is not set
208.91 -# CT_CC_V_4_0_2 is not set
208.92 -# CT_CC_V_4_0_1 is not set
208.93 -# CT_CC_V_4_0_0 is not set
208.94 # CT_CC_V_3_4_6 is not set
208.95 -# CT_CC_V_3_3_6 is not set
208.96 -# CT_CC_V_3_2_3 is not set
208.97 CT_CC_GCC_4_3_or_later=y
208.98 # CT_CC_GCC_4_4_or_later is not set
208.99 CT_CC_CXA_ATEXIT=y
208.100 @@ -358,17 +333,16 @@
208.101 #
208.102 CT_DEBUG_dmalloc=y
208.103 CT_DMALLOC_V_5_5_2=y
208.104 -# CT_DMALLOC_V_5_4_3 is not set
208.105 CT_DMALLOC_VERSION="5.5.2"
208.106 CT_DEBUG_duma=y
208.107 CT_DUMA_A=y
208.108 CT_DUMA_SO=y
208.109 -# CT_DUMA_V_2_5_15 is not set
208.110 -CT_DUMA_V_2_5_14=y
208.111 +CT_DUMA_V_2_5_15=y
208.112 +# CT_DUMA_V_2_5_14 is not set
208.113 # CT_DUMA_V_2_5_12 is not set
208.114 # CT_DUMA_V_2_5_8 is not set
208.115 # CT_DUMA_V_2_5_1 is not set
208.116 -CT_DUMA_VERSION="2_5_14"
208.117 +CT_DUMA_VERSION="2_5_15"
208.118 CT_DEBUG_gdb=y
208.119 CT_GDB_CROSS=y
208.120 # CT_GDB_CROSS_STATIC is not set
208.121 @@ -377,12 +351,8 @@
208.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
208.123 CT_GDB_GDBSERVER=y
208.124 CT_GDB_GDBSERVER_STATIC=y
208.125 +# CT_GDB_V_7_0 is not set
208.126 CT_GDB_V_6_8=y
208.127 -# CT_GDB_V_6_7_1 is not set
208.128 -# CT_GDB_V_6_7 is not set
208.129 -# CT_GDB_V_6_6 is not set
208.130 -# CT_GDB_V_6_5 is not set
208.131 -# CT_GDB_V_6_4 is not set
208.132 # CT_GDB_V_snapshot is not set
208.133 CT_GDB_VERSION="6.8"
208.134
208.135 @@ -393,19 +363,18 @@
208.136 # CT_NCURSES_V_5_6 is not set
208.137 CT_NCURSES_VERSION="5.7"
208.138 CT_DEBUG_ltrace=y
208.139 -# CT_LTRACE_V_0_5_2 is not set
208.140 +CT_LTRACE_V_0_5_2=y
208.141 # CT_LTRACE_V_0_5_1 is not set
208.142 -CT_LTRACE_V_0_5=y
208.143 +# CT_LTRACE_V_0_5 is not set
208.144 # CT_LTRACE_V_0_4 is not set
208.145 -CT_LTRACE_VERSION="0.5"
208.146 +CT_LTRACE_VERSION="0.5.2"
208.147 CT_DEBUG_strace=y
208.148 -# CT_STRACE_V_4_5_18 is not set
208.149 -CT_STRACE_V_4_5_17=y
208.150 +# CT_STRACE_V_4_5_19 is not set
208.151 +CT_STRACE_V_4_5_18=y
208.152 +# CT_STRACE_V_4_5_17 is not set
208.153 # CT_STRACE_V_4_5_16 is not set
208.154 # CT_STRACE_V_4_5_15 is not set
208.155 -# CT_STRACE_V_4_5_14 is not set
208.156 -# CT_STRACE_V_4_5 is not set
208.157 -CT_STRACE_VERSION="4.5.17"
208.158 +CT_STRACE_VERSION="4.5.18"
208.159
208.160 #
208.161 # Tools facilities
208.162 @@ -425,11 +394,11 @@
208.163 #
208.164 CT_WRAPPER_NEEDED=y
208.165 CT_GMP_MPFR=y
208.166 -# CT_GMP_V_4_3_1 is not set
208.167 +CT_GMP_V_4_3_1=y
208.168 # CT_GMP_V_4_3_0 is not set
208.169 -CT_GMP_V_4_2_4=y
208.170 +# CT_GMP_V_4_2_4 is not set
208.171 # CT_GMP_V_4_2_2 is not set
208.172 -CT_GMP_VERSION="4.2.4"
208.173 +CT_GMP_VERSION="4.3.1"
208.174 CT_MPFR_V_2_4_1=y
208.175 # CT_MPFR_V_2_4_0 is not set
208.176 # CT_MPFR_V_2_3_2 is not set
209.1 --- a/samples/arm-unknown-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
209.2 +++ b/samples/arm-unknown-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
209.3 @@ -1,7 +1,7 @@
209.4 #
209.5 # Automatically generated make config: don't edit
209.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
209.7 -# Sun Oct 4 12:45:31 2009
209.8 +# crosstool-NG version: hg_default@1596_241387704817
209.9 +# Wed Oct 28 19:20:46 2009
209.10 #
209.11
209.12 #
209.13 @@ -173,8 +173,13 @@
209.14 CT_KERNEL_linux=y
209.15 CT_KERNEL_LINUX_INSTALL=y
209.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
209.17 +# CT_KERNEL_V_2_6_31_5 is not set
209.18 +# CT_KERNEL_V_2_6_31_4 is not set
209.19 +# CT_KERNEL_V_2_6_31_3 is not set
209.20 +# CT_KERNEL_V_2_6_31_2 is not set
209.21 CT_KERNEL_V_2_6_31_1=y
209.22 # CT_KERNEL_V_2_6_31 is not set
209.23 +# CT_KERNEL_V_3_6_30_9 is not set
209.24 # CT_KERNEL_V_3_6_30_8 is not set
209.25 # CT_KERNEL_V_3_6_30_7 is not set
209.26 # CT_KERNEL_V_2_6_30_6 is not set
209.27 @@ -186,17 +191,7 @@
209.28 # CT_KERNEL_V_2_6_30 is not set
209.29 # CT_KERNEL_V_2_6_29_6 is not set
209.30 # CT_KERNEL_V_2_6_28_10 is not set
209.31 -# CT_KERNEL_V_2_6_27_35 is not set
209.32 -# CT_KERNEL_V_2_6_26_8 is not set
209.33 -# CT_KERNEL_V_2_6_25_20 is not set
209.34 -# CT_KERNEL_V_2_6_24_7 is not set
209.35 -# CT_KERNEL_V_2_6_23_17 is not set
209.36 -# CT_KERNEL_V_2_6_22_19 is not set
209.37 -# CT_KERNEL_V_2_6_21_7 is not set
209.38 -# CT_KERNEL_V_2_6_20_21 is not set
209.39 -# CT_KERNEL_V_2_6_19_7 is not set
209.40 -# CT_KERNEL_V_2_6_18_8 is not set
209.41 -# CT_KERNEL_V_select is not set
209.42 +# CT_KERNEL_V_2_6_27_38 is not set
209.43 CT_KERNEL_LINUX_VERBOSITY_0=y
209.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
209.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
209.46 @@ -217,26 +212,13 @@
209.47 #
209.48 # GNU binutils
209.49 #
209.50 -CT_BINUTILS_VERSION="2.19.1"
209.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
209.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
209.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
209.54 +# CT_BINUTILS_V_2_20 is not set
209.55 CT_BINUTILS_V_2_19_1=y
209.56 # CT_BINUTILS_V_2_19 is not set
209.57 -# CT_BINUTILS_V_2_18_93 is not set
209.58 -# CT_BINUTILS_V_2_18_92 is not set
209.59 -# CT_BINUTILS_V_2_18_91 is not set
209.60 -# CT_BINUTILS_V_2_18_90 is not set
209.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
209.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
209.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
209.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
209.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
209.66 # CT_BINUTILS_V_2_18 is not set
209.67 # CT_BINUTILS_V_2_17 is not set
209.68 # CT_BINUTILS_V_2_16_1 is not set
209.69 -# CT_BINUTILS_V_2_15 is not set
209.70 -# CT_BINUTILS_V_2_14 is not set
209.71 +CT_BINUTILS_VERSION="2.19.1"
209.72 CT_BINUTILS_EXTRA_CONFIG=""
209.73 CT_BINUTILS_FOR_TARGET=y
209.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
209.75 @@ -248,6 +230,7 @@
209.76 CT_CC="gcc"
209.77 CT_CC_VERSION="4.3.2"
209.78 CT_CC_gcc=y
209.79 +# CT_CC_V_4_4_2 is not set
209.80 # CT_CC_V_4_4_1 is not set
209.81 # CT_CC_V_4_4_0 is not set
209.82 # CT_CC_V_4_3_4 is not set
209.83 @@ -261,16 +244,8 @@
209.84 # CT_CC_V_4_2_1 is not set
209.85 # CT_CC_V_4_2_0 is not set
209.86 # CT_CC_V_4_1_2 is not set
209.87 -# CT_CC_V_4_1_1 is not set
209.88 -# CT_CC_V_4_1_0 is not set
209.89 # CT_CC_V_4_0_4 is not set
209.90 -# CT_CC_V_4_0_3 is not set
209.91 -# CT_CC_V_4_0_2 is not set
209.92 -# CT_CC_V_4_0_1 is not set
209.93 -# CT_CC_V_4_0_0 is not set
209.94 # CT_CC_V_3_4_6 is not set
209.95 -# CT_CC_V_3_3_6 is not set
209.96 -# CT_CC_V_3_2_3 is not set
209.97 CT_CC_GCC_4_3_or_later=y
209.98 # CT_CC_GCC_4_4_or_later is not set
209.99 CT_CC_CXA_ATEXIT=y
209.100 @@ -310,9 +285,6 @@
209.101 # CT_LIBC_V_0_9_30 is not set
209.102 # CT_LIBC_V_0_9_29 is not set
209.103 # CT_LIBC_V_0_9_28_3 is not set
209.104 -# CT_LIBC_V_0_9_28_2 is not set
209.105 -# CT_LIBC_V_0_9_28_1 is not set
209.106 -# CT_LIBC_V_0_9_28 is not set
209.107 # CT_LIBC_V_snapshot is not set
209.108 # CT_LIBC_V_specific_date is not set
209.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
209.110 @@ -343,17 +315,16 @@
209.111 #
209.112 CT_DEBUG_dmalloc=y
209.113 CT_DMALLOC_V_5_5_2=y
209.114 -# CT_DMALLOC_V_5_4_3 is not set
209.115 CT_DMALLOC_VERSION="5.5.2"
209.116 CT_DEBUG_duma=y
209.117 CT_DUMA_A=y
209.118 CT_DUMA_SO=y
209.119 -# CT_DUMA_V_2_5_15 is not set
209.120 -CT_DUMA_V_2_5_14=y
209.121 +CT_DUMA_V_2_5_15=y
209.122 +# CT_DUMA_V_2_5_14 is not set
209.123 # CT_DUMA_V_2_5_12 is not set
209.124 # CT_DUMA_V_2_5_8 is not set
209.125 # CT_DUMA_V_2_5_1 is not set
209.126 -CT_DUMA_VERSION="2_5_14"
209.127 +CT_DUMA_VERSION="2_5_15"
209.128 CT_DEBUG_gdb=y
209.129 CT_GDB_CROSS=y
209.130 # CT_GDB_CROSS_STATIC is not set
209.131 @@ -362,12 +333,8 @@
209.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
209.133 CT_GDB_GDBSERVER=y
209.134 CT_GDB_GDBSERVER_STATIC=y
209.135 +# CT_GDB_V_7_0 is not set
209.136 CT_GDB_V_6_8=y
209.137 -# CT_GDB_V_6_7_1 is not set
209.138 -# CT_GDB_V_6_7 is not set
209.139 -# CT_GDB_V_6_6 is not set
209.140 -# CT_GDB_V_6_5 is not set
209.141 -# CT_GDB_V_6_4 is not set
209.142 # CT_GDB_V_snapshot is not set
209.143 CT_GDB_VERSION="6.8"
209.144
209.145 @@ -378,19 +345,18 @@
209.146 # CT_NCURSES_V_5_6 is not set
209.147 CT_NCURSES_VERSION="5.7"
209.148 CT_DEBUG_ltrace=y
209.149 -# CT_LTRACE_V_0_5_2 is not set
209.150 +CT_LTRACE_V_0_5_2=y
209.151 # CT_LTRACE_V_0_5_1 is not set
209.152 -CT_LTRACE_V_0_5=y
209.153 +# CT_LTRACE_V_0_5 is not set
209.154 # CT_LTRACE_V_0_4 is not set
209.155 -CT_LTRACE_VERSION="0.5"
209.156 +CT_LTRACE_VERSION="0.5.2"
209.157 CT_DEBUG_strace=y
209.158 -# CT_STRACE_V_4_5_18 is not set
209.159 -CT_STRACE_V_4_5_17=y
209.160 +# CT_STRACE_V_4_5_19 is not set
209.161 +CT_STRACE_V_4_5_18=y
209.162 +# CT_STRACE_V_4_5_17 is not set
209.163 # CT_STRACE_V_4_5_16 is not set
209.164 # CT_STRACE_V_4_5_15 is not set
209.165 -# CT_STRACE_V_4_5_14 is not set
209.166 -# CT_STRACE_V_4_5 is not set
209.167 -CT_STRACE_VERSION="4.5.17"
209.168 +CT_STRACE_VERSION="4.5.18"
209.169
209.170 #
209.171 # Tools facilities
209.172 @@ -410,11 +376,11 @@
209.173 #
209.174 CT_WRAPPER_NEEDED=y
209.175 CT_GMP_MPFR=y
209.176 -# CT_GMP_V_4_3_1 is not set
209.177 +CT_GMP_V_4_3_1=y
209.178 # CT_GMP_V_4_3_0 is not set
209.179 -CT_GMP_V_4_2_4=y
209.180 +# CT_GMP_V_4_2_4 is not set
209.181 # CT_GMP_V_4_2_2 is not set
209.182 -CT_GMP_VERSION="4.2.4"
209.183 +CT_GMP_VERSION="4.3.1"
209.184 CT_MPFR_V_2_4_1=y
209.185 # CT_MPFR_V_2_4_0 is not set
209.186 # CT_MPFR_V_2_3_2 is not set
210.1 --- a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
210.2 +++ b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
210.3 @@ -1,7 +1,7 @@
210.4 #
210.5 # Automatically generated make config: don't edit
210.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
210.7 -# Sun Oct 4 12:45:43 2009
210.8 +# crosstool-NG version: hg_default@1596_241387704817
210.9 +# Wed Oct 28 19:21:10 2009
210.10 #
210.11
210.12 #
210.13 @@ -172,8 +172,13 @@
210.14 CT_KERNEL_linux=y
210.15 CT_KERNEL_LINUX_INSTALL=y
210.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
210.17 +# CT_KERNEL_V_2_6_31_5 is not set
210.18 +# CT_KERNEL_V_2_6_31_4 is not set
210.19 +# CT_KERNEL_V_2_6_31_3 is not set
210.20 +# CT_KERNEL_V_2_6_31_2 is not set
210.21 CT_KERNEL_V_2_6_31_1=y
210.22 # CT_KERNEL_V_2_6_31 is not set
210.23 +# CT_KERNEL_V_3_6_30_9 is not set
210.24 # CT_KERNEL_V_3_6_30_8 is not set
210.25 # CT_KERNEL_V_3_6_30_7 is not set
210.26 # CT_KERNEL_V_2_6_30_6 is not set
210.27 @@ -185,17 +190,7 @@
210.28 # CT_KERNEL_V_2_6_30 is not set
210.29 # CT_KERNEL_V_2_6_29_6 is not set
210.30 # CT_KERNEL_V_2_6_28_10 is not set
210.31 -# CT_KERNEL_V_2_6_27_35 is not set
210.32 -# CT_KERNEL_V_2_6_26_8 is not set
210.33 -# CT_KERNEL_V_2_6_25_20 is not set
210.34 -# CT_KERNEL_V_2_6_24_7 is not set
210.35 -# CT_KERNEL_V_2_6_23_17 is not set
210.36 -# CT_KERNEL_V_2_6_22_19 is not set
210.37 -# CT_KERNEL_V_2_6_21_7 is not set
210.38 -# CT_KERNEL_V_2_6_20_21 is not set
210.39 -# CT_KERNEL_V_2_6_19_7 is not set
210.40 -# CT_KERNEL_V_2_6_18_8 is not set
210.41 -# CT_KERNEL_V_select is not set
210.42 +# CT_KERNEL_V_2_6_27_38 is not set
210.43 CT_KERNEL_LINUX_VERBOSITY_0=y
210.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
210.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
210.46 @@ -216,26 +211,13 @@
210.47 #
210.48 # GNU binutils
210.49 #
210.50 -CT_BINUTILS_VERSION="2.19.1"
210.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
210.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
210.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
210.54 +# CT_BINUTILS_V_2_20 is not set
210.55 CT_BINUTILS_V_2_19_1=y
210.56 # CT_BINUTILS_V_2_19 is not set
210.57 -# CT_BINUTILS_V_2_18_93 is not set
210.58 -# CT_BINUTILS_V_2_18_92 is not set
210.59 -# CT_BINUTILS_V_2_18_91 is not set
210.60 -# CT_BINUTILS_V_2_18_90 is not set
210.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
210.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
210.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
210.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
210.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
210.66 # CT_BINUTILS_V_2_18 is not set
210.67 # CT_BINUTILS_V_2_17 is not set
210.68 # CT_BINUTILS_V_2_16_1 is not set
210.69 -# CT_BINUTILS_V_2_15 is not set
210.70 -# CT_BINUTILS_V_2_14 is not set
210.71 +CT_BINUTILS_VERSION="2.19.1"
210.72 CT_BINUTILS_EXTRA_CONFIG=""
210.73 CT_BINUTILS_FOR_TARGET=y
210.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
210.75 @@ -247,6 +229,7 @@
210.76 CT_CC="gcc"
210.77 CT_CC_VERSION="4.4.0"
210.78 CT_CC_gcc=y
210.79 +# CT_CC_V_4_4_2 is not set
210.80 # CT_CC_V_4_4_1 is not set
210.81 CT_CC_V_4_4_0=y
210.82 # CT_CC_V_4_3_4 is not set
210.83 @@ -260,16 +243,8 @@
210.84 # CT_CC_V_4_2_1 is not set
210.85 # CT_CC_V_4_2_0 is not set
210.86 # CT_CC_V_4_1_2 is not set
210.87 -# CT_CC_V_4_1_1 is not set
210.88 -# CT_CC_V_4_1_0 is not set
210.89 # CT_CC_V_4_0_4 is not set
210.90 -# CT_CC_V_4_0_3 is not set
210.91 -# CT_CC_V_4_0_2 is not set
210.92 -# CT_CC_V_4_0_1 is not set
210.93 -# CT_CC_V_4_0_0 is not set
210.94 # CT_CC_V_3_4_6 is not set
210.95 -# CT_CC_V_3_3_6 is not set
210.96 -# CT_CC_V_3_2_3 is not set
210.97 CT_CC_GCC_4_3_or_later=y
210.98 CT_CC_GCC_4_4_or_later=y
210.99 CT_CC_CXA_ATEXIT=y
210.100 @@ -312,9 +287,6 @@
210.101 # CT_LIBC_V_0_9_30 is not set
210.102 # CT_LIBC_V_0_9_29 is not set
210.103 # CT_LIBC_V_0_9_28_3 is not set
210.104 -# CT_LIBC_V_0_9_28_2 is not set
210.105 -# CT_LIBC_V_0_9_28_1 is not set
210.106 -# CT_LIBC_V_0_9_28 is not set
210.107 # CT_LIBC_V_snapshot is not set
210.108 # CT_LIBC_V_specific_date is not set
210.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
210.110 @@ -345,7 +317,6 @@
210.111 #
210.112 CT_DEBUG_dmalloc=y
210.113 CT_DMALLOC_V_5_5_2=y
210.114 -# CT_DMALLOC_V_5_4_3 is not set
210.115 CT_DMALLOC_VERSION="5.5.2"
210.116 CT_DEBUG_duma=y
210.117 CT_DUMA_A=y
210.118 @@ -365,12 +336,8 @@
210.119 CT_GDB_NATIVE_USE_GMP_MPFR=y
210.120 CT_GDB_GDBSERVER=y
210.121 CT_GDB_GDBSERVER_STATIC=y
210.122 +# CT_GDB_V_7_0 is not set
210.123 CT_GDB_V_6_8=y
210.124 -# CT_GDB_V_6_7_1 is not set
210.125 -# CT_GDB_V_6_7 is not set
210.126 -# CT_GDB_V_6_6 is not set
210.127 -# CT_GDB_V_6_5 is not set
210.128 -# CT_GDB_V_6_4 is not set
210.129 # CT_GDB_V_snapshot is not set
210.130 CT_GDB_VERSION="6.8"
210.131
210.132 @@ -381,18 +348,17 @@
210.133 # CT_NCURSES_V_5_6 is not set
210.134 CT_NCURSES_VERSION="5.7"
210.135 CT_DEBUG_ltrace=y
210.136 -# CT_LTRACE_V_0_5_2 is not set
210.137 +CT_LTRACE_V_0_5_2=y
210.138 # CT_LTRACE_V_0_5_1 is not set
210.139 -CT_LTRACE_V_0_5=y
210.140 +# CT_LTRACE_V_0_5 is not set
210.141 # CT_LTRACE_V_0_4 is not set
210.142 -CT_LTRACE_VERSION="0.5"
210.143 +CT_LTRACE_VERSION="0.5.2"
210.144 CT_DEBUG_strace=y
210.145 +# CT_STRACE_V_4_5_19 is not set
210.146 CT_STRACE_V_4_5_18=y
210.147 # CT_STRACE_V_4_5_17 is not set
210.148 # CT_STRACE_V_4_5_16 is not set
210.149 # CT_STRACE_V_4_5_15 is not set
210.150 -# CT_STRACE_V_4_5_14 is not set
210.151 -# CT_STRACE_V_4_5 is not set
210.152 CT_STRACE_VERSION="4.5.18"
210.153
210.154 #
211.1 --- a/samples/armeb-unknown-eabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
211.2 +++ b/samples/armeb-unknown-eabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
211.3 @@ -1,7 +1,7 @@
211.4 #
211.5 # Automatically generated make config: don't edit
211.6 -# crosstool-NG version: hg_default@1525_a2c6b6c74bfb
211.7 -# Wed Sep 9 21:44:54 2009
211.8 +# crosstool-NG version: hg_default@1596_241387704817
211.9 +# Wed Oct 28 19:21:35 2009
211.10 #
211.11
211.12 #
211.13 @@ -180,26 +180,13 @@
211.14 #
211.15 # GNU binutils
211.16 #
211.17 +# CT_BINUTILS_V_2_20 is not set
211.18 +CT_BINUTILS_V_2_19_1=y
211.19 +# CT_BINUTILS_V_2_19 is not set
211.20 +# CT_BINUTILS_V_2_18 is not set
211.21 +# CT_BINUTILS_V_2_17 is not set
211.22 +# CT_BINUTILS_V_2_16_1 is not set
211.23 CT_BINUTILS_VERSION="2.19.1"
211.24 -# CT_BINUTILS_V_2_14 is not set
211.25 -# CT_BINUTILS_V_2_15 is not set
211.26 -# CT_BINUTILS_V_2_16_1 is not set
211.27 -# CT_BINUTILS_V_2_17 is not set
211.28 -# CT_BINUTILS_V_2_18 is not set
211.29 -# CT_BINUTILS_V_2_18_50_0_4 is not set
211.30 -# CT_BINUTILS_V_2_18_50_0_6 is not set
211.31 -# CT_BINUTILS_V_2_18_50_0_7 is not set
211.32 -# CT_BINUTILS_V_2_18_50_0_8 is not set
211.33 -# CT_BINUTILS_V_2_18_50_0_9 is not set
211.34 -# CT_BINUTILS_V_2_18_90 is not set
211.35 -# CT_BINUTILS_V_2_18_91 is not set
211.36 -# CT_BINUTILS_V_2_18_92 is not set
211.37 -# CT_BINUTILS_V_2_18_93 is not set
211.38 -# CT_BINUTILS_V_2_19 is not set
211.39 -CT_BINUTILS_V_2_19_1=y
211.40 -# CT_BINUTILS_V_2_19_50_0_1 is not set
211.41 -# CT_BINUTILS_V_2_19_51_0_1 is not set
211.42 -# CT_BINUTILS_V_2_19_51_0_2 is not set
211.43 CT_BINUTILS_EXTRA_CONFIG=""
211.44
211.45 #
211.46 @@ -208,29 +195,22 @@
211.47 CT_CC="gcc"
211.48 CT_CC_VERSION="4.3.2"
211.49 CT_CC_gcc=y
211.50 -# CT_CC_V_3_2_3 is not set
211.51 -# CT_CC_V_3_3_6 is not set
211.52 +# CT_CC_V_4_4_2 is not set
211.53 +# CT_CC_V_4_4_1 is not set
211.54 +# CT_CC_V_4_4_0 is not set
211.55 +# CT_CC_V_4_3_4 is not set
211.56 +# CT_CC_V_4_3_3 is not set
211.57 +CT_CC_V_4_3_2=y
211.58 +# CT_CC_V_4_3_1 is not set
211.59 +# CT_CC_V_4_3_0 is not set
211.60 +# CT_CC_V_4_2_4 is not set
211.61 +# CT_CC_V_4_2_3 is not set
211.62 +# CT_CC_V_4_2_2 is not set
211.63 +# CT_CC_V_4_2_1 is not set
211.64 +# CT_CC_V_4_2_0 is not set
211.65 +# CT_CC_V_4_1_2 is not set
211.66 +# CT_CC_V_4_0_4 is not set
211.67 # CT_CC_V_3_4_6 is not set
211.68 -# CT_CC_V_4_0_0 is not set
211.69 -# CT_CC_V_4_0_1 is not set
211.70 -# CT_CC_V_4_0_2 is not set
211.71 -# CT_CC_V_4_0_3 is not set
211.72 -# CT_CC_V_4_0_4 is not set
211.73 -# CT_CC_V_4_1_0 is not set
211.74 -# CT_CC_V_4_1_1 is not set
211.75 -# CT_CC_V_4_1_2 is not set
211.76 -# CT_CC_V_4_2_0 is not set
211.77 -# CT_CC_V_4_2_1 is not set
211.78 -# CT_CC_V_4_2_2 is not set
211.79 -# CT_CC_V_4_2_3 is not set
211.80 -# CT_CC_V_4_2_4 is not set
211.81 -# CT_CC_V_4_3_0 is not set
211.82 -# CT_CC_V_4_3_1 is not set
211.83 -CT_CC_V_4_3_2=y
211.84 -# CT_CC_V_4_3_3 is not set
211.85 -# CT_CC_V_4_3_4 is not set
211.86 -# CT_CC_V_4_4_0 is not set
211.87 -# CT_CC_V_4_4_1 is not set
211.88 CT_CC_GCC_4_3_or_later=y
211.89 # CT_CC_GCC_4_4_or_later is not set
211.90 CT_CC_ENABLE_CXX_FLAGS=""
211.91 @@ -284,11 +264,7 @@
211.92 #
211.93 # provide your own gdbserver stub.
211.94 #
211.95 -# CT_GDB_V_6_4 is not set
211.96 -# CT_GDB_V_6_5 is not set
211.97 -# CT_GDB_V_6_6 is not set
211.98 -# CT_GDB_V_6_7 is not set
211.99 -# CT_GDB_V_6_7_1 is not set
211.100 +# CT_GDB_V_7_0 is not set
211.101 CT_GDB_V_6_8=y
211.102 # CT_GDB_V_snapshot is not set
211.103 CT_GDB_VERSION="6.8"
211.104 @@ -306,15 +282,15 @@
211.105 #
211.106 CT_WRAPPER_NEEDED=y
211.107 CT_GMP_MPFR=y
211.108 +CT_GMP_V_4_3_1=y
211.109 +# CT_GMP_V_4_3_0 is not set
211.110 +# CT_GMP_V_4_2_4 is not set
211.111 # CT_GMP_V_4_2_2 is not set
211.112 -CT_GMP_V_4_2_4=y
211.113 -# CT_GMP_V_4_3_0 is not set
211.114 -# CT_GMP_V_4_3_1 is not set
211.115 -CT_GMP_VERSION="4.2.4"
211.116 +CT_GMP_VERSION="4.3.1"
211.117 +CT_MPFR_V_2_4_1=y
211.118 +# CT_MPFR_V_2_4_0 is not set
211.119 +# CT_MPFR_V_2_3_2 is not set
211.120 # CT_MPFR_V_2_3_1 is not set
211.121 -# CT_MPFR_V_2_3_2 is not set
211.122 -# CT_MPFR_V_2_4_0 is not set
211.123 -CT_MPFR_V_2_4_1=y
211.124 CT_MPFR_VERSION="2.4.1"
211.125 # CT_PPL_CLOOG_MPC is not set
211.126
212.1 --- a/samples/armeb-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
212.2 +++ b/samples/armeb-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
212.3 @@ -1,7 +1,7 @@
212.4 #
212.5 # Automatically generated make config: don't edit
212.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
212.7 -# Sun Oct 4 12:46:10 2009
212.8 +# crosstool-NG version: hg_default@1596_241387704817
212.9 +# Wed Oct 28 19:22:02 2009
212.10 #
212.11
212.12 #
212.13 @@ -173,8 +173,13 @@
212.14 CT_KERNEL_linux=y
212.15 CT_KERNEL_LINUX_INSTALL=y
212.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
212.17 +# CT_KERNEL_V_2_6_31_5 is not set
212.18 +# CT_KERNEL_V_2_6_31_4 is not set
212.19 +# CT_KERNEL_V_2_6_31_3 is not set
212.20 +# CT_KERNEL_V_2_6_31_2 is not set
212.21 CT_KERNEL_V_2_6_31_1=y
212.22 # CT_KERNEL_V_2_6_31 is not set
212.23 +# CT_KERNEL_V_3_6_30_9 is not set
212.24 # CT_KERNEL_V_3_6_30_8 is not set
212.25 # CT_KERNEL_V_3_6_30_7 is not set
212.26 # CT_KERNEL_V_2_6_30_6 is not set
212.27 @@ -186,17 +191,7 @@
212.28 # CT_KERNEL_V_2_6_30 is not set
212.29 # CT_KERNEL_V_2_6_29_6 is not set
212.30 # CT_KERNEL_V_2_6_28_10 is not set
212.31 -# CT_KERNEL_V_2_6_27_35 is not set
212.32 -# CT_KERNEL_V_2_6_26_8 is not set
212.33 -# CT_KERNEL_V_2_6_25_20 is not set
212.34 -# CT_KERNEL_V_2_6_24_7 is not set
212.35 -# CT_KERNEL_V_2_6_23_17 is not set
212.36 -# CT_KERNEL_V_2_6_22_19 is not set
212.37 -# CT_KERNEL_V_2_6_21_7 is not set
212.38 -# CT_KERNEL_V_2_6_20_21 is not set
212.39 -# CT_KERNEL_V_2_6_19_7 is not set
212.40 -# CT_KERNEL_V_2_6_18_8 is not set
212.41 -# CT_KERNEL_V_select is not set
212.42 +# CT_KERNEL_V_2_6_27_38 is not set
212.43 CT_KERNEL_LINUX_VERBOSITY_0=y
212.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
212.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
212.46 @@ -217,26 +212,13 @@
212.47 #
212.48 # GNU binutils
212.49 #
212.50 -CT_BINUTILS_VERSION="2.19.1"
212.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
212.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
212.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
212.54 +# CT_BINUTILS_V_2_20 is not set
212.55 CT_BINUTILS_V_2_19_1=y
212.56 # CT_BINUTILS_V_2_19 is not set
212.57 -# CT_BINUTILS_V_2_18_93 is not set
212.58 -# CT_BINUTILS_V_2_18_92 is not set
212.59 -# CT_BINUTILS_V_2_18_91 is not set
212.60 -# CT_BINUTILS_V_2_18_90 is not set
212.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
212.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
212.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
212.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
212.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
212.66 # CT_BINUTILS_V_2_18 is not set
212.67 # CT_BINUTILS_V_2_17 is not set
212.68 # CT_BINUTILS_V_2_16_1 is not set
212.69 -# CT_BINUTILS_V_2_15 is not set
212.70 -# CT_BINUTILS_V_2_14 is not set
212.71 +CT_BINUTILS_VERSION="2.19.1"
212.72 CT_BINUTILS_EXTRA_CONFIG=""
212.73 CT_BINUTILS_FOR_TARGET=y
212.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
212.75 @@ -248,6 +230,7 @@
212.76 CT_CC="gcc"
212.77 CT_CC_VERSION="4.3.2"
212.78 CT_CC_gcc=y
212.79 +# CT_CC_V_4_4_2 is not set
212.80 # CT_CC_V_4_4_1 is not set
212.81 # CT_CC_V_4_4_0 is not set
212.82 # CT_CC_V_4_3_4 is not set
212.83 @@ -261,16 +244,8 @@
212.84 # CT_CC_V_4_2_1 is not set
212.85 # CT_CC_V_4_2_0 is not set
212.86 # CT_CC_V_4_1_2 is not set
212.87 -# CT_CC_V_4_1_1 is not set
212.88 -# CT_CC_V_4_1_0 is not set
212.89 # CT_CC_V_4_0_4 is not set
212.90 -# CT_CC_V_4_0_3 is not set
212.91 -# CT_CC_V_4_0_2 is not set
212.92 -# CT_CC_V_4_0_1 is not set
212.93 -# CT_CC_V_4_0_0 is not set
212.94 # CT_CC_V_3_4_6 is not set
212.95 -# CT_CC_V_3_3_6 is not set
212.96 -# CT_CC_V_3_2_3 is not set
212.97 CT_CC_GCC_4_3_or_later=y
212.98 # CT_CC_GCC_4_4_or_later is not set
212.99 CT_CC_CXA_ATEXIT=y
212.100 @@ -360,17 +335,16 @@
212.101 #
212.102 CT_DEBUG_dmalloc=y
212.103 CT_DMALLOC_V_5_5_2=y
212.104 -# CT_DMALLOC_V_5_4_3 is not set
212.105 CT_DMALLOC_VERSION="5.5.2"
212.106 CT_DEBUG_duma=y
212.107 CT_DUMA_A=y
212.108 CT_DUMA_SO=y
212.109 -# CT_DUMA_V_2_5_15 is not set
212.110 -CT_DUMA_V_2_5_14=y
212.111 +CT_DUMA_V_2_5_15=y
212.112 +# CT_DUMA_V_2_5_14 is not set
212.113 # CT_DUMA_V_2_5_12 is not set
212.114 # CT_DUMA_V_2_5_8 is not set
212.115 # CT_DUMA_V_2_5_1 is not set
212.116 -CT_DUMA_VERSION="2_5_14"
212.117 +CT_DUMA_VERSION="2_5_15"
212.118 CT_DEBUG_gdb=y
212.119 CT_GDB_CROSS=y
212.120 # CT_GDB_CROSS_STATIC is not set
212.121 @@ -379,12 +353,8 @@
212.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
212.123 CT_GDB_GDBSERVER=y
212.124 CT_GDB_GDBSERVER_STATIC=y
212.125 +# CT_GDB_V_7_0 is not set
212.126 CT_GDB_V_6_8=y
212.127 -# CT_GDB_V_6_7_1 is not set
212.128 -# CT_GDB_V_6_7 is not set
212.129 -# CT_GDB_V_6_6 is not set
212.130 -# CT_GDB_V_6_5 is not set
212.131 -# CT_GDB_V_6_4 is not set
212.132 # CT_GDB_V_snapshot is not set
212.133 CT_GDB_VERSION="6.8"
212.134
212.135 @@ -395,19 +365,18 @@
212.136 # CT_NCURSES_V_5_6 is not set
212.137 CT_NCURSES_VERSION="5.7"
212.138 CT_DEBUG_ltrace=y
212.139 -# CT_LTRACE_V_0_5_2 is not set
212.140 +CT_LTRACE_V_0_5_2=y
212.141 # CT_LTRACE_V_0_5_1 is not set
212.142 -CT_LTRACE_V_0_5=y
212.143 +# CT_LTRACE_V_0_5 is not set
212.144 # CT_LTRACE_V_0_4 is not set
212.145 -CT_LTRACE_VERSION="0.5"
212.146 +CT_LTRACE_VERSION="0.5.2"
212.147 CT_DEBUG_strace=y
212.148 -# CT_STRACE_V_4_5_18 is not set
212.149 -CT_STRACE_V_4_5_17=y
212.150 +# CT_STRACE_V_4_5_19 is not set
212.151 +CT_STRACE_V_4_5_18=y
212.152 +# CT_STRACE_V_4_5_17 is not set
212.153 # CT_STRACE_V_4_5_16 is not set
212.154 # CT_STRACE_V_4_5_15 is not set
212.155 -# CT_STRACE_V_4_5_14 is not set
212.156 -# CT_STRACE_V_4_5 is not set
212.157 -CT_STRACE_VERSION="4.5.17"
212.158 +CT_STRACE_VERSION="4.5.18"
212.159
212.160 #
212.161 # Tools facilities
212.162 @@ -427,11 +396,11 @@
212.163 #
212.164 CT_WRAPPER_NEEDED=y
212.165 CT_GMP_MPFR=y
212.166 -# CT_GMP_V_4_3_1 is not set
212.167 +CT_GMP_V_4_3_1=y
212.168 # CT_GMP_V_4_3_0 is not set
212.169 -CT_GMP_V_4_2_4=y
212.170 +# CT_GMP_V_4_2_4 is not set
212.171 # CT_GMP_V_4_2_2 is not set
212.172 -CT_GMP_VERSION="4.2.4"
212.173 +CT_GMP_VERSION="4.3.1"
212.174 CT_MPFR_V_2_4_1=y
212.175 # CT_MPFR_V_2_4_0 is not set
212.176 # CT_MPFR_V_2_3_2 is not set
213.1 --- a/samples/armeb-unknown-linux-gnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
213.2 +++ b/samples/armeb-unknown-linux-gnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
213.3 @@ -1,7 +1,7 @@
213.4 #
213.5 # Automatically generated make config: don't edit
213.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
213.7 -# Sun Oct 4 12:46:19 2009
213.8 +# crosstool-NG version: hg_default@1596_241387704817
213.9 +# Wed Oct 28 19:22:15 2009
213.10 #
213.11
213.12 #
213.13 @@ -171,8 +171,13 @@
213.14 CT_KERNEL_linux=y
213.15 CT_KERNEL_LINUX_INSTALL=y
213.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
213.17 +# CT_KERNEL_V_2_6_31_5 is not set
213.18 +# CT_KERNEL_V_2_6_31_4 is not set
213.19 +# CT_KERNEL_V_2_6_31_3 is not set
213.20 +# CT_KERNEL_V_2_6_31_2 is not set
213.21 CT_KERNEL_V_2_6_31_1=y
213.22 # CT_KERNEL_V_2_6_31 is not set
213.23 +# CT_KERNEL_V_3_6_30_9 is not set
213.24 # CT_KERNEL_V_3_6_30_8 is not set
213.25 # CT_KERNEL_V_3_6_30_7 is not set
213.26 # CT_KERNEL_V_2_6_30_6 is not set
213.27 @@ -184,17 +189,7 @@
213.28 # CT_KERNEL_V_2_6_30 is not set
213.29 # CT_KERNEL_V_2_6_29_6 is not set
213.30 # CT_KERNEL_V_2_6_28_10 is not set
213.31 -# CT_KERNEL_V_2_6_27_35 is not set
213.32 -# CT_KERNEL_V_2_6_26_8 is not set
213.33 -# CT_KERNEL_V_2_6_25_20 is not set
213.34 -# CT_KERNEL_V_2_6_24_7 is not set
213.35 -# CT_KERNEL_V_2_6_23_17 is not set
213.36 -# CT_KERNEL_V_2_6_22_19 is not set
213.37 -# CT_KERNEL_V_2_6_21_7 is not set
213.38 -# CT_KERNEL_V_2_6_20_21 is not set
213.39 -# CT_KERNEL_V_2_6_19_7 is not set
213.40 -# CT_KERNEL_V_2_6_18_8 is not set
213.41 -# CT_KERNEL_V_select is not set
213.42 +# CT_KERNEL_V_2_6_27_38 is not set
213.43 CT_KERNEL_LINUX_VERBOSITY_0=y
213.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
213.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
213.46 @@ -215,26 +210,13 @@
213.47 #
213.48 # GNU binutils
213.49 #
213.50 -CT_BINUTILS_VERSION="2.19.1"
213.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
213.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
213.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
213.54 +# CT_BINUTILS_V_2_20 is not set
213.55 CT_BINUTILS_V_2_19_1=y
213.56 # CT_BINUTILS_V_2_19 is not set
213.57 -# CT_BINUTILS_V_2_18_93 is not set
213.58 -# CT_BINUTILS_V_2_18_92 is not set
213.59 -# CT_BINUTILS_V_2_18_91 is not set
213.60 -# CT_BINUTILS_V_2_18_90 is not set
213.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
213.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
213.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
213.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
213.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
213.66 # CT_BINUTILS_V_2_18 is not set
213.67 # CT_BINUTILS_V_2_17 is not set
213.68 # CT_BINUTILS_V_2_16_1 is not set
213.69 -# CT_BINUTILS_V_2_15 is not set
213.70 -# CT_BINUTILS_V_2_14 is not set
213.71 +CT_BINUTILS_VERSION="2.19.1"
213.72 CT_BINUTILS_EXTRA_CONFIG=""
213.73 CT_BINUTILS_FOR_TARGET=y
213.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
213.75 @@ -246,6 +228,7 @@
213.76 CT_CC="gcc"
213.77 CT_CC_VERSION="4.3.2"
213.78 CT_CC_gcc=y
213.79 +# CT_CC_V_4_4_2 is not set
213.80 # CT_CC_V_4_4_1 is not set
213.81 # CT_CC_V_4_4_0 is not set
213.82 # CT_CC_V_4_3_4 is not set
213.83 @@ -259,16 +242,8 @@
213.84 # CT_CC_V_4_2_1 is not set
213.85 # CT_CC_V_4_2_0 is not set
213.86 # CT_CC_V_4_1_2 is not set
213.87 -# CT_CC_V_4_1_1 is not set
213.88 -# CT_CC_V_4_1_0 is not set
213.89 # CT_CC_V_4_0_4 is not set
213.90 -# CT_CC_V_4_0_3 is not set
213.91 -# CT_CC_V_4_0_2 is not set
213.92 -# CT_CC_V_4_0_1 is not set
213.93 -# CT_CC_V_4_0_0 is not set
213.94 # CT_CC_V_3_4_6 is not set
213.95 -# CT_CC_V_3_3_6 is not set
213.96 -# CT_CC_V_3_2_3 is not set
213.97 CT_CC_GCC_4_3_or_later=y
213.98 # CT_CC_GCC_4_4_or_later is not set
213.99 CT_CC_CXA_ATEXIT=y
213.100 @@ -358,17 +333,16 @@
213.101 #
213.102 CT_DEBUG_dmalloc=y
213.103 CT_DMALLOC_V_5_5_2=y
213.104 -# CT_DMALLOC_V_5_4_3 is not set
213.105 CT_DMALLOC_VERSION="5.5.2"
213.106 CT_DEBUG_duma=y
213.107 CT_DUMA_A=y
213.108 CT_DUMA_SO=y
213.109 -# CT_DUMA_V_2_5_15 is not set
213.110 -CT_DUMA_V_2_5_14=y
213.111 +CT_DUMA_V_2_5_15=y
213.112 +# CT_DUMA_V_2_5_14 is not set
213.113 # CT_DUMA_V_2_5_12 is not set
213.114 # CT_DUMA_V_2_5_8 is not set
213.115 # CT_DUMA_V_2_5_1 is not set
213.116 -CT_DUMA_VERSION="2_5_14"
213.117 +CT_DUMA_VERSION="2_5_15"
213.118 CT_DEBUG_gdb=y
213.119 CT_GDB_CROSS=y
213.120 # CT_GDB_CROSS_STATIC is not set
213.121 @@ -377,12 +351,8 @@
213.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
213.123 CT_GDB_GDBSERVER=y
213.124 CT_GDB_GDBSERVER_STATIC=y
213.125 +# CT_GDB_V_7_0 is not set
213.126 CT_GDB_V_6_8=y
213.127 -# CT_GDB_V_6_7_1 is not set
213.128 -# CT_GDB_V_6_7 is not set
213.129 -# CT_GDB_V_6_6 is not set
213.130 -# CT_GDB_V_6_5 is not set
213.131 -# CT_GDB_V_6_4 is not set
213.132 # CT_GDB_V_snapshot is not set
213.133 CT_GDB_VERSION="6.8"
213.134
213.135 @@ -393,19 +363,18 @@
213.136 # CT_NCURSES_V_5_6 is not set
213.137 CT_NCURSES_VERSION="5.7"
213.138 CT_DEBUG_ltrace=y
213.139 -# CT_LTRACE_V_0_5_2 is not set
213.140 +CT_LTRACE_V_0_5_2=y
213.141 # CT_LTRACE_V_0_5_1 is not set
213.142 -CT_LTRACE_V_0_5=y
213.143 +# CT_LTRACE_V_0_5 is not set
213.144 # CT_LTRACE_V_0_4 is not set
213.145 -CT_LTRACE_VERSION="0.5"
213.146 +CT_LTRACE_VERSION="0.5.2"
213.147 CT_DEBUG_strace=y
213.148 -# CT_STRACE_V_4_5_18 is not set
213.149 -CT_STRACE_V_4_5_17=y
213.150 +# CT_STRACE_V_4_5_19 is not set
213.151 +CT_STRACE_V_4_5_18=y
213.152 +# CT_STRACE_V_4_5_17 is not set
213.153 # CT_STRACE_V_4_5_16 is not set
213.154 # CT_STRACE_V_4_5_15 is not set
213.155 -# CT_STRACE_V_4_5_14 is not set
213.156 -# CT_STRACE_V_4_5 is not set
213.157 -CT_STRACE_VERSION="4.5.17"
213.158 +CT_STRACE_VERSION="4.5.18"
213.159
213.160 #
213.161 # Tools facilities
213.162 @@ -425,11 +394,11 @@
213.163 #
213.164 CT_WRAPPER_NEEDED=y
213.165 CT_GMP_MPFR=y
213.166 -# CT_GMP_V_4_3_1 is not set
213.167 +CT_GMP_V_4_3_1=y
213.168 # CT_GMP_V_4_3_0 is not set
213.169 -CT_GMP_V_4_2_4=y
213.170 +# CT_GMP_V_4_2_4 is not set
213.171 # CT_GMP_V_4_2_2 is not set
213.172 -CT_GMP_VERSION="4.2.4"
213.173 +CT_GMP_VERSION="4.3.1"
213.174 CT_MPFR_V_2_4_1=y
213.175 # CT_MPFR_V_2_4_0 is not set
213.176 # CT_MPFR_V_2_3_2 is not set
214.1 --- a/samples/armeb-unknown-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
214.2 +++ b/samples/armeb-unknown-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
214.3 @@ -1,7 +1,7 @@
214.4 #
214.5 # Automatically generated make config: don't edit
214.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
214.7 -# Sun Oct 4 12:46:31 2009
214.8 +# crosstool-NG version: hg_default@1596_241387704817
214.9 +# Wed Oct 28 19:22:32 2009
214.10 #
214.11
214.12 #
214.13 @@ -173,8 +173,13 @@
214.14 CT_KERNEL_linux=y
214.15 CT_KERNEL_LINUX_INSTALL=y
214.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
214.17 +# CT_KERNEL_V_2_6_31_5 is not set
214.18 +# CT_KERNEL_V_2_6_31_4 is not set
214.19 +# CT_KERNEL_V_2_6_31_3 is not set
214.20 +# CT_KERNEL_V_2_6_31_2 is not set
214.21 CT_KERNEL_V_2_6_31_1=y
214.22 # CT_KERNEL_V_2_6_31 is not set
214.23 +# CT_KERNEL_V_3_6_30_9 is not set
214.24 # CT_KERNEL_V_3_6_30_8 is not set
214.25 # CT_KERNEL_V_3_6_30_7 is not set
214.26 # CT_KERNEL_V_2_6_30_6 is not set
214.27 @@ -186,17 +191,7 @@
214.28 # CT_KERNEL_V_2_6_30 is not set
214.29 # CT_KERNEL_V_2_6_29_6 is not set
214.30 # CT_KERNEL_V_2_6_28_10 is not set
214.31 -# CT_KERNEL_V_2_6_27_35 is not set
214.32 -# CT_KERNEL_V_2_6_26_8 is not set
214.33 -# CT_KERNEL_V_2_6_25_20 is not set
214.34 -# CT_KERNEL_V_2_6_24_7 is not set
214.35 -# CT_KERNEL_V_2_6_23_17 is not set
214.36 -# CT_KERNEL_V_2_6_22_19 is not set
214.37 -# CT_KERNEL_V_2_6_21_7 is not set
214.38 -# CT_KERNEL_V_2_6_20_21 is not set
214.39 -# CT_KERNEL_V_2_6_19_7 is not set
214.40 -# CT_KERNEL_V_2_6_18_8 is not set
214.41 -# CT_KERNEL_V_select is not set
214.42 +# CT_KERNEL_V_2_6_27_38 is not set
214.43 CT_KERNEL_LINUX_VERBOSITY_0=y
214.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
214.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
214.46 @@ -217,26 +212,13 @@
214.47 #
214.48 # GNU binutils
214.49 #
214.50 -CT_BINUTILS_VERSION="2.19.1"
214.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
214.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
214.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
214.54 +# CT_BINUTILS_V_2_20 is not set
214.55 CT_BINUTILS_V_2_19_1=y
214.56 # CT_BINUTILS_V_2_19 is not set
214.57 -# CT_BINUTILS_V_2_18_93 is not set
214.58 -# CT_BINUTILS_V_2_18_92 is not set
214.59 -# CT_BINUTILS_V_2_18_91 is not set
214.60 -# CT_BINUTILS_V_2_18_90 is not set
214.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
214.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
214.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
214.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
214.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
214.66 # CT_BINUTILS_V_2_18 is not set
214.67 # CT_BINUTILS_V_2_17 is not set
214.68 # CT_BINUTILS_V_2_16_1 is not set
214.69 -# CT_BINUTILS_V_2_15 is not set
214.70 -# CT_BINUTILS_V_2_14 is not set
214.71 +CT_BINUTILS_VERSION="2.19.1"
214.72 CT_BINUTILS_EXTRA_CONFIG=""
214.73 CT_BINUTILS_FOR_TARGET=y
214.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
214.75 @@ -248,6 +230,7 @@
214.76 CT_CC="gcc"
214.77 CT_CC_VERSION="4.3.2"
214.78 CT_CC_gcc=y
214.79 +# CT_CC_V_4_4_2 is not set
214.80 # CT_CC_V_4_4_1 is not set
214.81 # CT_CC_V_4_4_0 is not set
214.82 # CT_CC_V_4_3_4 is not set
214.83 @@ -261,16 +244,8 @@
214.84 # CT_CC_V_4_2_1 is not set
214.85 # CT_CC_V_4_2_0 is not set
214.86 # CT_CC_V_4_1_2 is not set
214.87 -# CT_CC_V_4_1_1 is not set
214.88 -# CT_CC_V_4_1_0 is not set
214.89 # CT_CC_V_4_0_4 is not set
214.90 -# CT_CC_V_4_0_3 is not set
214.91 -# CT_CC_V_4_0_2 is not set
214.92 -# CT_CC_V_4_0_1 is not set
214.93 -# CT_CC_V_4_0_0 is not set
214.94 # CT_CC_V_3_4_6 is not set
214.95 -# CT_CC_V_3_3_6 is not set
214.96 -# CT_CC_V_3_2_3 is not set
214.97 CT_CC_GCC_4_3_or_later=y
214.98 # CT_CC_GCC_4_4_or_later is not set
214.99 CT_CC_CXA_ATEXIT=y
214.100 @@ -309,9 +284,6 @@
214.101 # CT_LIBC_V_0_9_30 is not set
214.102 # CT_LIBC_V_0_9_29 is not set
214.103 # CT_LIBC_V_0_9_28_3 is not set
214.104 -# CT_LIBC_V_0_9_28_2 is not set
214.105 -# CT_LIBC_V_0_9_28_1 is not set
214.106 -# CT_LIBC_V_0_9_28 is not set
214.107 # CT_LIBC_V_snapshot is not set
214.108 # CT_LIBC_V_specific_date is not set
214.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
214.110 @@ -342,17 +314,16 @@
214.111 #
214.112 CT_DEBUG_dmalloc=y
214.113 CT_DMALLOC_V_5_5_2=y
214.114 -# CT_DMALLOC_V_5_4_3 is not set
214.115 CT_DMALLOC_VERSION="5.5.2"
214.116 CT_DEBUG_duma=y
214.117 CT_DUMA_A=y
214.118 CT_DUMA_SO=y
214.119 -# CT_DUMA_V_2_5_15 is not set
214.120 -CT_DUMA_V_2_5_14=y
214.121 +CT_DUMA_V_2_5_15=y
214.122 +# CT_DUMA_V_2_5_14 is not set
214.123 # CT_DUMA_V_2_5_12 is not set
214.124 # CT_DUMA_V_2_5_8 is not set
214.125 # CT_DUMA_V_2_5_1 is not set
214.126 -CT_DUMA_VERSION="2_5_14"
214.127 +CT_DUMA_VERSION="2_5_15"
214.128 CT_DEBUG_gdb=y
214.129 CT_GDB_CROSS=y
214.130 # CT_GDB_CROSS_STATIC is not set
214.131 @@ -361,12 +332,8 @@
214.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
214.133 CT_GDB_GDBSERVER=y
214.134 CT_GDB_GDBSERVER_STATIC=y
214.135 +# CT_GDB_V_7_0 is not set
214.136 CT_GDB_V_6_8=y
214.137 -# CT_GDB_V_6_7_1 is not set
214.138 -# CT_GDB_V_6_7 is not set
214.139 -# CT_GDB_V_6_6 is not set
214.140 -# CT_GDB_V_6_5 is not set
214.141 -# CT_GDB_V_6_4 is not set
214.142 # CT_GDB_V_snapshot is not set
214.143 CT_GDB_VERSION="6.8"
214.144
214.145 @@ -377,19 +344,18 @@
214.146 # CT_NCURSES_V_5_6 is not set
214.147 CT_NCURSES_VERSION="5.7"
214.148 CT_DEBUG_ltrace=y
214.149 -# CT_LTRACE_V_0_5_2 is not set
214.150 +CT_LTRACE_V_0_5_2=y
214.151 # CT_LTRACE_V_0_5_1 is not set
214.152 -CT_LTRACE_V_0_5=y
214.153 +# CT_LTRACE_V_0_5 is not set
214.154 # CT_LTRACE_V_0_4 is not set
214.155 -CT_LTRACE_VERSION="0.5"
214.156 +CT_LTRACE_VERSION="0.5.2"
214.157 CT_DEBUG_strace=y
214.158 -# CT_STRACE_V_4_5_18 is not set
214.159 -CT_STRACE_V_4_5_17=y
214.160 +# CT_STRACE_V_4_5_19 is not set
214.161 +CT_STRACE_V_4_5_18=y
214.162 +# CT_STRACE_V_4_5_17 is not set
214.163 # CT_STRACE_V_4_5_16 is not set
214.164 # CT_STRACE_V_4_5_15 is not set
214.165 -# CT_STRACE_V_4_5_14 is not set
214.166 -# CT_STRACE_V_4_5 is not set
214.167 -CT_STRACE_VERSION="4.5.17"
214.168 +CT_STRACE_VERSION="4.5.18"
214.169
214.170 #
214.171 # Tools facilities
214.172 @@ -409,11 +375,11 @@
214.173 #
214.174 CT_WRAPPER_NEEDED=y
214.175 CT_GMP_MPFR=y
214.176 -# CT_GMP_V_4_3_1 is not set
214.177 +CT_GMP_V_4_3_1=y
214.178 # CT_GMP_V_4_3_0 is not set
214.179 -CT_GMP_V_4_2_4=y
214.180 +# CT_GMP_V_4_2_4 is not set
214.181 # CT_GMP_V_4_2_2 is not set
214.182 -CT_GMP_VERSION="4.2.4"
214.183 +CT_GMP_VERSION="4.3.1"
214.184 CT_MPFR_V_2_4_1=y
214.185 # CT_MPFR_V_2_4_0 is not set
214.186 # CT_MPFR_V_2_3_2 is not set
215.1 --- a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Wed Oct 28 12:03:38 2009 +0100
215.2 +++ b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Thu Oct 29 00:10:06 2009 +0100
215.3 @@ -1,7 +1,7 @@
215.4 #
215.5 # Automatically generated make config: don't edit
215.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
215.7 -# Sun Oct 4 12:46:38 2009
215.8 +# crosstool-NG version: hg_default@1596_241387704817
215.9 +# Wed Oct 28 19:22:45 2009
215.10 #
215.11
215.12 #
215.13 @@ -171,8 +171,13 @@
215.14 CT_KERNEL_linux=y
215.15 CT_KERNEL_LINUX_INSTALL=y
215.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
215.17 +# CT_KERNEL_V_2_6_31_5 is not set
215.18 +# CT_KERNEL_V_2_6_31_4 is not set
215.19 +# CT_KERNEL_V_2_6_31_3 is not set
215.20 +# CT_KERNEL_V_2_6_31_2 is not set
215.21 CT_KERNEL_V_2_6_31_1=y
215.22 # CT_KERNEL_V_2_6_31 is not set
215.23 +# CT_KERNEL_V_3_6_30_9 is not set
215.24 # CT_KERNEL_V_3_6_30_8 is not set
215.25 # CT_KERNEL_V_3_6_30_7 is not set
215.26 # CT_KERNEL_V_2_6_30_6 is not set
215.27 @@ -184,17 +189,7 @@
215.28 # CT_KERNEL_V_2_6_30 is not set
215.29 # CT_KERNEL_V_2_6_29_6 is not set
215.30 # CT_KERNEL_V_2_6_28_10 is not set
215.31 -# CT_KERNEL_V_2_6_27_35 is not set
215.32 -# CT_KERNEL_V_2_6_26_8 is not set
215.33 -# CT_KERNEL_V_2_6_25_20 is not set
215.34 -# CT_KERNEL_V_2_6_24_7 is not set
215.35 -# CT_KERNEL_V_2_6_23_17 is not set
215.36 -# CT_KERNEL_V_2_6_22_19 is not set
215.37 -# CT_KERNEL_V_2_6_21_7 is not set
215.38 -# CT_KERNEL_V_2_6_20_21 is not set
215.39 -# CT_KERNEL_V_2_6_19_7 is not set
215.40 -# CT_KERNEL_V_2_6_18_8 is not set
215.41 -# CT_KERNEL_V_select is not set
215.42 +# CT_KERNEL_V_2_6_27_38 is not set
215.43 CT_KERNEL_LINUX_VERBOSITY_0=y
215.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
215.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
215.46 @@ -215,26 +210,13 @@
215.47 #
215.48 # GNU binutils
215.49 #
215.50 -CT_BINUTILS_VERSION="2.19.1"
215.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
215.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
215.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
215.54 +# CT_BINUTILS_V_2_20 is not set
215.55 CT_BINUTILS_V_2_19_1=y
215.56 # CT_BINUTILS_V_2_19 is not set
215.57 -# CT_BINUTILS_V_2_18_93 is not set
215.58 -# CT_BINUTILS_V_2_18_92 is not set
215.59 -# CT_BINUTILS_V_2_18_91 is not set
215.60 -# CT_BINUTILS_V_2_18_90 is not set
215.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
215.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
215.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
215.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
215.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
215.66 # CT_BINUTILS_V_2_18 is not set
215.67 # CT_BINUTILS_V_2_17 is not set
215.68 # CT_BINUTILS_V_2_16_1 is not set
215.69 -# CT_BINUTILS_V_2_15 is not set
215.70 -# CT_BINUTILS_V_2_14 is not set
215.71 +CT_BINUTILS_VERSION="2.19.1"
215.72 CT_BINUTILS_EXTRA_CONFIG=""
215.73 CT_BINUTILS_FOR_TARGET=y
215.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
215.75 @@ -246,6 +228,7 @@
215.76 CT_CC="gcc"
215.77 CT_CC_VERSION="4.3.2"
215.78 CT_CC_gcc=y
215.79 +# CT_CC_V_4_4_2 is not set
215.80 # CT_CC_V_4_4_1 is not set
215.81 # CT_CC_V_4_4_0 is not set
215.82 # CT_CC_V_4_3_4 is not set
215.83 @@ -259,16 +242,8 @@
215.84 # CT_CC_V_4_2_1 is not set
215.85 # CT_CC_V_4_2_0 is not set
215.86 # CT_CC_V_4_1_2 is not set
215.87 -# CT_CC_V_4_1_1 is not set
215.88 -# CT_CC_V_4_1_0 is not set
215.89 # CT_CC_V_4_0_4 is not set
215.90 -# CT_CC_V_4_0_3 is not set
215.91 -# CT_CC_V_4_0_2 is not set
215.92 -# CT_CC_V_4_0_1 is not set
215.93 -# CT_CC_V_4_0_0 is not set
215.94 # CT_CC_V_3_4_6 is not set
215.95 -# CT_CC_V_3_3_6 is not set
215.96 -# CT_CC_V_3_2_3 is not set
215.97 CT_CC_GCC_4_3_or_later=y
215.98 # CT_CC_GCC_4_4_or_later is not set
215.99 CT_CC_CXA_ATEXIT=y
215.100 @@ -308,9 +283,6 @@
215.101 # CT_LIBC_V_0_9_30 is not set
215.102 # CT_LIBC_V_0_9_29 is not set
215.103 # CT_LIBC_V_0_9_28_3 is not set
215.104 -# CT_LIBC_V_0_9_28_2 is not set
215.105 -# CT_LIBC_V_0_9_28_1 is not set
215.106 -# CT_LIBC_V_0_9_28 is not set
215.107 # CT_LIBC_V_snapshot is not set
215.108 # CT_LIBC_V_specific_date is not set
215.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
215.110 @@ -341,17 +313,16 @@
215.111 #
215.112 CT_DEBUG_dmalloc=y
215.113 CT_DMALLOC_V_5_5_2=y
215.114 -# CT_DMALLOC_V_5_4_3 is not set
215.115 CT_DMALLOC_VERSION="5.5.2"
215.116 CT_DEBUG_duma=y
215.117 CT_DUMA_A=y
215.118 CT_DUMA_SO=y
215.119 -# CT_DUMA_V_2_5_15 is not set
215.120 -CT_DUMA_V_2_5_14=y
215.121 +CT_DUMA_V_2_5_15=y
215.122 +# CT_DUMA_V_2_5_14 is not set
215.123 # CT_DUMA_V_2_5_12 is not set
215.124 # CT_DUMA_V_2_5_8 is not set
215.125 # CT_DUMA_V_2_5_1 is not set
215.126 -CT_DUMA_VERSION="2_5_14"
215.127 +CT_DUMA_VERSION="2_5_15"
215.128 CT_DEBUG_gdb=y
215.129 CT_GDB_CROSS=y
215.130 # CT_GDB_CROSS_STATIC is not set
215.131 @@ -360,12 +331,8 @@
215.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
215.133 CT_GDB_GDBSERVER=y
215.134 CT_GDB_GDBSERVER_STATIC=y
215.135 +# CT_GDB_V_7_0 is not set
215.136 CT_GDB_V_6_8=y
215.137 -# CT_GDB_V_6_7_1 is not set
215.138 -# CT_GDB_V_6_7 is not set
215.139 -# CT_GDB_V_6_6 is not set
215.140 -# CT_GDB_V_6_5 is not set
215.141 -# CT_GDB_V_6_4 is not set
215.142 # CT_GDB_V_snapshot is not set
215.143 CT_GDB_VERSION="6.8"
215.144
215.145 @@ -376,19 +343,18 @@
215.146 # CT_NCURSES_V_5_6 is not set
215.147 CT_NCURSES_VERSION="5.7"
215.148 CT_DEBUG_ltrace=y
215.149 -# CT_LTRACE_V_0_5_2 is not set
215.150 +CT_LTRACE_V_0_5_2=y
215.151 # CT_LTRACE_V_0_5_1 is not set
215.152 -CT_LTRACE_V_0_5=y
215.153 +# CT_LTRACE_V_0_5 is not set
215.154 # CT_LTRACE_V_0_4 is not set
215.155 -CT_LTRACE_VERSION="0.5"
215.156 +CT_LTRACE_VERSION="0.5.2"
215.157 CT_DEBUG_strace=y
215.158 -# CT_STRACE_V_4_5_18 is not set
215.159 -CT_STRACE_V_4_5_17=y
215.160 +# CT_STRACE_V_4_5_19 is not set
215.161 +CT_STRACE_V_4_5_18=y
215.162 +# CT_STRACE_V_4_5_17 is not set
215.163 # CT_STRACE_V_4_5_16 is not set
215.164 # CT_STRACE_V_4_5_15 is not set
215.165 -# CT_STRACE_V_4_5_14 is not set
215.166 -# CT_STRACE_V_4_5 is not set
215.167 -CT_STRACE_VERSION="4.5.17"
215.168 +CT_STRACE_VERSION="4.5.18"
215.169
215.170 #
215.171 # Tools facilities
215.172 @@ -408,11 +374,11 @@
215.173 #
215.174 CT_WRAPPER_NEEDED=y
215.175 CT_GMP_MPFR=y
215.176 -# CT_GMP_V_4_3_1 is not set
215.177 +CT_GMP_V_4_3_1=y
215.178 # CT_GMP_V_4_3_0 is not set
215.179 -CT_GMP_V_4_2_4=y
215.180 +# CT_GMP_V_4_2_4 is not set
215.181 # CT_GMP_V_4_2_2 is not set
215.182 -CT_GMP_VERSION="4.2.4"
215.183 +CT_GMP_VERSION="4.3.1"
215.184 CT_MPFR_V_2_4_1=y
215.185 # CT_MPFR_V_2_4_0 is not set
215.186 # CT_MPFR_V_2_3_2 is not set
216.1 --- a/samples/avr32-unknown-none/crosstool.config Wed Oct 28 12:03:38 2009 +0100
216.2 +++ b/samples/avr32-unknown-none/crosstool.config Thu Oct 29 00:10:06 2009 +0100
216.3 @@ -1,7 +1,7 @@
216.4 #
216.5 # Automatically generated make config: don't edit
216.6 -# crosstool-NG version: hg_default@1563_8d386988dcb1
216.7 -# Thu Oct 8 23:23:29 2009
216.8 +# crosstool-NG version: hg_default@1596_241387704817
216.9 +# Wed Oct 28 19:23:07 2009
216.10 #
216.11
216.12 #
216.13 @@ -177,26 +177,13 @@
216.14 #
216.15 # GNU binutils
216.16 #
216.17 -CT_BINUTILS_VERSION="2.18"
216.18 -# CT_BINUTILS_V_2_19_51_0_2 is not set
216.19 -# CT_BINUTILS_V_2_19_51_0_1 is not set
216.20 -# CT_BINUTILS_V_2_19_50_0_1 is not set
216.21 +# CT_BINUTILS_V_2_20 is not set
216.22 # CT_BINUTILS_V_2_19_1 is not set
216.23 # CT_BINUTILS_V_2_19 is not set
216.24 -# CT_BINUTILS_V_2_18_93 is not set
216.25 -# CT_BINUTILS_V_2_18_92 is not set
216.26 -# CT_BINUTILS_V_2_18_91 is not set
216.27 -# CT_BINUTILS_V_2_18_90 is not set
216.28 -# CT_BINUTILS_V_2_18_50_0_9 is not set
216.29 -# CT_BINUTILS_V_2_18_50_0_8 is not set
216.30 -# CT_BINUTILS_V_2_18_50_0_7 is not set
216.31 -# CT_BINUTILS_V_2_18_50_0_6 is not set
216.32 -# CT_BINUTILS_V_2_18_50_0_4 is not set
216.33 CT_BINUTILS_V_2_18=y
216.34 # CT_BINUTILS_V_2_17 is not set
216.35 # CT_BINUTILS_V_2_16_1 is not set
216.36 -# CT_BINUTILS_V_2_15 is not set
216.37 -# CT_BINUTILS_V_2_14 is not set
216.38 +CT_BINUTILS_VERSION="2.18"
216.39 CT_BINUTILS_EXTRA_CONFIG=""
216.40
216.41 #
216.42 @@ -205,6 +192,7 @@
216.43 CT_CC="gcc"
216.44 CT_CC_VERSION="4.2.2"
216.45 CT_CC_gcc=y
216.46 +# CT_CC_V_4_4_2 is not set
216.47 # CT_CC_V_4_4_1 is not set
216.48 # CT_CC_V_4_4_0 is not set
216.49 # CT_CC_V_4_3_4 is not set
216.50 @@ -218,16 +206,8 @@
216.51 # CT_CC_V_4_2_1 is not set
216.52 # CT_CC_V_4_2_0 is not set
216.53 # CT_CC_V_4_1_2 is not set
216.54 -# CT_CC_V_4_1_1 is not set
216.55 -# CT_CC_V_4_1_0 is not set
216.56 # CT_CC_V_4_0_4 is not set
216.57 -# CT_CC_V_4_0_3 is not set
216.58 -# CT_CC_V_4_0_2 is not set
216.59 -# CT_CC_V_4_0_1 is not set
216.60 -# CT_CC_V_4_0_0 is not set
216.61 # CT_CC_V_3_4_6 is not set
216.62 -# CT_CC_V_3_3_6 is not set
216.63 -# CT_CC_V_3_2_3 is not set
216.64 # CT_CC_GCC_4_3_or_later is not set
216.65 # CT_CC_GCC_4_4_or_later is not set
216.66 CT_CC_ENABLE_CXX_FLAGS=""
217.1 --- a/samples/i586-geode-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
217.2 +++ b/samples/i586-geode-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
217.3 @@ -1,7 +1,7 @@
217.4 #
217.5 # Automatically generated make config: don't edit
217.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
217.7 -# Sun Oct 4 12:47:22 2009
217.8 +# crosstool-NG version: hg_default@1596_241387704817
217.9 +# Wed Oct 28 19:23:31 2009
217.10 #
217.11
217.12 #
217.13 @@ -167,8 +167,13 @@
217.14 CT_KERNEL_linux=y
217.15 CT_KERNEL_LINUX_INSTALL=y
217.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
217.17 +# CT_KERNEL_V_2_6_31_5 is not set
217.18 +# CT_KERNEL_V_2_6_31_4 is not set
217.19 +# CT_KERNEL_V_2_6_31_3 is not set
217.20 +# CT_KERNEL_V_2_6_31_2 is not set
217.21 CT_KERNEL_V_2_6_31_1=y
217.22 # CT_KERNEL_V_2_6_31 is not set
217.23 +# CT_KERNEL_V_3_6_30_9 is not set
217.24 # CT_KERNEL_V_3_6_30_8 is not set
217.25 # CT_KERNEL_V_3_6_30_7 is not set
217.26 # CT_KERNEL_V_2_6_30_6 is not set
217.27 @@ -180,17 +185,7 @@
217.28 # CT_KERNEL_V_2_6_30 is not set
217.29 # CT_KERNEL_V_2_6_29_6 is not set
217.30 # CT_KERNEL_V_2_6_28_10 is not set
217.31 -# CT_KERNEL_V_2_6_27_35 is not set
217.32 -# CT_KERNEL_V_2_6_26_8 is not set
217.33 -# CT_KERNEL_V_2_6_25_20 is not set
217.34 -# CT_KERNEL_V_2_6_24_7 is not set
217.35 -# CT_KERNEL_V_2_6_23_17 is not set
217.36 -# CT_KERNEL_V_2_6_22_19 is not set
217.37 -# CT_KERNEL_V_2_6_21_7 is not set
217.38 -# CT_KERNEL_V_2_6_20_21 is not set
217.39 -# CT_KERNEL_V_2_6_19_7 is not set
217.40 -# CT_KERNEL_V_2_6_18_8 is not set
217.41 -# CT_KERNEL_V_select is not set
217.42 +# CT_KERNEL_V_2_6_27_38 is not set
217.43 CT_KERNEL_LINUX_VERBOSITY_0=y
217.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
217.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
217.46 @@ -211,26 +206,13 @@
217.47 #
217.48 # GNU binutils
217.49 #
217.50 -CT_BINUTILS_VERSION="2.19.1"
217.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
217.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
217.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
217.54 +# CT_BINUTILS_V_2_20 is not set
217.55 CT_BINUTILS_V_2_19_1=y
217.56 # CT_BINUTILS_V_2_19 is not set
217.57 -# CT_BINUTILS_V_2_18_93 is not set
217.58 -# CT_BINUTILS_V_2_18_92 is not set
217.59 -# CT_BINUTILS_V_2_18_91 is not set
217.60 -# CT_BINUTILS_V_2_18_90 is not set
217.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
217.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
217.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
217.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
217.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
217.66 # CT_BINUTILS_V_2_18 is not set
217.67 # CT_BINUTILS_V_2_17 is not set
217.68 # CT_BINUTILS_V_2_16_1 is not set
217.69 -# CT_BINUTILS_V_2_15 is not set
217.70 -# CT_BINUTILS_V_2_14 is not set
217.71 +CT_BINUTILS_VERSION="2.19.1"
217.72 CT_BINUTILS_EXTRA_CONFIG=""
217.73 CT_BINUTILS_FOR_TARGET=y
217.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
217.75 @@ -242,6 +224,7 @@
217.76 CT_CC="gcc"
217.77 CT_CC_VERSION="4.3.2"
217.78 CT_CC_gcc=y
217.79 +# CT_CC_V_4_4_2 is not set
217.80 # CT_CC_V_4_4_1 is not set
217.81 # CT_CC_V_4_4_0 is not set
217.82 # CT_CC_V_4_3_4 is not set
217.83 @@ -255,16 +238,8 @@
217.84 # CT_CC_V_4_2_1 is not set
217.85 # CT_CC_V_4_2_0 is not set
217.86 # CT_CC_V_4_1_2 is not set
217.87 -# CT_CC_V_4_1_1 is not set
217.88 -# CT_CC_V_4_1_0 is not set
217.89 # CT_CC_V_4_0_4 is not set
217.90 -# CT_CC_V_4_0_3 is not set
217.91 -# CT_CC_V_4_0_2 is not set
217.92 -# CT_CC_V_4_0_1 is not set
217.93 -# CT_CC_V_4_0_0 is not set
217.94 # CT_CC_V_3_4_6 is not set
217.95 -# CT_CC_V_3_3_6 is not set
217.96 -# CT_CC_V_3_2_3 is not set
217.97 CT_CC_GCC_4_3_or_later=y
217.98 # CT_CC_GCC_4_4_or_later is not set
217.99 CT_CC_CXA_ATEXIT=y
217.100 @@ -304,9 +279,6 @@
217.101 # CT_LIBC_V_0_9_30 is not set
217.102 # CT_LIBC_V_0_9_29 is not set
217.103 # CT_LIBC_V_0_9_28_3 is not set
217.104 -# CT_LIBC_V_0_9_28_2 is not set
217.105 -# CT_LIBC_V_0_9_28_1 is not set
217.106 -# CT_LIBC_V_0_9_28 is not set
217.107 # CT_LIBC_V_snapshot is not set
217.108 # CT_LIBC_V_specific_date is not set
217.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
217.110 @@ -337,17 +309,16 @@
217.111 #
217.112 CT_DEBUG_dmalloc=y
217.113 CT_DMALLOC_V_5_5_2=y
217.114 -# CT_DMALLOC_V_5_4_3 is not set
217.115 CT_DMALLOC_VERSION="5.5.2"
217.116 CT_DEBUG_duma=y
217.117 CT_DUMA_A=y
217.118 CT_DUMA_SO=y
217.119 -# CT_DUMA_V_2_5_15 is not set
217.120 -CT_DUMA_V_2_5_14=y
217.121 +CT_DUMA_V_2_5_15=y
217.122 +# CT_DUMA_V_2_5_14 is not set
217.123 # CT_DUMA_V_2_5_12 is not set
217.124 # CT_DUMA_V_2_5_8 is not set
217.125 # CT_DUMA_V_2_5_1 is not set
217.126 -CT_DUMA_VERSION="2_5_14"
217.127 +CT_DUMA_VERSION="2_5_15"
217.128 CT_DEBUG_gdb=y
217.129 CT_GDB_CROSS=y
217.130 # CT_GDB_CROSS_STATIC is not set
217.131 @@ -356,12 +327,8 @@
217.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
217.133 CT_GDB_GDBSERVER=y
217.134 CT_GDB_GDBSERVER_STATIC=y
217.135 +# CT_GDB_V_7_0 is not set
217.136 CT_GDB_V_6_8=y
217.137 -# CT_GDB_V_6_7_1 is not set
217.138 -# CT_GDB_V_6_7 is not set
217.139 -# CT_GDB_V_6_6 is not set
217.140 -# CT_GDB_V_6_5 is not set
217.141 -# CT_GDB_V_6_4 is not set
217.142 # CT_GDB_V_snapshot is not set
217.143 CT_GDB_VERSION="6.8"
217.144
217.145 @@ -372,19 +339,18 @@
217.146 # CT_NCURSES_V_5_6 is not set
217.147 CT_NCURSES_VERSION="5.7"
217.148 CT_DEBUG_ltrace=y
217.149 -# CT_LTRACE_V_0_5_2 is not set
217.150 +CT_LTRACE_V_0_5_2=y
217.151 # CT_LTRACE_V_0_5_1 is not set
217.152 -CT_LTRACE_V_0_5=y
217.153 +# CT_LTRACE_V_0_5 is not set
217.154 # CT_LTRACE_V_0_4 is not set
217.155 -CT_LTRACE_VERSION="0.5"
217.156 +CT_LTRACE_VERSION="0.5.2"
217.157 CT_DEBUG_strace=y
217.158 -# CT_STRACE_V_4_5_18 is not set
217.159 -CT_STRACE_V_4_5_17=y
217.160 +# CT_STRACE_V_4_5_19 is not set
217.161 +CT_STRACE_V_4_5_18=y
217.162 +# CT_STRACE_V_4_5_17 is not set
217.163 # CT_STRACE_V_4_5_16 is not set
217.164 # CT_STRACE_V_4_5_15 is not set
217.165 -# CT_STRACE_V_4_5_14 is not set
217.166 -# CT_STRACE_V_4_5 is not set
217.167 -CT_STRACE_VERSION="4.5.17"
217.168 +CT_STRACE_VERSION="4.5.18"
217.169
217.170 #
217.171 # Tools facilities
217.172 @@ -404,11 +370,11 @@
217.173 #
217.174 CT_WRAPPER_NEEDED=y
217.175 CT_GMP_MPFR=y
217.176 -# CT_GMP_V_4_3_1 is not set
217.177 +CT_GMP_V_4_3_1=y
217.178 # CT_GMP_V_4_3_0 is not set
217.179 -CT_GMP_V_4_2_4=y
217.180 +# CT_GMP_V_4_2_4 is not set
217.181 # CT_GMP_V_4_2_2 is not set
217.182 -CT_GMP_VERSION="4.2.4"
217.183 +CT_GMP_VERSION="4.3.1"
217.184 CT_MPFR_V_2_4_1=y
217.185 # CT_MPFR_V_2_4_0 is not set
217.186 # CT_MPFR_V_2_3_2 is not set
218.1 --- a/samples/i686-nptl-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
218.2 +++ b/samples/i686-nptl-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
218.3 @@ -1,7 +1,7 @@
218.4 #
218.5 # Automatically generated make config: don't edit
218.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
218.7 -# Sun Oct 4 12:47:38 2009
218.8 +# crosstool-NG version: hg_default@1596_241387704817
218.9 +# Wed Oct 28 19:23:53 2009
218.10 #
218.11
218.12 #
218.13 @@ -167,8 +167,13 @@
218.14 CT_KERNEL_linux=y
218.15 CT_KERNEL_LINUX_INSTALL=y
218.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
218.17 +# CT_KERNEL_V_2_6_31_5 is not set
218.18 +# CT_KERNEL_V_2_6_31_4 is not set
218.19 +# CT_KERNEL_V_2_6_31_3 is not set
218.20 +# CT_KERNEL_V_2_6_31_2 is not set
218.21 CT_KERNEL_V_2_6_31_1=y
218.22 # CT_KERNEL_V_2_6_31 is not set
218.23 +# CT_KERNEL_V_3_6_30_9 is not set
218.24 # CT_KERNEL_V_3_6_30_8 is not set
218.25 # CT_KERNEL_V_3_6_30_7 is not set
218.26 # CT_KERNEL_V_2_6_30_6 is not set
218.27 @@ -180,17 +185,7 @@
218.28 # CT_KERNEL_V_2_6_30 is not set
218.29 # CT_KERNEL_V_2_6_29_6 is not set
218.30 # CT_KERNEL_V_2_6_28_10 is not set
218.31 -# CT_KERNEL_V_2_6_27_35 is not set
218.32 -# CT_KERNEL_V_2_6_26_8 is not set
218.33 -# CT_KERNEL_V_2_6_25_20 is not set
218.34 -# CT_KERNEL_V_2_6_24_7 is not set
218.35 -# CT_KERNEL_V_2_6_23_17 is not set
218.36 -# CT_KERNEL_V_2_6_22_19 is not set
218.37 -# CT_KERNEL_V_2_6_21_7 is not set
218.38 -# CT_KERNEL_V_2_6_20_21 is not set
218.39 -# CT_KERNEL_V_2_6_19_7 is not set
218.40 -# CT_KERNEL_V_2_6_18_8 is not set
218.41 -# CT_KERNEL_V_select is not set
218.42 +# CT_KERNEL_V_2_6_27_38 is not set
218.43 CT_KERNEL_LINUX_VERBOSITY_0=y
218.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
218.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
218.46 @@ -211,26 +206,13 @@
218.47 #
218.48 # GNU binutils
218.49 #
218.50 -CT_BINUTILS_VERSION="2.19.1"
218.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
218.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
218.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
218.54 +# CT_BINUTILS_V_2_20 is not set
218.55 CT_BINUTILS_V_2_19_1=y
218.56 # CT_BINUTILS_V_2_19 is not set
218.57 -# CT_BINUTILS_V_2_18_93 is not set
218.58 -# CT_BINUTILS_V_2_18_92 is not set
218.59 -# CT_BINUTILS_V_2_18_91 is not set
218.60 -# CT_BINUTILS_V_2_18_90 is not set
218.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
218.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
218.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
218.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
218.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
218.66 # CT_BINUTILS_V_2_18 is not set
218.67 # CT_BINUTILS_V_2_17 is not set
218.68 # CT_BINUTILS_V_2_16_1 is not set
218.69 -# CT_BINUTILS_V_2_15 is not set
218.70 -# CT_BINUTILS_V_2_14 is not set
218.71 +CT_BINUTILS_VERSION="2.19.1"
218.72 CT_BINUTILS_EXTRA_CONFIG=""
218.73 CT_BINUTILS_FOR_TARGET=y
218.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
218.75 @@ -242,6 +224,7 @@
218.76 CT_CC="gcc"
218.77 CT_CC_VERSION="4.3.2"
218.78 CT_CC_gcc=y
218.79 +# CT_CC_V_4_4_2 is not set
218.80 # CT_CC_V_4_4_1 is not set
218.81 # CT_CC_V_4_4_0 is not set
218.82 # CT_CC_V_4_3_4 is not set
218.83 @@ -255,16 +238,8 @@
218.84 # CT_CC_V_4_2_1 is not set
218.85 # CT_CC_V_4_2_0 is not set
218.86 # CT_CC_V_4_1_2 is not set
218.87 -# CT_CC_V_4_1_1 is not set
218.88 -# CT_CC_V_4_1_0 is not set
218.89 # CT_CC_V_4_0_4 is not set
218.90 -# CT_CC_V_4_0_3 is not set
218.91 -# CT_CC_V_4_0_2 is not set
218.92 -# CT_CC_V_4_0_1 is not set
218.93 -# CT_CC_V_4_0_0 is not set
218.94 # CT_CC_V_3_4_6 is not set
218.95 -# CT_CC_V_3_3_6 is not set
218.96 -# CT_CC_V_3_2_3 is not set
218.97 CT_CC_GCC_4_3_or_later=y
218.98 # CT_CC_GCC_4_4_or_later is not set
218.99 CT_CC_CXA_ATEXIT=y
218.100 @@ -341,17 +316,16 @@
218.101 #
218.102 CT_DEBUG_dmalloc=y
218.103 CT_DMALLOC_V_5_5_2=y
218.104 -# CT_DMALLOC_V_5_4_3 is not set
218.105 CT_DMALLOC_VERSION="5.5.2"
218.106 CT_DEBUG_duma=y
218.107 CT_DUMA_A=y
218.108 CT_DUMA_SO=y
218.109 -# CT_DUMA_V_2_5_15 is not set
218.110 -CT_DUMA_V_2_5_14=y
218.111 +CT_DUMA_V_2_5_15=y
218.112 +# CT_DUMA_V_2_5_14 is not set
218.113 # CT_DUMA_V_2_5_12 is not set
218.114 # CT_DUMA_V_2_5_8 is not set
218.115 # CT_DUMA_V_2_5_1 is not set
218.116 -CT_DUMA_VERSION="2_5_14"
218.117 +CT_DUMA_VERSION="2_5_15"
218.118 CT_DEBUG_gdb=y
218.119 CT_GDB_CROSS=y
218.120 # CT_GDB_CROSS_STATIC is not set
218.121 @@ -360,12 +334,8 @@
218.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
218.123 CT_GDB_GDBSERVER=y
218.124 CT_GDB_GDBSERVER_STATIC=y
218.125 +# CT_GDB_V_7_0 is not set
218.126 CT_GDB_V_6_8=y
218.127 -# CT_GDB_V_6_7_1 is not set
218.128 -# CT_GDB_V_6_7 is not set
218.129 -# CT_GDB_V_6_6 is not set
218.130 -# CT_GDB_V_6_5 is not set
218.131 -# CT_GDB_V_6_4 is not set
218.132 # CT_GDB_V_snapshot is not set
218.133 CT_GDB_VERSION="6.8"
218.134
218.135 @@ -376,19 +346,18 @@
218.136 # CT_NCURSES_V_5_6 is not set
218.137 CT_NCURSES_VERSION="5.7"
218.138 CT_DEBUG_ltrace=y
218.139 -# CT_LTRACE_V_0_5_2 is not set
218.140 +CT_LTRACE_V_0_5_2=y
218.141 # CT_LTRACE_V_0_5_1 is not set
218.142 -CT_LTRACE_V_0_5=y
218.143 +# CT_LTRACE_V_0_5 is not set
218.144 # CT_LTRACE_V_0_4 is not set
218.145 -CT_LTRACE_VERSION="0.5"
218.146 +CT_LTRACE_VERSION="0.5.2"
218.147 CT_DEBUG_strace=y
218.148 -# CT_STRACE_V_4_5_18 is not set
218.149 -CT_STRACE_V_4_5_17=y
218.150 +# CT_STRACE_V_4_5_19 is not set
218.151 +CT_STRACE_V_4_5_18=y
218.152 +# CT_STRACE_V_4_5_17 is not set
218.153 # CT_STRACE_V_4_5_16 is not set
218.154 # CT_STRACE_V_4_5_15 is not set
218.155 -# CT_STRACE_V_4_5_14 is not set
218.156 -# CT_STRACE_V_4_5 is not set
218.157 -CT_STRACE_VERSION="4.5.17"
218.158 +CT_STRACE_VERSION="4.5.18"
218.159
218.160 #
218.161 # Tools facilities
218.162 @@ -408,11 +377,11 @@
218.163 #
218.164 CT_WRAPPER_NEEDED=y
218.165 CT_GMP_MPFR=y
218.166 -# CT_GMP_V_4_3_1 is not set
218.167 +CT_GMP_V_4_3_1=y
218.168 # CT_GMP_V_4_3_0 is not set
218.169 -CT_GMP_V_4_2_4=y
218.170 +# CT_GMP_V_4_2_4 is not set
218.171 # CT_GMP_V_4_2_2 is not set
218.172 -CT_GMP_VERSION="4.2.4"
218.173 +CT_GMP_VERSION="4.3.1"
218.174 CT_MPFR_V_2_4_1=y
218.175 # CT_MPFR_V_2_4_0 is not set
218.176 # CT_MPFR_V_2_3_2 is not set
219.1 --- a/samples/ia64-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
219.2 +++ b/samples/ia64-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
219.3 @@ -1,7 +1,7 @@
219.4 #
219.5 # Automatically generated make config: don't edit
219.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
219.7 -# Sun Oct 4 12:47:50 2009
219.8 +# crosstool-NG version: hg_default@1596_241387704817
219.9 +# Wed Oct 28 19:45:25 2009
219.10 #
219.11
219.12 #
219.13 @@ -162,13 +162,18 @@
219.14 # CT_BARE_METAL is not set
219.15 CT_KERNEL_SUPPORTS_SHARED_LIBS=y
219.16 CT_KERNEL="linux"
219.17 -CT_KERNEL_VERSION="2.6.26.8"
219.18 +CT_KERNEL_VERSION="2.6.27.38"
219.19 # CT_KERNEL_bare_metal is not set
219.20 CT_KERNEL_linux=y
219.21 CT_KERNEL_LINUX_INSTALL=y
219.22 CT_KERNEL_LINUX_INSTALL_CHECK=y
219.23 +# CT_KERNEL_V_2_6_31_5 is not set
219.24 +# CT_KERNEL_V_2_6_31_4 is not set
219.25 +# CT_KERNEL_V_2_6_31_3 is not set
219.26 +# CT_KERNEL_V_2_6_31_2 is not set
219.27 # CT_KERNEL_V_2_6_31_1 is not set
219.28 # CT_KERNEL_V_2_6_31 is not set
219.29 +# CT_KERNEL_V_3_6_30_9 is not set
219.30 # CT_KERNEL_V_3_6_30_8 is not set
219.31 # CT_KERNEL_V_3_6_30_7 is not set
219.32 # CT_KERNEL_V_2_6_30_6 is not set
219.33 @@ -180,17 +185,7 @@
219.34 # CT_KERNEL_V_2_6_30 is not set
219.35 # CT_KERNEL_V_2_6_29_6 is not set
219.36 # CT_KERNEL_V_2_6_28_10 is not set
219.37 -# CT_KERNEL_V_2_6_27_35 is not set
219.38 -CT_KERNEL_V_2_6_26_8=y
219.39 -# CT_KERNEL_V_2_6_25_20 is not set
219.40 -# CT_KERNEL_V_2_6_24_7 is not set
219.41 -# CT_KERNEL_V_2_6_23_17 is not set
219.42 -# CT_KERNEL_V_2_6_22_19 is not set
219.43 -# CT_KERNEL_V_2_6_21_7 is not set
219.44 -# CT_KERNEL_V_2_6_20_21 is not set
219.45 -# CT_KERNEL_V_2_6_19_7 is not set
219.46 -# CT_KERNEL_V_2_6_18_8 is not set
219.47 -# CT_KERNEL_V_select is not set
219.48 +CT_KERNEL_V_2_6_27_38=y
219.49 CT_KERNEL_LINUX_VERBOSITY_0=y
219.50 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
219.51 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
219.52 @@ -211,26 +206,13 @@
219.53 #
219.54 # GNU binutils
219.55 #
219.56 -CT_BINUTILS_VERSION="2.19.1"
219.57 -# CT_BINUTILS_V_2_19_51_0_2 is not set
219.58 -# CT_BINUTILS_V_2_19_51_0_1 is not set
219.59 -# CT_BINUTILS_V_2_19_50_0_1 is not set
219.60 +# CT_BINUTILS_V_2_20 is not set
219.61 CT_BINUTILS_V_2_19_1=y
219.62 # CT_BINUTILS_V_2_19 is not set
219.63 -# CT_BINUTILS_V_2_18_93 is not set
219.64 -# CT_BINUTILS_V_2_18_92 is not set
219.65 -# CT_BINUTILS_V_2_18_91 is not set
219.66 -# CT_BINUTILS_V_2_18_90 is not set
219.67 -# CT_BINUTILS_V_2_18_50_0_9 is not set
219.68 -# CT_BINUTILS_V_2_18_50_0_8 is not set
219.69 -# CT_BINUTILS_V_2_18_50_0_7 is not set
219.70 -# CT_BINUTILS_V_2_18_50_0_6 is not set
219.71 -# CT_BINUTILS_V_2_18_50_0_4 is not set
219.72 # CT_BINUTILS_V_2_18 is not set
219.73 # CT_BINUTILS_V_2_17 is not set
219.74 # CT_BINUTILS_V_2_16_1 is not set
219.75 -# CT_BINUTILS_V_2_15 is not set
219.76 -# CT_BINUTILS_V_2_14 is not set
219.77 +CT_BINUTILS_VERSION="2.19.1"
219.78 CT_BINUTILS_EXTRA_CONFIG=""
219.79 CT_BINUTILS_FOR_TARGET=y
219.80 CT_BINUTILS_FOR_TARGET_IBERTY=y
219.81 @@ -242,6 +224,7 @@
219.82 CT_CC="gcc"
219.83 CT_CC_VERSION="3.4.6"
219.84 CT_CC_gcc=y
219.85 +# CT_CC_V_4_4_2 is not set
219.86 # CT_CC_V_4_4_1 is not set
219.87 # CT_CC_V_4_4_0 is not set
219.88 # CT_CC_V_4_3_4 is not set
219.89 @@ -255,16 +238,8 @@
219.90 # CT_CC_V_4_2_1 is not set
219.91 # CT_CC_V_4_2_0 is not set
219.92 # CT_CC_V_4_1_2 is not set
219.93 -# CT_CC_V_4_1_1 is not set
219.94 -# CT_CC_V_4_1_0 is not set
219.95 # CT_CC_V_4_0_4 is not set
219.96 -# CT_CC_V_4_0_3 is not set
219.97 -# CT_CC_V_4_0_2 is not set
219.98 -# CT_CC_V_4_0_1 is not set
219.99 -# CT_CC_V_4_0_0 is not set
219.100 CT_CC_V_3_4_6=y
219.101 -# CT_CC_V_3_3_6 is not set
219.102 -# CT_CC_V_3_2_3 is not set
219.103 # CT_CC_GCC_4_3_or_later is not set
219.104 # CT_CC_GCC_4_4_or_later is not set
219.105 CT_CC_CXA_ATEXIT=y
219.106 @@ -325,7 +300,7 @@
219.107 # CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
219.108 CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
219.109 # CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
219.110 -CT_LIBC_GLIBC_MIN_KERNEL="2.6.26.8"
219.111 +CT_LIBC_GLIBC_MIN_KERNEL="2.6.27.38"
219.112
219.113 #
219.114 # Common C library options
219.115 @@ -359,12 +334,8 @@
219.116 CT_GDB_NATIVE_USE_GMP_MPFR=y
219.117 CT_GDB_GDBSERVER=y
219.118 CT_GDB_GDBSERVER_STATIC=y
219.119 +# CT_GDB_V_7_0 is not set
219.120 CT_GDB_V_6_8=y
219.121 -# CT_GDB_V_6_7_1 is not set
219.122 -# CT_GDB_V_6_7 is not set
219.123 -# CT_GDB_V_6_6 is not set
219.124 -# CT_GDB_V_6_5 is not set
219.125 -# CT_GDB_V_6_4 is not set
219.126 # CT_GDB_V_snapshot is not set
219.127 CT_GDB_VERSION="6.8"
219.128
219.129 @@ -376,13 +347,12 @@
219.130 CT_NCURSES_VERSION="5.7"
219.131 # CT_DEBUG_ltrace is not set
219.132 CT_DEBUG_strace=y
219.133 -# CT_STRACE_V_4_5_18 is not set
219.134 +# CT_STRACE_V_4_5_19 is not set
219.135 +CT_STRACE_V_4_5_18=y
219.136 # CT_STRACE_V_4_5_17 is not set
219.137 -CT_STRACE_V_4_5_16=y
219.138 +# CT_STRACE_V_4_5_16 is not set
219.139 # CT_STRACE_V_4_5_15 is not set
219.140 -# CT_STRACE_V_4_5_14 is not set
219.141 -# CT_STRACE_V_4_5 is not set
219.142 -CT_STRACE_VERSION="4.5.16"
219.143 +CT_STRACE_VERSION="4.5.18"
219.144
219.145 #
219.146 # Tools facilities
220.1 --- a/samples/mingw32,i686-none-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
220.2 +++ b/samples/mingw32,i686-none-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
220.3 @@ -1,7 +1,7 @@
220.4 #
220.5 # Automatically generated make config: don't edit
220.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
220.7 -# Sun Oct 4 12:48:41 2009
220.8 +# crosstool-NG version: hg_default@1596_241387704817
220.9 +# Wed Oct 28 23:13:51 2009
220.10 #
220.11
220.12 #
220.13 @@ -178,8 +178,13 @@
220.14 CT_KERNEL_linux=y
220.15 CT_KERNEL_LINUX_INSTALL=y
220.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
220.17 +# CT_KERNEL_V_2_6_31_5 is not set
220.18 +# CT_KERNEL_V_2_6_31_4 is not set
220.19 +# CT_KERNEL_V_2_6_31_3 is not set
220.20 +# CT_KERNEL_V_2_6_31_2 is not set
220.21 CT_KERNEL_V_2_6_31_1=y
220.22 # CT_KERNEL_V_2_6_31 is not set
220.23 +# CT_KERNEL_V_3_6_30_9 is not set
220.24 # CT_KERNEL_V_3_6_30_8 is not set
220.25 # CT_KERNEL_V_3_6_30_7 is not set
220.26 # CT_KERNEL_V_2_6_30_6 is not set
220.27 @@ -191,17 +196,7 @@
220.28 # CT_KERNEL_V_2_6_30 is not set
220.29 # CT_KERNEL_V_2_6_29_6 is not set
220.30 # CT_KERNEL_V_2_6_28_10 is not set
220.31 -# CT_KERNEL_V_2_6_27_35 is not set
220.32 -# CT_KERNEL_V_2_6_26_8 is not set
220.33 -# CT_KERNEL_V_2_6_25_20 is not set
220.34 -# CT_KERNEL_V_2_6_24_7 is not set
220.35 -# CT_KERNEL_V_2_6_23_17 is not set
220.36 -# CT_KERNEL_V_2_6_22_19 is not set
220.37 -# CT_KERNEL_V_2_6_21_7 is not set
220.38 -# CT_KERNEL_V_2_6_20_21 is not set
220.39 -# CT_KERNEL_V_2_6_19_7 is not set
220.40 -# CT_KERNEL_V_2_6_18_8 is not set
220.41 -# CT_KERNEL_V_select is not set
220.42 +# CT_KERNEL_V_2_6_27_38 is not set
220.43 CT_KERNEL_LINUX_VERBOSITY_0=y
220.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
220.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
220.46 @@ -222,26 +217,13 @@
220.47 #
220.48 # GNU binutils
220.49 #
220.50 -CT_BINUTILS_VERSION="2.19.1"
220.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
220.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
220.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
220.54 +# CT_BINUTILS_V_2_20 is not set
220.55 CT_BINUTILS_V_2_19_1=y
220.56 # CT_BINUTILS_V_2_19 is not set
220.57 -# CT_BINUTILS_V_2_18_93 is not set
220.58 -# CT_BINUTILS_V_2_18_92 is not set
220.59 -# CT_BINUTILS_V_2_18_91 is not set
220.60 -# CT_BINUTILS_V_2_18_90 is not set
220.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
220.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
220.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
220.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
220.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
220.66 # CT_BINUTILS_V_2_18 is not set
220.67 # CT_BINUTILS_V_2_17 is not set
220.68 # CT_BINUTILS_V_2_16_1 is not set
220.69 -# CT_BINUTILS_V_2_15 is not set
220.70 -# CT_BINUTILS_V_2_14 is not set
220.71 +CT_BINUTILS_VERSION="2.19.1"
220.72 CT_BINUTILS_EXTRA_CONFIG="--enable-targets=i686-none-linux-gnu"
220.73 # CT_BINUTILS_FOR_TARGET is not set
220.74
220.75 @@ -251,6 +233,7 @@
220.76 CT_CC="gcc"
220.77 CT_CC_VERSION="4.3.2"
220.78 CT_CC_gcc=y
220.79 +# CT_CC_V_4_4_2 is not set
220.80 # CT_CC_V_4_4_1 is not set
220.81 # CT_CC_V_4_4_0 is not set
220.82 # CT_CC_V_4_3_4 is not set
220.83 @@ -264,16 +247,8 @@
220.84 # CT_CC_V_4_2_1 is not set
220.85 # CT_CC_V_4_2_0 is not set
220.86 # CT_CC_V_4_1_2 is not set
220.87 -# CT_CC_V_4_1_1 is not set
220.88 -# CT_CC_V_4_1_0 is not set
220.89 # CT_CC_V_4_0_4 is not set
220.90 -# CT_CC_V_4_0_3 is not set
220.91 -# CT_CC_V_4_0_2 is not set
220.92 -# CT_CC_V_4_0_1 is not set
220.93 -# CT_CC_V_4_0_0 is not set
220.94 # CT_CC_V_3_4_6 is not set
220.95 -# CT_CC_V_3_3_6 is not set
220.96 -# CT_CC_V_3_2_3 is not set
220.97 CT_CC_GCC_4_3_or_later=y
220.98 # CT_CC_GCC_4_4_or_later is not set
220.99 CT_CC_CXA_ATEXIT=y
221.1 --- a/samples/mips-ar2315-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
221.2 +++ b/samples/mips-ar2315-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
221.3 @@ -1,7 +1,7 @@
221.4 #
221.5 # Automatically generated make config: don't edit
221.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
221.7 -# Sun Oct 4 12:49:15 2009
221.8 +# crosstool-NG version: hg_default@1596_241387704817
221.9 +# Wed Oct 28 23:14:38 2009
221.10 #
221.11
221.12 #
221.13 @@ -171,8 +171,13 @@
221.14 CT_KERNEL_linux=y
221.15 CT_KERNEL_LINUX_INSTALL=y
221.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
221.17 +# CT_KERNEL_V_2_6_31_5 is not set
221.18 +# CT_KERNEL_V_2_6_31_4 is not set
221.19 +# CT_KERNEL_V_2_6_31_3 is not set
221.20 +# CT_KERNEL_V_2_6_31_2 is not set
221.21 CT_KERNEL_V_2_6_31_1=y
221.22 # CT_KERNEL_V_2_6_31 is not set
221.23 +# CT_KERNEL_V_3_6_30_9 is not set
221.24 # CT_KERNEL_V_3_6_30_8 is not set
221.25 # CT_KERNEL_V_3_6_30_7 is not set
221.26 # CT_KERNEL_V_2_6_30_6 is not set
221.27 @@ -184,17 +189,7 @@
221.28 # CT_KERNEL_V_2_6_30 is not set
221.29 # CT_KERNEL_V_2_6_29_6 is not set
221.30 # CT_KERNEL_V_2_6_28_10 is not set
221.31 -# CT_KERNEL_V_2_6_27_35 is not set
221.32 -# CT_KERNEL_V_2_6_26_8 is not set
221.33 -# CT_KERNEL_V_2_6_25_20 is not set
221.34 -# CT_KERNEL_V_2_6_24_7 is not set
221.35 -# CT_KERNEL_V_2_6_23_17 is not set
221.36 -# CT_KERNEL_V_2_6_22_19 is not set
221.37 -# CT_KERNEL_V_2_6_21_7 is not set
221.38 -# CT_KERNEL_V_2_6_20_21 is not set
221.39 -# CT_KERNEL_V_2_6_19_7 is not set
221.40 -# CT_KERNEL_V_2_6_18_8 is not set
221.41 -# CT_KERNEL_V_select is not set
221.42 +# CT_KERNEL_V_2_6_27_38 is not set
221.43 CT_KERNEL_LINUX_VERBOSITY_0=y
221.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
221.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
221.46 @@ -215,26 +210,13 @@
221.47 #
221.48 # GNU binutils
221.49 #
221.50 -CT_BINUTILS_VERSION="2.19.1"
221.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
221.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
221.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
221.54 +# CT_BINUTILS_V_2_20 is not set
221.55 CT_BINUTILS_V_2_19_1=y
221.56 # CT_BINUTILS_V_2_19 is not set
221.57 -# CT_BINUTILS_V_2_18_93 is not set
221.58 -# CT_BINUTILS_V_2_18_92 is not set
221.59 -# CT_BINUTILS_V_2_18_91 is not set
221.60 -# CT_BINUTILS_V_2_18_90 is not set
221.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
221.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
221.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
221.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
221.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
221.66 # CT_BINUTILS_V_2_18 is not set
221.67 # CT_BINUTILS_V_2_17 is not set
221.68 # CT_BINUTILS_V_2_16_1 is not set
221.69 -# CT_BINUTILS_V_2_15 is not set
221.70 -# CT_BINUTILS_V_2_14 is not set
221.71 +CT_BINUTILS_VERSION="2.19.1"
221.72 CT_BINUTILS_EXTRA_CONFIG=""
221.73 # CT_BINUTILS_FOR_TARGET is not set
221.74
221.75 @@ -244,6 +226,7 @@
221.76 CT_CC="gcc"
221.77 CT_CC_VERSION="4.3.2"
221.78 CT_CC_gcc=y
221.79 +# CT_CC_V_4_4_2 is not set
221.80 # CT_CC_V_4_4_1 is not set
221.81 # CT_CC_V_4_4_0 is not set
221.82 # CT_CC_V_4_3_4 is not set
221.83 @@ -257,16 +240,8 @@
221.84 # CT_CC_V_4_2_1 is not set
221.85 # CT_CC_V_4_2_0 is not set
221.86 # CT_CC_V_4_1_2 is not set
221.87 -# CT_CC_V_4_1_1 is not set
221.88 -# CT_CC_V_4_1_0 is not set
221.89 # CT_CC_V_4_0_4 is not set
221.90 -# CT_CC_V_4_0_3 is not set
221.91 -# CT_CC_V_4_0_2 is not set
221.92 -# CT_CC_V_4_0_1 is not set
221.93 -# CT_CC_V_4_0_0 is not set
221.94 # CT_CC_V_3_4_6 is not set
221.95 -# CT_CC_V_3_3_6 is not set
221.96 -# CT_CC_V_3_2_3 is not set
221.97 CT_CC_GCC_4_3_or_later=y
221.98 # CT_CC_GCC_4_4_or_later is not set
221.99 CT_CC_CXA_ATEXIT=y
221.100 @@ -314,6 +289,7 @@
221.101 # CT_EGLIBC_V_TRUNK is not set
221.102 CT_EGLIBC_REVISION="HEAD"
221.103 # CT_EGLIBC_CHECKOUT is not set
221.104 +# CT_EGLIBC_CUSTOM_CONFIG is not set
221.105
221.106 #
221.107 # glibc/eglibc common options
221.108 @@ -345,7 +321,6 @@
221.109 #
221.110 CT_DEBUG_dmalloc=y
221.111 CT_DMALLOC_V_5_5_2=y
221.112 -# CT_DMALLOC_V_5_4_3 is not set
221.113 CT_DMALLOC_VERSION="5.5.2"
221.114 # CT_DEBUG_duma is not set
221.115 CT_DEBUG_gdb=y
221.116 @@ -355,22 +330,17 @@
221.117 # CT_GDB_NATIVE is not set
221.118 CT_GDB_GDBSERVER=y
221.119 CT_GDB_GDBSERVER_STATIC=y
221.120 +# CT_GDB_V_7_0 is not set
221.121 CT_GDB_V_6_8=y
221.122 -# CT_GDB_V_6_7_1 is not set
221.123 -# CT_GDB_V_6_7 is not set
221.124 -# CT_GDB_V_6_6 is not set
221.125 -# CT_GDB_V_6_5 is not set
221.126 -# CT_GDB_V_6_4 is not set
221.127 # CT_GDB_V_snapshot is not set
221.128 CT_GDB_VERSION="6.8"
221.129 # CT_DEBUG_ltrace is not set
221.130 CT_DEBUG_strace=y
221.131 +# CT_STRACE_V_4_5_19 is not set
221.132 CT_STRACE_V_4_5_18=y
221.133 # CT_STRACE_V_4_5_17 is not set
221.134 # CT_STRACE_V_4_5_16 is not set
221.135 # CT_STRACE_V_4_5_15 is not set
221.136 -# CT_STRACE_V_4_5_14 is not set
221.137 -# CT_STRACE_V_4_5 is not set
221.138 CT_STRACE_VERSION="4.5.18"
221.139
221.140 #
221.141 @@ -391,16 +361,16 @@
221.142 #
221.143 CT_WRAPPER_NEEDED=y
221.144 CT_GMP_MPFR=y
221.145 -# CT_GMP_V_4_3_1 is not set
221.146 +CT_GMP_V_4_3_1=y
221.147 # CT_GMP_V_4_3_0 is not set
221.148 # CT_GMP_V_4_2_4 is not set
221.149 -CT_GMP_V_4_2_2=y
221.150 -CT_GMP_VERSION="4.2.2"
221.151 -# CT_MPFR_V_2_4_1 is not set
221.152 +# CT_GMP_V_4_2_2 is not set
221.153 +CT_GMP_VERSION="4.3.1"
221.154 +CT_MPFR_V_2_4_1=y
221.155 # CT_MPFR_V_2_4_0 is not set
221.156 # CT_MPFR_V_2_3_2 is not set
221.157 -CT_MPFR_V_2_3_1=y
221.158 -CT_MPFR_VERSION="2.3.1"
221.159 +# CT_MPFR_V_2_3_1 is not set
221.160 +CT_MPFR_VERSION="2.4.1"
221.161 # CT_PPL_CLOOG_MPC is not set
221.162
221.163 #
222.1 --- a/samples/mips-unknown-elf/crosstool.config Wed Oct 28 12:03:38 2009 +0100
222.2 +++ b/samples/mips-unknown-elf/crosstool.config Thu Oct 29 00:10:06 2009 +0100
222.3 @@ -1,7 +1,7 @@
222.4 #
222.5 # Automatically generated make config: don't edit
222.6 -# crosstool-NG version: hg_default@1527_c86baf0af4eb
222.7 -# Sat Sep 12 00:13:32 2009
222.8 +# crosstool-NG version: hg_default@1596_241387704817
222.9 +# Wed Oct 28 23:15:06 2009
222.10 #
222.11
222.12 #
222.13 @@ -178,26 +178,13 @@
222.14 #
222.15 # GNU binutils
222.16 #
222.17 +# CT_BINUTILS_V_2_20 is not set
222.18 +CT_BINUTILS_V_2_19_1=y
222.19 +# CT_BINUTILS_V_2_19 is not set
222.20 +# CT_BINUTILS_V_2_18 is not set
222.21 +# CT_BINUTILS_V_2_17 is not set
222.22 +# CT_BINUTILS_V_2_16_1 is not set
222.23 CT_BINUTILS_VERSION="2.19.1"
222.24 -# CT_BINUTILS_V_2_14 is not set
222.25 -# CT_BINUTILS_V_2_15 is not set
222.26 -# CT_BINUTILS_V_2_16_1 is not set
222.27 -# CT_BINUTILS_V_2_17 is not set
222.28 -# CT_BINUTILS_V_2_18 is not set
222.29 -# CT_BINUTILS_V_2_18_50_0_4 is not set
222.30 -# CT_BINUTILS_V_2_18_50_0_6 is not set
222.31 -# CT_BINUTILS_V_2_18_50_0_7 is not set
222.32 -# CT_BINUTILS_V_2_18_50_0_8 is not set
222.33 -# CT_BINUTILS_V_2_18_50_0_9 is not set
222.34 -# CT_BINUTILS_V_2_18_90 is not set
222.35 -# CT_BINUTILS_V_2_18_91 is not set
222.36 -# CT_BINUTILS_V_2_18_92 is not set
222.37 -# CT_BINUTILS_V_2_18_93 is not set
222.38 -# CT_BINUTILS_V_2_19 is not set
222.39 -CT_BINUTILS_V_2_19_1=y
222.40 -# CT_BINUTILS_V_2_19_50_0_1 is not set
222.41 -# CT_BINUTILS_V_2_19_51_0_1 is not set
222.42 -# CT_BINUTILS_V_2_19_51_0_2 is not set
222.43 CT_BINUTILS_EXTRA_CONFIG=""
222.44
222.45 #
222.46 @@ -206,29 +193,22 @@
222.47 CT_CC="gcc"
222.48 CT_CC_VERSION="4.3.2"
222.49 CT_CC_gcc=y
222.50 -# CT_CC_V_3_2_3 is not set
222.51 -# CT_CC_V_3_3_6 is not set
222.52 +# CT_CC_V_4_4_2 is not set
222.53 +# CT_CC_V_4_4_1 is not set
222.54 +# CT_CC_V_4_4_0 is not set
222.55 +# CT_CC_V_4_3_4 is not set
222.56 +# CT_CC_V_4_3_3 is not set
222.57 +CT_CC_V_4_3_2=y
222.58 +# CT_CC_V_4_3_1 is not set
222.59 +# CT_CC_V_4_3_0 is not set
222.60 +# CT_CC_V_4_2_4 is not set
222.61 +# CT_CC_V_4_2_3 is not set
222.62 +# CT_CC_V_4_2_2 is not set
222.63 +# CT_CC_V_4_2_1 is not set
222.64 +# CT_CC_V_4_2_0 is not set
222.65 +# CT_CC_V_4_1_2 is not set
222.66 +# CT_CC_V_4_0_4 is not set
222.67 # CT_CC_V_3_4_6 is not set
222.68 -# CT_CC_V_4_0_0 is not set
222.69 -# CT_CC_V_4_0_1 is not set
222.70 -# CT_CC_V_4_0_2 is not set
222.71 -# CT_CC_V_4_0_3 is not set
222.72 -# CT_CC_V_4_0_4 is not set
222.73 -# CT_CC_V_4_1_0 is not set
222.74 -# CT_CC_V_4_1_1 is not set
222.75 -# CT_CC_V_4_1_2 is not set
222.76 -# CT_CC_V_4_2_0 is not set
222.77 -# CT_CC_V_4_2_1 is not set
222.78 -# CT_CC_V_4_2_2 is not set
222.79 -# CT_CC_V_4_2_3 is not set
222.80 -# CT_CC_V_4_2_4 is not set
222.81 -# CT_CC_V_4_3_0 is not set
222.82 -# CT_CC_V_4_3_1 is not set
222.83 -CT_CC_V_4_3_2=y
222.84 -# CT_CC_V_4_3_3 is not set
222.85 -# CT_CC_V_4_3_4 is not set
222.86 -# CT_CC_V_4_4_0 is not set
222.87 -# CT_CC_V_4_4_1 is not set
222.88 CT_CC_GCC_4_3_or_later=y
222.89 # CT_CC_GCC_4_4_or_later is not set
222.90 CT_CC_ENABLE_CXX_FLAGS=""
222.91 @@ -282,11 +262,7 @@
222.92 #
222.93 # provide your own gdbserver stub.
222.94 #
222.95 -# CT_GDB_V_6_4 is not set
222.96 -# CT_GDB_V_6_5 is not set
222.97 -# CT_GDB_V_6_6 is not set
222.98 -# CT_GDB_V_6_7 is not set
222.99 -# CT_GDB_V_6_7_1 is not set
222.100 +# CT_GDB_V_7_0 is not set
222.101 CT_GDB_V_6_8=y
222.102 # CT_GDB_V_snapshot is not set
222.103 CT_GDB_VERSION="6.8"
222.104 @@ -304,15 +280,15 @@
222.105 #
222.106 CT_WRAPPER_NEEDED=y
222.107 CT_GMP_MPFR=y
222.108 +CT_GMP_V_4_3_1=y
222.109 +# CT_GMP_V_4_3_0 is not set
222.110 +# CT_GMP_V_4_2_4 is not set
222.111 # CT_GMP_V_4_2_2 is not set
222.112 -CT_GMP_V_4_2_4=y
222.113 -# CT_GMP_V_4_3_0 is not set
222.114 -# CT_GMP_V_4_3_1 is not set
222.115 -CT_GMP_VERSION="4.2.4"
222.116 +CT_GMP_VERSION="4.3.1"
222.117 +CT_MPFR_V_2_4_1=y
222.118 +# CT_MPFR_V_2_4_0 is not set
222.119 +# CT_MPFR_V_2_3_2 is not set
222.120 # CT_MPFR_V_2_3_1 is not set
222.121 -# CT_MPFR_V_2_3_2 is not set
222.122 -# CT_MPFR_V_2_4_0 is not set
222.123 -CT_MPFR_V_2_4_1=y
222.124 CT_MPFR_VERSION="2.4.1"
222.125 # CT_PPL_CLOOG_MPC is not set
222.126
223.1 --- a/samples/mips-unknown-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
223.2 +++ b/samples/mips-unknown-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
223.3 @@ -1,7 +1,7 @@
223.4 #
223.5 # Automatically generated make config: don't edit
223.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
223.7 -# Sun Oct 4 12:49:57 2009
223.8 +# crosstool-NG version: hg_default@1596_241387704817
223.9 +# Wed Oct 28 23:15:37 2009
223.10 #
223.11
223.12 #
223.13 @@ -169,8 +169,13 @@
223.14 CT_KERNEL_linux=y
223.15 CT_KERNEL_LINUX_INSTALL=y
223.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
223.17 +# CT_KERNEL_V_2_6_31_5 is not set
223.18 +# CT_KERNEL_V_2_6_31_4 is not set
223.19 +# CT_KERNEL_V_2_6_31_3 is not set
223.20 +# CT_KERNEL_V_2_6_31_2 is not set
223.21 CT_KERNEL_V_2_6_31_1=y
223.22 # CT_KERNEL_V_2_6_31 is not set
223.23 +# CT_KERNEL_V_3_6_30_9 is not set
223.24 # CT_KERNEL_V_3_6_30_8 is not set
223.25 # CT_KERNEL_V_3_6_30_7 is not set
223.26 # CT_KERNEL_V_2_6_30_6 is not set
223.27 @@ -182,17 +187,7 @@
223.28 # CT_KERNEL_V_2_6_30 is not set
223.29 # CT_KERNEL_V_2_6_29_6 is not set
223.30 # CT_KERNEL_V_2_6_28_10 is not set
223.31 -# CT_KERNEL_V_2_6_27_35 is not set
223.32 -# CT_KERNEL_V_2_6_26_8 is not set
223.33 -# CT_KERNEL_V_2_6_25_20 is not set
223.34 -# CT_KERNEL_V_2_6_24_7 is not set
223.35 -# CT_KERNEL_V_2_6_23_17 is not set
223.36 -# CT_KERNEL_V_2_6_22_19 is not set
223.37 -# CT_KERNEL_V_2_6_21_7 is not set
223.38 -# CT_KERNEL_V_2_6_20_21 is not set
223.39 -# CT_KERNEL_V_2_6_19_7 is not set
223.40 -# CT_KERNEL_V_2_6_18_8 is not set
223.41 -# CT_KERNEL_V_select is not set
223.42 +# CT_KERNEL_V_2_6_27_38 is not set
223.43 CT_KERNEL_LINUX_VERBOSITY_0=y
223.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
223.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
223.46 @@ -213,26 +208,13 @@
223.47 #
223.48 # GNU binutils
223.49 #
223.50 -CT_BINUTILS_VERSION="2.19.1"
223.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
223.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
223.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
223.54 +# CT_BINUTILS_V_2_20 is not set
223.55 CT_BINUTILS_V_2_19_1=y
223.56 # CT_BINUTILS_V_2_19 is not set
223.57 -# CT_BINUTILS_V_2_18_93 is not set
223.58 -# CT_BINUTILS_V_2_18_92 is not set
223.59 -# CT_BINUTILS_V_2_18_91 is not set
223.60 -# CT_BINUTILS_V_2_18_90 is not set
223.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
223.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
223.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
223.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
223.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
223.66 # CT_BINUTILS_V_2_18 is not set
223.67 # CT_BINUTILS_V_2_17 is not set
223.68 # CT_BINUTILS_V_2_16_1 is not set
223.69 -# CT_BINUTILS_V_2_15 is not set
223.70 -# CT_BINUTILS_V_2_14 is not set
223.71 +CT_BINUTILS_VERSION="2.19.1"
223.72 CT_BINUTILS_EXTRA_CONFIG=""
223.73 CT_BINUTILS_FOR_TARGET=y
223.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
223.75 @@ -244,6 +226,7 @@
223.76 CT_CC="gcc"
223.77 CT_CC_VERSION="4.3.2"
223.78 CT_CC_gcc=y
223.79 +# CT_CC_V_4_4_2 is not set
223.80 # CT_CC_V_4_4_1 is not set
223.81 # CT_CC_V_4_4_0 is not set
223.82 # CT_CC_V_4_3_4 is not set
223.83 @@ -257,16 +240,8 @@
223.84 # CT_CC_V_4_2_1 is not set
223.85 # CT_CC_V_4_2_0 is not set
223.86 # CT_CC_V_4_1_2 is not set
223.87 -# CT_CC_V_4_1_1 is not set
223.88 -# CT_CC_V_4_1_0 is not set
223.89 # CT_CC_V_4_0_4 is not set
223.90 -# CT_CC_V_4_0_3 is not set
223.91 -# CT_CC_V_4_0_2 is not set
223.92 -# CT_CC_V_4_0_1 is not set
223.93 -# CT_CC_V_4_0_0 is not set
223.94 # CT_CC_V_3_4_6 is not set
223.95 -# CT_CC_V_3_3_6 is not set
223.96 -# CT_CC_V_3_2_3 is not set
223.97 CT_CC_GCC_4_3_or_later=y
223.98 # CT_CC_GCC_4_4_or_later is not set
223.99 CT_CC_CXA_ATEXIT=y
223.100 @@ -305,9 +280,6 @@
223.101 # CT_LIBC_V_0_9_30 is not set
223.102 # CT_LIBC_V_0_9_29 is not set
223.103 # CT_LIBC_V_0_9_28_3 is not set
223.104 -# CT_LIBC_V_0_9_28_2 is not set
223.105 -# CT_LIBC_V_0_9_28_1 is not set
223.106 -# CT_LIBC_V_0_9_28 is not set
223.107 # CT_LIBC_V_snapshot is not set
223.108 # CT_LIBC_V_specific_date is not set
223.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
223.110 @@ -338,17 +310,16 @@
223.111 #
223.112 CT_DEBUG_dmalloc=y
223.113 CT_DMALLOC_V_5_5_2=y
223.114 -# CT_DMALLOC_V_5_4_3 is not set
223.115 CT_DMALLOC_VERSION="5.5.2"
223.116 CT_DEBUG_duma=y
223.117 CT_DUMA_A=y
223.118 CT_DUMA_SO=y
223.119 -# CT_DUMA_V_2_5_15 is not set
223.120 -CT_DUMA_V_2_5_14=y
223.121 +CT_DUMA_V_2_5_15=y
223.122 +# CT_DUMA_V_2_5_14 is not set
223.123 # CT_DUMA_V_2_5_12 is not set
223.124 # CT_DUMA_V_2_5_8 is not set
223.125 # CT_DUMA_V_2_5_1 is not set
223.126 -CT_DUMA_VERSION="2_5_14"
223.127 +CT_DUMA_VERSION="2_5_15"
223.128 CT_DEBUG_gdb=y
223.129 CT_GDB_CROSS=y
223.130 # CT_GDB_CROSS_STATIC is not set
223.131 @@ -357,12 +328,8 @@
223.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
223.133 CT_GDB_GDBSERVER=y
223.134 CT_GDB_GDBSERVER_STATIC=y
223.135 +# CT_GDB_V_7_0 is not set
223.136 CT_GDB_V_6_8=y
223.137 -# CT_GDB_V_6_7_1 is not set
223.138 -# CT_GDB_V_6_7 is not set
223.139 -# CT_GDB_V_6_6 is not set
223.140 -# CT_GDB_V_6_5 is not set
223.141 -# CT_GDB_V_6_4 is not set
223.142 # CT_GDB_V_snapshot is not set
223.143 CT_GDB_VERSION="6.8"
223.144
223.145 @@ -374,13 +341,12 @@
223.146 CT_NCURSES_VERSION="5.7"
223.147 # CT_DEBUG_ltrace is not set
223.148 CT_DEBUG_strace=y
223.149 -# CT_STRACE_V_4_5_18 is not set
223.150 -CT_STRACE_V_4_5_17=y
223.151 +# CT_STRACE_V_4_5_19 is not set
223.152 +CT_STRACE_V_4_5_18=y
223.153 +# CT_STRACE_V_4_5_17 is not set
223.154 # CT_STRACE_V_4_5_16 is not set
223.155 # CT_STRACE_V_4_5_15 is not set
223.156 -# CT_STRACE_V_4_5_14 is not set
223.157 -# CT_STRACE_V_4_5 is not set
223.158 -CT_STRACE_VERSION="4.5.17"
223.159 +CT_STRACE_VERSION="4.5.18"
223.160
223.161 #
223.162 # Tools facilities
223.163 @@ -396,11 +362,11 @@
223.164 #
223.165 CT_WRAPPER_NEEDED=y
223.166 CT_GMP_MPFR=y
223.167 -# CT_GMP_V_4_3_1 is not set
223.168 +CT_GMP_V_4_3_1=y
223.169 # CT_GMP_V_4_3_0 is not set
223.170 -CT_GMP_V_4_2_4=y
223.171 +# CT_GMP_V_4_2_4 is not set
223.172 # CT_GMP_V_4_2_2 is not set
223.173 -CT_GMP_VERSION="4.2.4"
223.174 +CT_GMP_VERSION="4.3.1"
223.175 CT_MPFR_V_2_4_1=y
223.176 # CT_MPFR_V_2_4_0 is not set
223.177 # CT_MPFR_V_2_3_2 is not set
224.1 --- a/samples/mipsel-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
224.2 +++ b/samples/mipsel-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
224.3 @@ -1,7 +1,7 @@
224.4 #
224.5 # Automatically generated make config: don't edit
224.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
224.7 -# Sun Oct 4 12:50:11 2009
224.8 +# crosstool-NG version: hg_default@1596_241387704817
224.9 +# Wed Oct 28 23:15:56 2009
224.10 #
224.11
224.12 #
224.13 @@ -169,8 +169,13 @@
224.14 CT_KERNEL_linux=y
224.15 CT_KERNEL_LINUX_INSTALL=y
224.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
224.17 +# CT_KERNEL_V_2_6_31_5 is not set
224.18 +# CT_KERNEL_V_2_6_31_4 is not set
224.19 +# CT_KERNEL_V_2_6_31_3 is not set
224.20 +# CT_KERNEL_V_2_6_31_2 is not set
224.21 CT_KERNEL_V_2_6_31_1=y
224.22 # CT_KERNEL_V_2_6_31 is not set
224.23 +# CT_KERNEL_V_3_6_30_9 is not set
224.24 # CT_KERNEL_V_3_6_30_8 is not set
224.25 # CT_KERNEL_V_3_6_30_7 is not set
224.26 # CT_KERNEL_V_2_6_30_6 is not set
224.27 @@ -182,17 +187,7 @@
224.28 # CT_KERNEL_V_2_6_30 is not set
224.29 # CT_KERNEL_V_2_6_29_6 is not set
224.30 # CT_KERNEL_V_2_6_28_10 is not set
224.31 -# CT_KERNEL_V_2_6_27_35 is not set
224.32 -# CT_KERNEL_V_2_6_26_8 is not set
224.33 -# CT_KERNEL_V_2_6_25_20 is not set
224.34 -# CT_KERNEL_V_2_6_24_7 is not set
224.35 -# CT_KERNEL_V_2_6_23_17 is not set
224.36 -# CT_KERNEL_V_2_6_22_19 is not set
224.37 -# CT_KERNEL_V_2_6_21_7 is not set
224.38 -# CT_KERNEL_V_2_6_20_21 is not set
224.39 -# CT_KERNEL_V_2_6_19_7 is not set
224.40 -# CT_KERNEL_V_2_6_18_8 is not set
224.41 -# CT_KERNEL_V_select is not set
224.42 +# CT_KERNEL_V_2_6_27_38 is not set
224.43 CT_KERNEL_LINUX_VERBOSITY_0=y
224.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
224.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
224.46 @@ -213,26 +208,13 @@
224.47 #
224.48 # GNU binutils
224.49 #
224.50 -CT_BINUTILS_VERSION="2.19.1"
224.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
224.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
224.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
224.54 +# CT_BINUTILS_V_2_20 is not set
224.55 CT_BINUTILS_V_2_19_1=y
224.56 # CT_BINUTILS_V_2_19 is not set
224.57 -# CT_BINUTILS_V_2_18_93 is not set
224.58 -# CT_BINUTILS_V_2_18_92 is not set
224.59 -# CT_BINUTILS_V_2_18_91 is not set
224.60 -# CT_BINUTILS_V_2_18_90 is not set
224.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
224.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
224.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
224.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
224.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
224.66 # CT_BINUTILS_V_2_18 is not set
224.67 # CT_BINUTILS_V_2_17 is not set
224.68 # CT_BINUTILS_V_2_16_1 is not set
224.69 -# CT_BINUTILS_V_2_15 is not set
224.70 -# CT_BINUTILS_V_2_14 is not set
224.71 +CT_BINUTILS_VERSION="2.19.1"
224.72 CT_BINUTILS_EXTRA_CONFIG=""
224.73 CT_BINUTILS_FOR_TARGET=y
224.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
224.75 @@ -244,6 +226,7 @@
224.76 CT_CC="gcc"
224.77 CT_CC_VERSION="4.3.2"
224.78 CT_CC_gcc=y
224.79 +# CT_CC_V_4_4_2 is not set
224.80 # CT_CC_V_4_4_1 is not set
224.81 # CT_CC_V_4_4_0 is not set
224.82 # CT_CC_V_4_3_4 is not set
224.83 @@ -257,16 +240,8 @@
224.84 # CT_CC_V_4_2_1 is not set
224.85 # CT_CC_V_4_2_0 is not set
224.86 # CT_CC_V_4_1_2 is not set
224.87 -# CT_CC_V_4_1_1 is not set
224.88 -# CT_CC_V_4_1_0 is not set
224.89 # CT_CC_V_4_0_4 is not set
224.90 -# CT_CC_V_4_0_3 is not set
224.91 -# CT_CC_V_4_0_2 is not set
224.92 -# CT_CC_V_4_0_1 is not set
224.93 -# CT_CC_V_4_0_0 is not set
224.94 # CT_CC_V_3_4_6 is not set
224.95 -# CT_CC_V_3_3_6 is not set
224.96 -# CT_CC_V_3_2_3 is not set
224.97 CT_CC_GCC_4_3_or_later=y
224.98 # CT_CC_GCC_4_4_or_later is not set
224.99 CT_CC_CXA_ATEXIT=y
224.100 @@ -355,17 +330,16 @@
224.101 #
224.102 CT_DEBUG_dmalloc=y
224.103 CT_DMALLOC_V_5_5_2=y
224.104 -# CT_DMALLOC_V_5_4_3 is not set
224.105 CT_DMALLOC_VERSION="5.5.2"
224.106 CT_DEBUG_duma=y
224.107 CT_DUMA_A=y
224.108 CT_DUMA_SO=y
224.109 -# CT_DUMA_V_2_5_15 is not set
224.110 -CT_DUMA_V_2_5_14=y
224.111 +CT_DUMA_V_2_5_15=y
224.112 +# CT_DUMA_V_2_5_14 is not set
224.113 # CT_DUMA_V_2_5_12 is not set
224.114 # CT_DUMA_V_2_5_8 is not set
224.115 # CT_DUMA_V_2_5_1 is not set
224.116 -CT_DUMA_VERSION="2_5_14"
224.117 +CT_DUMA_VERSION="2_5_15"
224.118 CT_DEBUG_gdb=y
224.119 CT_GDB_CROSS=y
224.120 # CT_GDB_CROSS_STATIC is not set
224.121 @@ -374,12 +348,8 @@
224.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
224.123 CT_GDB_GDBSERVER=y
224.124 CT_GDB_GDBSERVER_STATIC=y
224.125 +# CT_GDB_V_7_0 is not set
224.126 CT_GDB_V_6_8=y
224.127 -# CT_GDB_V_6_7_1 is not set
224.128 -# CT_GDB_V_6_7 is not set
224.129 -# CT_GDB_V_6_6 is not set
224.130 -# CT_GDB_V_6_5 is not set
224.131 -# CT_GDB_V_6_4 is not set
224.132 # CT_GDB_V_snapshot is not set
224.133 CT_GDB_VERSION="6.8"
224.134
224.135 @@ -391,13 +361,12 @@
224.136 CT_NCURSES_VERSION="5.7"
224.137 # CT_DEBUG_ltrace is not set
224.138 CT_DEBUG_strace=y
224.139 -# CT_STRACE_V_4_5_18 is not set
224.140 -CT_STRACE_V_4_5_17=y
224.141 +# CT_STRACE_V_4_5_19 is not set
224.142 +CT_STRACE_V_4_5_18=y
224.143 +# CT_STRACE_V_4_5_17 is not set
224.144 # CT_STRACE_V_4_5_16 is not set
224.145 # CT_STRACE_V_4_5_15 is not set
224.146 -# CT_STRACE_V_4_5_14 is not set
224.147 -# CT_STRACE_V_4_5 is not set
224.148 -CT_STRACE_VERSION="4.5.17"
224.149 +CT_STRACE_VERSION="4.5.18"
224.150
224.151 #
224.152 # Tools facilities
224.153 @@ -413,11 +382,11 @@
224.154 #
224.155 CT_WRAPPER_NEEDED=y
224.156 CT_GMP_MPFR=y
224.157 -# CT_GMP_V_4_3_1 is not set
224.158 +CT_GMP_V_4_3_1=y
224.159 # CT_GMP_V_4_3_0 is not set
224.160 -CT_GMP_V_4_2_4=y
224.161 +# CT_GMP_V_4_2_4 is not set
224.162 # CT_GMP_V_4_2_2 is not set
224.163 -CT_GMP_VERSION="4.2.4"
224.164 +CT_GMP_VERSION="4.3.1"
224.165 CT_MPFR_V_2_4_1=y
224.166 # CT_MPFR_V_2_4_0 is not set
224.167 # CT_MPFR_V_2_3_2 is not set
225.1 --- a/samples/powerpc-405-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
225.2 +++ b/samples/powerpc-405-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
225.3 @@ -1,7 +1,7 @@
225.4 #
225.5 # Automatically generated make config: don't edit
225.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
225.7 -# Sun Oct 4 12:50:30 2009
225.8 +# crosstool-NG version: hg_default@1596_241387704817
225.9 +# Wed Oct 28 23:16:25 2009
225.10 #
225.11
225.12 #
225.13 @@ -168,8 +168,13 @@
225.14 CT_KERNEL_linux=y
225.15 CT_KERNEL_LINUX_INSTALL=y
225.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
225.17 +# CT_KERNEL_V_2_6_31_5 is not set
225.18 +# CT_KERNEL_V_2_6_31_4 is not set
225.19 +# CT_KERNEL_V_2_6_31_3 is not set
225.20 +# CT_KERNEL_V_2_6_31_2 is not set
225.21 CT_KERNEL_V_2_6_31_1=y
225.22 # CT_KERNEL_V_2_6_31 is not set
225.23 +# CT_KERNEL_V_3_6_30_9 is not set
225.24 # CT_KERNEL_V_3_6_30_8 is not set
225.25 # CT_KERNEL_V_3_6_30_7 is not set
225.26 # CT_KERNEL_V_2_6_30_6 is not set
225.27 @@ -181,17 +186,7 @@
225.28 # CT_KERNEL_V_2_6_30 is not set
225.29 # CT_KERNEL_V_2_6_29_6 is not set
225.30 # CT_KERNEL_V_2_6_28_10 is not set
225.31 -# CT_KERNEL_V_2_6_27_35 is not set
225.32 -# CT_KERNEL_V_2_6_26_8 is not set
225.33 -# CT_KERNEL_V_2_6_25_20 is not set
225.34 -# CT_KERNEL_V_2_6_24_7 is not set
225.35 -# CT_KERNEL_V_2_6_23_17 is not set
225.36 -# CT_KERNEL_V_2_6_22_19 is not set
225.37 -# CT_KERNEL_V_2_6_21_7 is not set
225.38 -# CT_KERNEL_V_2_6_20_21 is not set
225.39 -# CT_KERNEL_V_2_6_19_7 is not set
225.40 -# CT_KERNEL_V_2_6_18_8 is not set
225.41 -# CT_KERNEL_V_select is not set
225.42 +# CT_KERNEL_V_2_6_27_38 is not set
225.43 CT_KERNEL_LINUX_VERBOSITY_0=y
225.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
225.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
225.46 @@ -212,26 +207,13 @@
225.47 #
225.48 # GNU binutils
225.49 #
225.50 -CT_BINUTILS_VERSION="2.19.1"
225.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
225.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
225.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
225.54 +# CT_BINUTILS_V_2_20 is not set
225.55 CT_BINUTILS_V_2_19_1=y
225.56 # CT_BINUTILS_V_2_19 is not set
225.57 -# CT_BINUTILS_V_2_18_93 is not set
225.58 -# CT_BINUTILS_V_2_18_92 is not set
225.59 -# CT_BINUTILS_V_2_18_91 is not set
225.60 -# CT_BINUTILS_V_2_18_90 is not set
225.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
225.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
225.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
225.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
225.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
225.66 # CT_BINUTILS_V_2_18 is not set
225.67 # CT_BINUTILS_V_2_17 is not set
225.68 # CT_BINUTILS_V_2_16_1 is not set
225.69 -# CT_BINUTILS_V_2_15 is not set
225.70 -# CT_BINUTILS_V_2_14 is not set
225.71 +CT_BINUTILS_VERSION="2.19.1"
225.72 CT_BINUTILS_EXTRA_CONFIG=""
225.73 CT_BINUTILS_FOR_TARGET=y
225.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
225.75 @@ -243,6 +225,7 @@
225.76 CT_CC="gcc"
225.77 CT_CC_VERSION="4.3.2"
225.78 CT_CC_gcc=y
225.79 +# CT_CC_V_4_4_2 is not set
225.80 # CT_CC_V_4_4_1 is not set
225.81 # CT_CC_V_4_4_0 is not set
225.82 # CT_CC_V_4_3_4 is not set
225.83 @@ -256,16 +239,8 @@
225.84 # CT_CC_V_4_2_1 is not set
225.85 # CT_CC_V_4_2_0 is not set
225.86 # CT_CC_V_4_1_2 is not set
225.87 -# CT_CC_V_4_1_1 is not set
225.88 -# CT_CC_V_4_1_0 is not set
225.89 # CT_CC_V_4_0_4 is not set
225.90 -# CT_CC_V_4_0_3 is not set
225.91 -# CT_CC_V_4_0_2 is not set
225.92 -# CT_CC_V_4_0_1 is not set
225.93 -# CT_CC_V_4_0_0 is not set
225.94 # CT_CC_V_3_4_6 is not set
225.95 -# CT_CC_V_3_3_6 is not set
225.96 -# CT_CC_V_3_2_3 is not set
225.97 CT_CC_GCC_4_3_or_later=y
225.98 # CT_CC_GCC_4_4_or_later is not set
225.99 CT_CC_CXA_ATEXIT=y
225.100 @@ -355,17 +330,16 @@
225.101 #
225.102 CT_DEBUG_dmalloc=y
225.103 CT_DMALLOC_V_5_5_2=y
225.104 -# CT_DMALLOC_V_5_4_3 is not set
225.105 CT_DMALLOC_VERSION="5.5.2"
225.106 CT_DEBUG_duma=y
225.107 CT_DUMA_A=y
225.108 CT_DUMA_SO=y
225.109 -# CT_DUMA_V_2_5_15 is not set
225.110 -CT_DUMA_V_2_5_14=y
225.111 +CT_DUMA_V_2_5_15=y
225.112 +# CT_DUMA_V_2_5_14 is not set
225.113 # CT_DUMA_V_2_5_12 is not set
225.114 # CT_DUMA_V_2_5_8 is not set
225.115 # CT_DUMA_V_2_5_1 is not set
225.116 -CT_DUMA_VERSION="2_5_14"
225.117 +CT_DUMA_VERSION="2_5_15"
225.118 CT_DEBUG_gdb=y
225.119 CT_GDB_CROSS=y
225.120 # CT_GDB_CROSS_STATIC is not set
225.121 @@ -374,12 +348,8 @@
225.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
225.123 CT_GDB_GDBSERVER=y
225.124 CT_GDB_GDBSERVER_STATIC=y
225.125 +# CT_GDB_V_7_0 is not set
225.126 CT_GDB_V_6_8=y
225.127 -# CT_GDB_V_6_7_1 is not set
225.128 -# CT_GDB_V_6_7 is not set
225.129 -# CT_GDB_V_6_6 is not set
225.130 -# CT_GDB_V_6_5 is not set
225.131 -# CT_GDB_V_6_4 is not set
225.132 # CT_GDB_V_snapshot is not set
225.133 CT_GDB_VERSION="6.8"
225.134
225.135 @@ -406,11 +376,11 @@
225.136 #
225.137 CT_WRAPPER_NEEDED=y
225.138 CT_GMP_MPFR=y
225.139 -# CT_GMP_V_4_3_1 is not set
225.140 +CT_GMP_V_4_3_1=y
225.141 # CT_GMP_V_4_3_0 is not set
225.142 -CT_GMP_V_4_2_4=y
225.143 +# CT_GMP_V_4_2_4 is not set
225.144 # CT_GMP_V_4_2_2 is not set
225.145 -CT_GMP_VERSION="4.2.4"
225.146 +CT_GMP_VERSION="4.3.1"
225.147 CT_MPFR_V_2_4_1=y
225.148 # CT_MPFR_V_2_4_0 is not set
225.149 # CT_MPFR_V_2_3_2 is not set
226.1 --- a/samples/powerpc-860-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
226.2 +++ b/samples/powerpc-860-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
226.3 @@ -1,7 +1,7 @@
226.4 #
226.5 # Automatically generated make config: don't edit
226.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
226.7 -# Sun Oct 4 12:50:47 2009
226.8 +# crosstool-NG version: hg_default@1596_241387704817
226.9 +# Wed Oct 28 23:16:47 2009
226.10 #
226.11
226.12 #
226.13 @@ -168,8 +168,13 @@
226.14 CT_KERNEL_linux=y
226.15 CT_KERNEL_LINUX_INSTALL=y
226.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
226.17 +# CT_KERNEL_V_2_6_31_5 is not set
226.18 +# CT_KERNEL_V_2_6_31_4 is not set
226.19 +# CT_KERNEL_V_2_6_31_3 is not set
226.20 +# CT_KERNEL_V_2_6_31_2 is not set
226.21 CT_KERNEL_V_2_6_31_1=y
226.22 # CT_KERNEL_V_2_6_31 is not set
226.23 +# CT_KERNEL_V_3_6_30_9 is not set
226.24 # CT_KERNEL_V_3_6_30_8 is not set
226.25 # CT_KERNEL_V_3_6_30_7 is not set
226.26 # CT_KERNEL_V_2_6_30_6 is not set
226.27 @@ -181,17 +186,7 @@
226.28 # CT_KERNEL_V_2_6_30 is not set
226.29 # CT_KERNEL_V_2_6_29_6 is not set
226.30 # CT_KERNEL_V_2_6_28_10 is not set
226.31 -# CT_KERNEL_V_2_6_27_35 is not set
226.32 -# CT_KERNEL_V_2_6_26_8 is not set
226.33 -# CT_KERNEL_V_2_6_25_20 is not set
226.34 -# CT_KERNEL_V_2_6_24_7 is not set
226.35 -# CT_KERNEL_V_2_6_23_17 is not set
226.36 -# CT_KERNEL_V_2_6_22_19 is not set
226.37 -# CT_KERNEL_V_2_6_21_7 is not set
226.38 -# CT_KERNEL_V_2_6_20_21 is not set
226.39 -# CT_KERNEL_V_2_6_19_7 is not set
226.40 -# CT_KERNEL_V_2_6_18_8 is not set
226.41 -# CT_KERNEL_V_select is not set
226.42 +# CT_KERNEL_V_2_6_27_38 is not set
226.43 CT_KERNEL_LINUX_VERBOSITY_0=y
226.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
226.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
226.46 @@ -212,26 +207,13 @@
226.47 #
226.48 # GNU binutils
226.49 #
226.50 -CT_BINUTILS_VERSION="2.19.1"
226.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
226.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
226.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
226.54 +# CT_BINUTILS_V_2_20 is not set
226.55 CT_BINUTILS_V_2_19_1=y
226.56 # CT_BINUTILS_V_2_19 is not set
226.57 -# CT_BINUTILS_V_2_18_93 is not set
226.58 -# CT_BINUTILS_V_2_18_92 is not set
226.59 -# CT_BINUTILS_V_2_18_91 is not set
226.60 -# CT_BINUTILS_V_2_18_90 is not set
226.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
226.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
226.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
226.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
226.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
226.66 # CT_BINUTILS_V_2_18 is not set
226.67 # CT_BINUTILS_V_2_17 is not set
226.68 # CT_BINUTILS_V_2_16_1 is not set
226.69 -# CT_BINUTILS_V_2_15 is not set
226.70 -# CT_BINUTILS_V_2_14 is not set
226.71 +CT_BINUTILS_VERSION="2.19.1"
226.72 CT_BINUTILS_EXTRA_CONFIG=""
226.73 CT_BINUTILS_FOR_TARGET=y
226.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
226.75 @@ -243,6 +225,7 @@
226.76 CT_CC="gcc"
226.77 CT_CC_VERSION="4.3.2"
226.78 CT_CC_gcc=y
226.79 +# CT_CC_V_4_4_2 is not set
226.80 # CT_CC_V_4_4_1 is not set
226.81 # CT_CC_V_4_4_0 is not set
226.82 # CT_CC_V_4_3_4 is not set
226.83 @@ -256,16 +239,8 @@
226.84 # CT_CC_V_4_2_1 is not set
226.85 # CT_CC_V_4_2_0 is not set
226.86 # CT_CC_V_4_1_2 is not set
226.87 -# CT_CC_V_4_1_1 is not set
226.88 -# CT_CC_V_4_1_0 is not set
226.89 # CT_CC_V_4_0_4 is not set
226.90 -# CT_CC_V_4_0_3 is not set
226.91 -# CT_CC_V_4_0_2 is not set
226.92 -# CT_CC_V_4_0_1 is not set
226.93 -# CT_CC_V_4_0_0 is not set
226.94 # CT_CC_V_3_4_6 is not set
226.95 -# CT_CC_V_3_3_6 is not set
226.96 -# CT_CC_V_3_2_3 is not set
226.97 CT_CC_GCC_4_3_or_later=y
226.98 # CT_CC_GCC_4_4_or_later is not set
226.99 CT_CC_CXA_ATEXIT=y
226.100 @@ -362,12 +337,8 @@
226.101 CT_GDB_NATIVE_USE_GMP_MPFR=y
226.102 CT_GDB_GDBSERVER=y
226.103 # CT_GDB_GDBSERVER_STATIC is not set
226.104 +# CT_GDB_V_7_0 is not set
226.105 CT_GDB_V_6_8=y
226.106 -# CT_GDB_V_6_7_1 is not set
226.107 -# CT_GDB_V_6_7 is not set
226.108 -# CT_GDB_V_6_6 is not set
226.109 -# CT_GDB_V_6_5 is not set
226.110 -# CT_GDB_V_6_4 is not set
226.111 # CT_GDB_V_snapshot is not set
226.112 CT_GDB_VERSION="6.8"
226.113
226.114 @@ -379,13 +350,12 @@
226.115 CT_NCURSES_VERSION="5.7"
226.116 # CT_DEBUG_ltrace is not set
226.117 CT_DEBUG_strace=y
226.118 -# CT_STRACE_V_4_5_18 is not set
226.119 -CT_STRACE_V_4_5_17=y
226.120 +# CT_STRACE_V_4_5_19 is not set
226.121 +CT_STRACE_V_4_5_18=y
226.122 +# CT_STRACE_V_4_5_17 is not set
226.123 # CT_STRACE_V_4_5_16 is not set
226.124 # CT_STRACE_V_4_5_15 is not set
226.125 -# CT_STRACE_V_4_5_14 is not set
226.126 -# CT_STRACE_V_4_5 is not set
226.127 -CT_STRACE_VERSION="4.5.17"
226.128 +CT_STRACE_VERSION="4.5.18"
226.129
226.130 #
226.131 # Tools facilities
226.132 @@ -398,11 +368,11 @@
226.133 #
226.134 CT_WRAPPER_NEEDED=y
226.135 CT_GMP_MPFR=y
226.136 -# CT_GMP_V_4_3_1 is not set
226.137 +CT_GMP_V_4_3_1=y
226.138 # CT_GMP_V_4_3_0 is not set
226.139 -CT_GMP_V_4_2_4=y
226.140 +# CT_GMP_V_4_2_4 is not set
226.141 # CT_GMP_V_4_2_2 is not set
226.142 -CT_GMP_VERSION="4.2.4"
226.143 +CT_GMP_VERSION="4.3.1"
226.144 CT_MPFR_V_2_4_1=y
226.145 # CT_MPFR_V_2_4_0 is not set
226.146 # CT_MPFR_V_2_3_2 is not set
227.1 --- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Wed Oct 28 12:03:38 2009 +0100
227.2 +++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Thu Oct 29 00:10:06 2009 +0100
227.3 @@ -1,7 +1,7 @@
227.4 #
227.5 # Automatically generated make config: don't edit
227.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
227.7 -# Sun Oct 4 12:50:59 2009
227.8 +# crosstool-NG version: hg_default@1596_241387704817
227.9 +# Wed Oct 28 23:17:14 2009
227.10 #
227.11
227.12 #
227.13 @@ -169,8 +169,13 @@
227.14 CT_KERNEL_linux=y
227.15 CT_KERNEL_LINUX_INSTALL=y
227.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
227.17 +# CT_KERNEL_V_2_6_31_5 is not set
227.18 +# CT_KERNEL_V_2_6_31_4 is not set
227.19 +# CT_KERNEL_V_2_6_31_3 is not set
227.20 +# CT_KERNEL_V_2_6_31_2 is not set
227.21 CT_KERNEL_V_2_6_31_1=y
227.22 # CT_KERNEL_V_2_6_31 is not set
227.23 +# CT_KERNEL_V_3_6_30_9 is not set
227.24 # CT_KERNEL_V_3_6_30_8 is not set
227.25 # CT_KERNEL_V_3_6_30_7 is not set
227.26 # CT_KERNEL_V_2_6_30_6 is not set
227.27 @@ -182,17 +187,7 @@
227.28 # CT_KERNEL_V_2_6_30 is not set
227.29 # CT_KERNEL_V_2_6_29_6 is not set
227.30 # CT_KERNEL_V_2_6_28_10 is not set
227.31 -# CT_KERNEL_V_2_6_27_35 is not set
227.32 -# CT_KERNEL_V_2_6_26_8 is not set
227.33 -# CT_KERNEL_V_2_6_25_20 is not set
227.34 -# CT_KERNEL_V_2_6_24_7 is not set
227.35 -# CT_KERNEL_V_2_6_23_17 is not set
227.36 -# CT_KERNEL_V_2_6_22_19 is not set
227.37 -# CT_KERNEL_V_2_6_21_7 is not set
227.38 -# CT_KERNEL_V_2_6_20_21 is not set
227.39 -# CT_KERNEL_V_2_6_19_7 is not set
227.40 -# CT_KERNEL_V_2_6_18_8 is not set
227.41 -# CT_KERNEL_V_select is not set
227.42 +# CT_KERNEL_V_2_6_27_38 is not set
227.43 CT_KERNEL_LINUX_VERBOSITY_0=y
227.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
227.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
227.46 @@ -213,26 +208,13 @@
227.47 #
227.48 # GNU binutils
227.49 #
227.50 -CT_BINUTILS_VERSION="2.19.1"
227.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
227.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
227.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
227.54 +# CT_BINUTILS_V_2_20 is not set
227.55 CT_BINUTILS_V_2_19_1=y
227.56 # CT_BINUTILS_V_2_19 is not set
227.57 -# CT_BINUTILS_V_2_18_93 is not set
227.58 -# CT_BINUTILS_V_2_18_92 is not set
227.59 -# CT_BINUTILS_V_2_18_91 is not set
227.60 -# CT_BINUTILS_V_2_18_90 is not set
227.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
227.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
227.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
227.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
227.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
227.66 # CT_BINUTILS_V_2_18 is not set
227.67 # CT_BINUTILS_V_2_17 is not set
227.68 # CT_BINUTILS_V_2_16_1 is not set
227.69 -# CT_BINUTILS_V_2_15 is not set
227.70 -# CT_BINUTILS_V_2_14 is not set
227.71 +CT_BINUTILS_VERSION="2.19.1"
227.72 CT_BINUTILS_EXTRA_CONFIG="--enable-spe=yes --enable-e500x2 --with-e500x2"
227.73 # CT_BINUTILS_FOR_TARGET is not set
227.74
227.75 @@ -242,6 +224,7 @@
227.76 CT_CC="gcc"
227.77 CT_CC_VERSION="4.3.2"
227.78 CT_CC_gcc=y
227.79 +# CT_CC_V_4_4_2 is not set
227.80 # CT_CC_V_4_4_1 is not set
227.81 # CT_CC_V_4_4_0 is not set
227.82 # CT_CC_V_4_3_4 is not set
227.83 @@ -255,16 +238,8 @@
227.84 # CT_CC_V_4_2_1 is not set
227.85 # CT_CC_V_4_2_0 is not set
227.86 # CT_CC_V_4_1_2 is not set
227.87 -# CT_CC_V_4_1_1 is not set
227.88 -# CT_CC_V_4_1_0 is not set
227.89 # CT_CC_V_4_0_4 is not set
227.90 -# CT_CC_V_4_0_3 is not set
227.91 -# CT_CC_V_4_0_2 is not set
227.92 -# CT_CC_V_4_0_1 is not set
227.93 -# CT_CC_V_4_0_0 is not set
227.94 # CT_CC_V_3_4_6 is not set
227.95 -# CT_CC_V_3_3_6 is not set
227.96 -# CT_CC_V_3_2_3 is not set
227.97 CT_CC_GCC_4_3_or_later=y
227.98 # CT_CC_GCC_4_4_or_later is not set
227.99 CT_CC_CXA_ATEXIT=y
227.100 @@ -313,6 +288,7 @@
227.101 # CT_EGLIBC_V_TRUNK is not set
227.102 CT_EGLIBC_REVISION="HEAD"
227.103 CT_EGLIBC_CHECKOUT=y
227.104 +# CT_EGLIBC_CUSTOM_CONFIG is not set
227.105
227.106 #
227.107 # glibc/eglibc common options
227.108 @@ -358,11 +334,11 @@
227.109 #
227.110 CT_WRAPPER_NEEDED=y
227.111 CT_GMP_MPFR=y
227.112 -# CT_GMP_V_4_3_1 is not set
227.113 +CT_GMP_V_4_3_1=y
227.114 # CT_GMP_V_4_3_0 is not set
227.115 -CT_GMP_V_4_2_4=y
227.116 +# CT_GMP_V_4_2_4 is not set
227.117 # CT_GMP_V_4_2_2 is not set
227.118 -CT_GMP_VERSION="4.2.4"
227.119 +CT_GMP_VERSION="4.3.1"
227.120 CT_MPFR_V_2_4_1=y
227.121 # CT_MPFR_V_2_4_0 is not set
227.122 # CT_MPFR_V_2_3_2 is not set
228.1 --- a/samples/powerpc-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
228.2 +++ b/samples/powerpc-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
228.3 @@ -1,7 +1,7 @@
228.4 #
228.5 # Automatically generated make config: don't edit
228.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
228.7 -# Sun Oct 4 12:51:28 2009
228.8 +# crosstool-NG version: hg_default@1596_241387704817
228.9 +# Wed Oct 28 23:18:06 2009
228.10 #
228.11
228.12 #
228.13 @@ -168,8 +168,13 @@
228.14 CT_KERNEL_linux=y
228.15 CT_KERNEL_LINUX_INSTALL=y
228.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
228.17 +# CT_KERNEL_V_2_6_31_5 is not set
228.18 +# CT_KERNEL_V_2_6_31_4 is not set
228.19 +# CT_KERNEL_V_2_6_31_3 is not set
228.20 +# CT_KERNEL_V_2_6_31_2 is not set
228.21 CT_KERNEL_V_2_6_31_1=y
228.22 # CT_KERNEL_V_2_6_31 is not set
228.23 +# CT_KERNEL_V_3_6_30_9 is not set
228.24 # CT_KERNEL_V_3_6_30_8 is not set
228.25 # CT_KERNEL_V_3_6_30_7 is not set
228.26 # CT_KERNEL_V_2_6_30_6 is not set
228.27 @@ -181,17 +186,7 @@
228.28 # CT_KERNEL_V_2_6_30 is not set
228.29 # CT_KERNEL_V_2_6_29_6 is not set
228.30 # CT_KERNEL_V_2_6_28_10 is not set
228.31 -# CT_KERNEL_V_2_6_27_35 is not set
228.32 -# CT_KERNEL_V_2_6_26_8 is not set
228.33 -# CT_KERNEL_V_2_6_25_20 is not set
228.34 -# CT_KERNEL_V_2_6_24_7 is not set
228.35 -# CT_KERNEL_V_2_6_23_17 is not set
228.36 -# CT_KERNEL_V_2_6_22_19 is not set
228.37 -# CT_KERNEL_V_2_6_21_7 is not set
228.38 -# CT_KERNEL_V_2_6_20_21 is not set
228.39 -# CT_KERNEL_V_2_6_19_7 is not set
228.40 -# CT_KERNEL_V_2_6_18_8 is not set
228.41 -# CT_KERNEL_V_select is not set
228.42 +# CT_KERNEL_V_2_6_27_38 is not set
228.43 CT_KERNEL_LINUX_VERBOSITY_0=y
228.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
228.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
228.46 @@ -212,26 +207,13 @@
228.47 #
228.48 # GNU binutils
228.49 #
228.50 -CT_BINUTILS_VERSION="2.19.1"
228.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
228.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
228.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
228.54 +# CT_BINUTILS_V_2_20 is not set
228.55 CT_BINUTILS_V_2_19_1=y
228.56 # CT_BINUTILS_V_2_19 is not set
228.57 -# CT_BINUTILS_V_2_18_93 is not set
228.58 -# CT_BINUTILS_V_2_18_92 is not set
228.59 -# CT_BINUTILS_V_2_18_91 is not set
228.60 -# CT_BINUTILS_V_2_18_90 is not set
228.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
228.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
228.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
228.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
228.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
228.66 # CT_BINUTILS_V_2_18 is not set
228.67 # CT_BINUTILS_V_2_17 is not set
228.68 # CT_BINUTILS_V_2_16_1 is not set
228.69 -# CT_BINUTILS_V_2_15 is not set
228.70 -# CT_BINUTILS_V_2_14 is not set
228.71 +CT_BINUTILS_VERSION="2.19.1"
228.72 CT_BINUTILS_EXTRA_CONFIG=""
228.73 CT_BINUTILS_FOR_TARGET=y
228.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
228.75 @@ -243,6 +225,7 @@
228.76 CT_CC="gcc"
228.77 CT_CC_VERSION="4.3.2"
228.78 CT_CC_gcc=y
228.79 +# CT_CC_V_4_4_2 is not set
228.80 # CT_CC_V_4_4_1 is not set
228.81 # CT_CC_V_4_4_0 is not set
228.82 # CT_CC_V_4_3_4 is not set
228.83 @@ -256,16 +239,8 @@
228.84 # CT_CC_V_4_2_1 is not set
228.85 # CT_CC_V_4_2_0 is not set
228.86 # CT_CC_V_4_1_2 is not set
228.87 -# CT_CC_V_4_1_1 is not set
228.88 -# CT_CC_V_4_1_0 is not set
228.89 # CT_CC_V_4_0_4 is not set
228.90 -# CT_CC_V_4_0_3 is not set
228.91 -# CT_CC_V_4_0_2 is not set
228.92 -# CT_CC_V_4_0_1 is not set
228.93 -# CT_CC_V_4_0_0 is not set
228.94 # CT_CC_V_3_4_6 is not set
228.95 -# CT_CC_V_3_3_6 is not set
228.96 -# CT_CC_V_3_2_3 is not set
228.97 CT_CC_GCC_4_3_or_later=y
228.98 # CT_CC_GCC_4_4_or_later is not set
228.99 CT_CC_CXA_ATEXIT=y
228.100 @@ -342,17 +317,16 @@
228.101 #
228.102 CT_DEBUG_dmalloc=y
228.103 CT_DMALLOC_V_5_5_2=y
228.104 -# CT_DMALLOC_V_5_4_3 is not set
228.105 CT_DMALLOC_VERSION="5.5.2"
228.106 CT_DEBUG_duma=y
228.107 CT_DUMA_A=y
228.108 CT_DUMA_SO=y
228.109 -# CT_DUMA_V_2_5_15 is not set
228.110 -CT_DUMA_V_2_5_14=y
228.111 +CT_DUMA_V_2_5_15=y
228.112 +# CT_DUMA_V_2_5_14 is not set
228.113 # CT_DUMA_V_2_5_12 is not set
228.114 # CT_DUMA_V_2_5_8 is not set
228.115 # CT_DUMA_V_2_5_1 is not set
228.116 -CT_DUMA_VERSION="2_5_14"
228.117 +CT_DUMA_VERSION="2_5_15"
228.118 CT_DEBUG_gdb=y
228.119 CT_GDB_CROSS=y
228.120 # CT_GDB_CROSS_STATIC is not set
228.121 @@ -361,12 +335,8 @@
228.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
228.123 CT_GDB_GDBSERVER=y
228.124 CT_GDB_GDBSERVER_STATIC=y
228.125 +# CT_GDB_V_7_0 is not set
228.126 CT_GDB_V_6_8=y
228.127 -# CT_GDB_V_6_7_1 is not set
228.128 -# CT_GDB_V_6_7 is not set
228.129 -# CT_GDB_V_6_6 is not set
228.130 -# CT_GDB_V_6_5 is not set
228.131 -# CT_GDB_V_6_4 is not set
228.132 # CT_GDB_V_snapshot is not set
228.133 CT_GDB_VERSION="6.8"
228.134
228.135 @@ -378,13 +348,12 @@
228.136 CT_NCURSES_VERSION="5.7"
228.137 # CT_DEBUG_ltrace is not set
228.138 CT_DEBUG_strace=y
228.139 -# CT_STRACE_V_4_5_18 is not set
228.140 -CT_STRACE_V_4_5_17=y
228.141 +# CT_STRACE_V_4_5_19 is not set
228.142 +CT_STRACE_V_4_5_18=y
228.143 +# CT_STRACE_V_4_5_17 is not set
228.144 # CT_STRACE_V_4_5_16 is not set
228.145 # CT_STRACE_V_4_5_15 is not set
228.146 -# CT_STRACE_V_4_5_14 is not set
228.147 -# CT_STRACE_V_4_5 is not set
228.148 -CT_STRACE_VERSION="4.5.17"
228.149 +CT_STRACE_VERSION="4.5.18"
228.150
228.151 #
228.152 # Tools facilities
228.153 @@ -400,11 +369,11 @@
228.154 #
228.155 CT_WRAPPER_NEEDED=y
228.156 CT_GMP_MPFR=y
228.157 -# CT_GMP_V_4_3_1 is not set
228.158 +CT_GMP_V_4_3_1=y
228.159 # CT_GMP_V_4_3_0 is not set
228.160 -CT_GMP_V_4_2_4=y
228.161 +# CT_GMP_V_4_2_4 is not set
228.162 # CT_GMP_V_4_2_2 is not set
228.163 -CT_GMP_VERSION="4.2.4"
228.164 +CT_GMP_VERSION="4.3.1"
228.165 CT_MPFR_V_2_4_1=y
228.166 # CT_MPFR_V_2_4_0 is not set
228.167 # CT_MPFR_V_2_3_2 is not set
229.1 --- a/samples/powerpc-unknown-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
229.2 +++ b/samples/powerpc-unknown-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
229.3 @@ -1,7 +1,7 @@
229.4 #
229.5 # Automatically generated make config: don't edit
229.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
229.7 -# Sun Oct 4 12:51:39 2009
229.8 +# crosstool-NG version: hg_default@1596_241387704817
229.9 +# Wed Oct 28 23:18:19 2009
229.10 #
229.11
229.12 #
229.13 @@ -168,8 +168,13 @@
229.14 CT_KERNEL_linux=y
229.15 CT_KERNEL_LINUX_INSTALL=y
229.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
229.17 +# CT_KERNEL_V_2_6_31_5 is not set
229.18 +# CT_KERNEL_V_2_6_31_4 is not set
229.19 +# CT_KERNEL_V_2_6_31_3 is not set
229.20 +# CT_KERNEL_V_2_6_31_2 is not set
229.21 CT_KERNEL_V_2_6_31_1=y
229.22 # CT_KERNEL_V_2_6_31 is not set
229.23 +# CT_KERNEL_V_3_6_30_9 is not set
229.24 # CT_KERNEL_V_3_6_30_8 is not set
229.25 # CT_KERNEL_V_3_6_30_7 is not set
229.26 # CT_KERNEL_V_2_6_30_6 is not set
229.27 @@ -181,17 +186,7 @@
229.28 # CT_KERNEL_V_2_6_30 is not set
229.29 # CT_KERNEL_V_2_6_29_6 is not set
229.30 # CT_KERNEL_V_2_6_28_10 is not set
229.31 -# CT_KERNEL_V_2_6_27_35 is not set
229.32 -# CT_KERNEL_V_2_6_26_8 is not set
229.33 -# CT_KERNEL_V_2_6_25_20 is not set
229.34 -# CT_KERNEL_V_2_6_24_7 is not set
229.35 -# CT_KERNEL_V_2_6_23_17 is not set
229.36 -# CT_KERNEL_V_2_6_22_19 is not set
229.37 -# CT_KERNEL_V_2_6_21_7 is not set
229.38 -# CT_KERNEL_V_2_6_20_21 is not set
229.39 -# CT_KERNEL_V_2_6_19_7 is not set
229.40 -# CT_KERNEL_V_2_6_18_8 is not set
229.41 -# CT_KERNEL_V_select is not set
229.42 +# CT_KERNEL_V_2_6_27_38 is not set
229.43 CT_KERNEL_LINUX_VERBOSITY_0=y
229.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
229.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
229.46 @@ -212,26 +207,13 @@
229.47 #
229.48 # GNU binutils
229.49 #
229.50 -CT_BINUTILS_VERSION="2.19.1"
229.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
229.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
229.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
229.54 +# CT_BINUTILS_V_2_20 is not set
229.55 CT_BINUTILS_V_2_19_1=y
229.56 # CT_BINUTILS_V_2_19 is not set
229.57 -# CT_BINUTILS_V_2_18_93 is not set
229.58 -# CT_BINUTILS_V_2_18_92 is not set
229.59 -# CT_BINUTILS_V_2_18_91 is not set
229.60 -# CT_BINUTILS_V_2_18_90 is not set
229.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
229.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
229.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
229.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
229.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
229.66 # CT_BINUTILS_V_2_18 is not set
229.67 # CT_BINUTILS_V_2_17 is not set
229.68 # CT_BINUTILS_V_2_16_1 is not set
229.69 -# CT_BINUTILS_V_2_15 is not set
229.70 -# CT_BINUTILS_V_2_14 is not set
229.71 +CT_BINUTILS_VERSION="2.19.1"
229.72 CT_BINUTILS_EXTRA_CONFIG=""
229.73 CT_BINUTILS_FOR_TARGET=y
229.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
229.75 @@ -243,6 +225,7 @@
229.76 CT_CC="gcc"
229.77 CT_CC_VERSION="4.2.4"
229.78 CT_CC_gcc=y
229.79 +# CT_CC_V_4_4_2 is not set
229.80 # CT_CC_V_4_4_1 is not set
229.81 # CT_CC_V_4_4_0 is not set
229.82 # CT_CC_V_4_3_4 is not set
229.83 @@ -256,16 +239,8 @@
229.84 # CT_CC_V_4_2_1 is not set
229.85 # CT_CC_V_4_2_0 is not set
229.86 # CT_CC_V_4_1_2 is not set
229.87 -# CT_CC_V_4_1_1 is not set
229.88 -# CT_CC_V_4_1_0 is not set
229.89 # CT_CC_V_4_0_4 is not set
229.90 -# CT_CC_V_4_0_3 is not set
229.91 -# CT_CC_V_4_0_2 is not set
229.92 -# CT_CC_V_4_0_1 is not set
229.93 -# CT_CC_V_4_0_0 is not set
229.94 # CT_CC_V_3_4_6 is not set
229.95 -# CT_CC_V_3_3_6 is not set
229.96 -# CT_CC_V_3_2_3 is not set
229.97 # CT_CC_GCC_4_3_or_later is not set
229.98 # CT_CC_GCC_4_4_or_later is not set
229.99 CT_CC_CXA_ATEXIT=y
229.100 @@ -302,9 +277,6 @@
229.101 # CT_LIBC_V_0_9_30 is not set
229.102 # CT_LIBC_V_0_9_29 is not set
229.103 # CT_LIBC_V_0_9_28_3 is not set
229.104 -# CT_LIBC_V_0_9_28_2 is not set
229.105 -# CT_LIBC_V_0_9_28_1 is not set
229.106 -# CT_LIBC_V_0_9_28 is not set
229.107 # CT_LIBC_V_snapshot is not set
229.108 # CT_LIBC_V_specific_date is not set
229.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
229.110 @@ -335,17 +307,16 @@
229.111 #
229.112 CT_DEBUG_dmalloc=y
229.113 CT_DMALLOC_V_5_5_2=y
229.114 -# CT_DMALLOC_V_5_4_3 is not set
229.115 CT_DMALLOC_VERSION="5.5.2"
229.116 CT_DEBUG_duma=y
229.117 CT_DUMA_A=y
229.118 CT_DUMA_SO=y
229.119 -# CT_DUMA_V_2_5_15 is not set
229.120 -CT_DUMA_V_2_5_14=y
229.121 +CT_DUMA_V_2_5_15=y
229.122 +# CT_DUMA_V_2_5_14 is not set
229.123 # CT_DUMA_V_2_5_12 is not set
229.124 # CT_DUMA_V_2_5_8 is not set
229.125 # CT_DUMA_V_2_5_1 is not set
229.126 -CT_DUMA_VERSION="2_5_14"
229.127 +CT_DUMA_VERSION="2_5_15"
229.128 CT_DEBUG_gdb=y
229.129 CT_GDB_CROSS=y
229.130 # CT_GDB_CROSS_STATIC is not set
229.131 @@ -354,12 +325,8 @@
229.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
229.133 CT_GDB_GDBSERVER=y
229.134 CT_GDB_GDBSERVER_STATIC=y
229.135 +# CT_GDB_V_7_0 is not set
229.136 CT_GDB_V_6_8=y
229.137 -# CT_GDB_V_6_7_1 is not set
229.138 -# CT_GDB_V_6_7 is not set
229.139 -# CT_GDB_V_6_6 is not set
229.140 -# CT_GDB_V_6_5 is not set
229.141 -# CT_GDB_V_6_4 is not set
229.142 # CT_GDB_V_snapshot is not set
229.143 CT_GDB_VERSION="6.8"
229.144
229.145 @@ -371,13 +338,12 @@
229.146 CT_NCURSES_VERSION="5.7"
229.147 # CT_DEBUG_ltrace is not set
229.148 CT_DEBUG_strace=y
229.149 -# CT_STRACE_V_4_5_18 is not set
229.150 -CT_STRACE_V_4_5_17=y
229.151 +# CT_STRACE_V_4_5_19 is not set
229.152 +CT_STRACE_V_4_5_18=y
229.153 +# CT_STRACE_V_4_5_17 is not set
229.154 # CT_STRACE_V_4_5_16 is not set
229.155 # CT_STRACE_V_4_5_15 is not set
229.156 -# CT_STRACE_V_4_5_14 is not set
229.157 -# CT_STRACE_V_4_5 is not set
229.158 -CT_STRACE_VERSION="4.5.17"
229.159 +CT_STRACE_VERSION="4.5.18"
229.160
229.161 #
229.162 # Tools facilities
229.163 @@ -393,11 +359,11 @@
229.164 #
229.165 CT_WRAPPER_NEEDED=y
229.166 CT_GMP_MPFR=y
229.167 -# CT_GMP_V_4_3_1 is not set
229.168 +CT_GMP_V_4_3_1=y
229.169 # CT_GMP_V_4_3_0 is not set
229.170 -CT_GMP_V_4_2_4=y
229.171 +# CT_GMP_V_4_2_4 is not set
229.172 # CT_GMP_V_4_2_2 is not set
229.173 -CT_GMP_VERSION="4.2.4"
229.174 +CT_GMP_VERSION="4.3.1"
229.175 CT_MPFR_V_2_4_1=y
229.176 # CT_MPFR_V_2_4_0 is not set
229.177 # CT_MPFR_V_2_3_2 is not set
230.1 --- a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
230.2 +++ b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
230.3 @@ -1,7 +1,7 @@
230.4 #
230.5 # Automatically generated make config: don't edit
230.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
230.7 -# Sun Oct 4 12:51:50 2009
230.8 +# crosstool-NG version: hg_default@1596_241387704817
230.9 +# Wed Oct 28 23:18:40 2009
230.10 #
230.11
230.12 #
230.13 @@ -168,8 +168,13 @@
230.14 CT_KERNEL_linux=y
230.15 CT_KERNEL_LINUX_INSTALL=y
230.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
230.17 +# CT_KERNEL_V_2_6_31_5 is not set
230.18 +# CT_KERNEL_V_2_6_31_4 is not set
230.19 +# CT_KERNEL_V_2_6_31_3 is not set
230.20 +# CT_KERNEL_V_2_6_31_2 is not set
230.21 CT_KERNEL_V_2_6_31_1=y
230.22 # CT_KERNEL_V_2_6_31 is not set
230.23 +# CT_KERNEL_V_3_6_30_9 is not set
230.24 # CT_KERNEL_V_3_6_30_8 is not set
230.25 # CT_KERNEL_V_3_6_30_7 is not set
230.26 # CT_KERNEL_V_2_6_30_6 is not set
230.27 @@ -181,17 +186,7 @@
230.28 # CT_KERNEL_V_2_6_30 is not set
230.29 # CT_KERNEL_V_2_6_29_6 is not set
230.30 # CT_KERNEL_V_2_6_28_10 is not set
230.31 -# CT_KERNEL_V_2_6_27_35 is not set
230.32 -# CT_KERNEL_V_2_6_26_8 is not set
230.33 -# CT_KERNEL_V_2_6_25_20 is not set
230.34 -# CT_KERNEL_V_2_6_24_7 is not set
230.35 -# CT_KERNEL_V_2_6_23_17 is not set
230.36 -# CT_KERNEL_V_2_6_22_19 is not set
230.37 -# CT_KERNEL_V_2_6_21_7 is not set
230.38 -# CT_KERNEL_V_2_6_20_21 is not set
230.39 -# CT_KERNEL_V_2_6_19_7 is not set
230.40 -# CT_KERNEL_V_2_6_18_8 is not set
230.41 -# CT_KERNEL_V_select is not set
230.42 +# CT_KERNEL_V_2_6_27_38 is not set
230.43 CT_KERNEL_LINUX_VERBOSITY_0=y
230.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
230.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
230.46 @@ -212,26 +207,13 @@
230.47 #
230.48 # GNU binutils
230.49 #
230.50 -CT_BINUTILS_VERSION="2.19.1"
230.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
230.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
230.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
230.54 +# CT_BINUTILS_V_2_20 is not set
230.55 CT_BINUTILS_V_2_19_1=y
230.56 # CT_BINUTILS_V_2_19 is not set
230.57 -# CT_BINUTILS_V_2_18_93 is not set
230.58 -# CT_BINUTILS_V_2_18_92 is not set
230.59 -# CT_BINUTILS_V_2_18_91 is not set
230.60 -# CT_BINUTILS_V_2_18_90 is not set
230.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
230.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
230.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
230.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
230.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
230.66 # CT_BINUTILS_V_2_18 is not set
230.67 # CT_BINUTILS_V_2_17 is not set
230.68 # CT_BINUTILS_V_2_16_1 is not set
230.69 -# CT_BINUTILS_V_2_15 is not set
230.70 -# CT_BINUTILS_V_2_14 is not set
230.71 +CT_BINUTILS_VERSION="2.19.1"
230.72 CT_BINUTILS_EXTRA_CONFIG=""
230.73 CT_BINUTILS_FOR_TARGET=y
230.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
230.75 @@ -243,6 +225,7 @@
230.76 CT_CC="gcc"
230.77 CT_CC_VERSION="4.3.2"
230.78 CT_CC_gcc=y
230.79 +# CT_CC_V_4_4_2 is not set
230.80 # CT_CC_V_4_4_1 is not set
230.81 # CT_CC_V_4_4_0 is not set
230.82 # CT_CC_V_4_3_4 is not set
230.83 @@ -256,16 +239,8 @@
230.84 # CT_CC_V_4_2_1 is not set
230.85 # CT_CC_V_4_2_0 is not set
230.86 # CT_CC_V_4_1_2 is not set
230.87 -# CT_CC_V_4_1_1 is not set
230.88 -# CT_CC_V_4_1_0 is not set
230.89 # CT_CC_V_4_0_4 is not set
230.90 -# CT_CC_V_4_0_3 is not set
230.91 -# CT_CC_V_4_0_2 is not set
230.92 -# CT_CC_V_4_0_1 is not set
230.93 -# CT_CC_V_4_0_0 is not set
230.94 # CT_CC_V_3_4_6 is not set
230.95 -# CT_CC_V_3_3_6 is not set
230.96 -# CT_CC_V_3_2_3 is not set
230.97 CT_CC_GCC_4_3_or_later=y
230.98 # CT_CC_GCC_4_4_or_later is not set
230.99 CT_CC_CXA_ATEXIT=y
230.100 @@ -355,17 +330,16 @@
230.101 #
230.102 CT_DEBUG_dmalloc=y
230.103 CT_DMALLOC_V_5_5_2=y
230.104 -# CT_DMALLOC_V_5_4_3 is not set
230.105 CT_DMALLOC_VERSION="5.5.2"
230.106 CT_DEBUG_duma=y
230.107 CT_DUMA_A=y
230.108 CT_DUMA_SO=y
230.109 -# CT_DUMA_V_2_5_15 is not set
230.110 -CT_DUMA_V_2_5_14=y
230.111 +CT_DUMA_V_2_5_15=y
230.112 +# CT_DUMA_V_2_5_14 is not set
230.113 # CT_DUMA_V_2_5_12 is not set
230.114 # CT_DUMA_V_2_5_8 is not set
230.115 # CT_DUMA_V_2_5_1 is not set
230.116 -CT_DUMA_VERSION="2_5_14"
230.117 +CT_DUMA_VERSION="2_5_15"
230.118 CT_DEBUG_gdb=y
230.119 CT_GDB_CROSS=y
230.120 # CT_GDB_CROSS_STATIC is not set
230.121 @@ -374,12 +348,8 @@
230.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
230.123 CT_GDB_GDBSERVER=y
230.124 CT_GDB_GDBSERVER_STATIC=y
230.125 +# CT_GDB_V_7_0 is not set
230.126 CT_GDB_V_6_8=y
230.127 -# CT_GDB_V_6_7_1 is not set
230.128 -# CT_GDB_V_6_7 is not set
230.129 -# CT_GDB_V_6_6 is not set
230.130 -# CT_GDB_V_6_5 is not set
230.131 -# CT_GDB_V_6_4 is not set
230.132 # CT_GDB_V_snapshot is not set
230.133 CT_GDB_VERSION="6.8"
230.134
230.135 @@ -391,13 +361,12 @@
230.136 CT_NCURSES_VERSION="5.7"
230.137 # CT_DEBUG_ltrace is not set
230.138 CT_DEBUG_strace=y
230.139 -# CT_STRACE_V_4_5_18 is not set
230.140 -CT_STRACE_V_4_5_17=y
230.141 +# CT_STRACE_V_4_5_19 is not set
230.142 +CT_STRACE_V_4_5_18=y
230.143 +# CT_STRACE_V_4_5_17 is not set
230.144 # CT_STRACE_V_4_5_16 is not set
230.145 # CT_STRACE_V_4_5_15 is not set
230.146 -# CT_STRACE_V_4_5_14 is not set
230.147 -# CT_STRACE_V_4_5 is not set
230.148 -CT_STRACE_VERSION="4.5.17"
230.149 +CT_STRACE_VERSION="4.5.18"
230.150
230.151 #
230.152 # Tools facilities
230.153 @@ -413,11 +382,11 @@
230.154 #
230.155 CT_WRAPPER_NEEDED=y
230.156 CT_GMP_MPFR=y
230.157 -# CT_GMP_V_4_3_1 is not set
230.158 +CT_GMP_V_4_3_1=y
230.159 # CT_GMP_V_4_3_0 is not set
230.160 -CT_GMP_V_4_2_4=y
230.161 +# CT_GMP_V_4_2_4 is not set
230.162 # CT_GMP_V_4_2_2 is not set
230.163 -CT_GMP_VERSION="4.2.4"
230.164 +CT_GMP_VERSION="4.3.1"
230.165 CT_MPFR_V_2_4_1=y
230.166 # CT_MPFR_V_2_4_0 is not set
230.167 # CT_MPFR_V_2_3_2 is not set
231.1 --- a/samples/powerpc64-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
231.2 +++ b/samples/powerpc64-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
231.3 @@ -1,7 +1,7 @@
231.4 #
231.5 # Automatically generated make config: don't edit
231.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
231.7 -# Sun Oct 4 12:52:00 2009
231.8 +# crosstool-NG version: hg_default@1596_241387704817
231.9 +# Wed Oct 28 23:19:09 2009
231.10 #
231.11
231.12 #
231.13 @@ -169,8 +169,13 @@
231.14 CT_KERNEL_linux=y
231.15 CT_KERNEL_LINUX_INSTALL=y
231.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
231.17 +# CT_KERNEL_V_2_6_31_5 is not set
231.18 +# CT_KERNEL_V_2_6_31_4 is not set
231.19 +# CT_KERNEL_V_2_6_31_3 is not set
231.20 +# CT_KERNEL_V_2_6_31_2 is not set
231.21 CT_KERNEL_V_2_6_31_1=y
231.22 # CT_KERNEL_V_2_6_31 is not set
231.23 +# CT_KERNEL_V_3_6_30_9 is not set
231.24 # CT_KERNEL_V_3_6_30_8 is not set
231.25 # CT_KERNEL_V_3_6_30_7 is not set
231.26 # CT_KERNEL_V_2_6_30_6 is not set
231.27 @@ -182,17 +187,7 @@
231.28 # CT_KERNEL_V_2_6_30 is not set
231.29 # CT_KERNEL_V_2_6_29_6 is not set
231.30 # CT_KERNEL_V_2_6_28_10 is not set
231.31 -# CT_KERNEL_V_2_6_27_35 is not set
231.32 -# CT_KERNEL_V_2_6_26_8 is not set
231.33 -# CT_KERNEL_V_2_6_25_20 is not set
231.34 -# CT_KERNEL_V_2_6_24_7 is not set
231.35 -# CT_KERNEL_V_2_6_23_17 is not set
231.36 -# CT_KERNEL_V_2_6_22_19 is not set
231.37 -# CT_KERNEL_V_2_6_21_7 is not set
231.38 -# CT_KERNEL_V_2_6_20_21 is not set
231.39 -# CT_KERNEL_V_2_6_19_7 is not set
231.40 -# CT_KERNEL_V_2_6_18_8 is not set
231.41 -# CT_KERNEL_V_select is not set
231.42 +# CT_KERNEL_V_2_6_27_38 is not set
231.43 CT_KERNEL_LINUX_VERBOSITY_0=y
231.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
231.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
231.46 @@ -213,26 +208,13 @@
231.47 #
231.48 # GNU binutils
231.49 #
231.50 -CT_BINUTILS_VERSION="2.19.1"
231.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
231.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
231.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
231.54 +# CT_BINUTILS_V_2_20 is not set
231.55 CT_BINUTILS_V_2_19_1=y
231.56 # CT_BINUTILS_V_2_19 is not set
231.57 -# CT_BINUTILS_V_2_18_93 is not set
231.58 -# CT_BINUTILS_V_2_18_92 is not set
231.59 -# CT_BINUTILS_V_2_18_91 is not set
231.60 -# CT_BINUTILS_V_2_18_90 is not set
231.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
231.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
231.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
231.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
231.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
231.66 # CT_BINUTILS_V_2_18 is not set
231.67 # CT_BINUTILS_V_2_17 is not set
231.68 # CT_BINUTILS_V_2_16_1 is not set
231.69 -# CT_BINUTILS_V_2_15 is not set
231.70 -# CT_BINUTILS_V_2_14 is not set
231.71 +CT_BINUTILS_VERSION="2.19.1"
231.72 CT_BINUTILS_EXTRA_CONFIG=""
231.73 CT_BINUTILS_FOR_TARGET=y
231.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
231.75 @@ -244,6 +226,7 @@
231.76 CT_CC="gcc"
231.77 CT_CC_VERSION="4.3.2"
231.78 CT_CC_gcc=y
231.79 +# CT_CC_V_4_4_2 is not set
231.80 # CT_CC_V_4_4_1 is not set
231.81 # CT_CC_V_4_4_0 is not set
231.82 # CT_CC_V_4_3_4 is not set
231.83 @@ -257,16 +240,8 @@
231.84 # CT_CC_V_4_2_1 is not set
231.85 # CT_CC_V_4_2_0 is not set
231.86 # CT_CC_V_4_1_2 is not set
231.87 -# CT_CC_V_4_1_1 is not set
231.88 -# CT_CC_V_4_1_0 is not set
231.89 # CT_CC_V_4_0_4 is not set
231.90 -# CT_CC_V_4_0_3 is not set
231.91 -# CT_CC_V_4_0_2 is not set
231.92 -# CT_CC_V_4_0_1 is not set
231.93 -# CT_CC_V_4_0_0 is not set
231.94 # CT_CC_V_3_4_6 is not set
231.95 -# CT_CC_V_3_3_6 is not set
231.96 -# CT_CC_V_3_2_3 is not set
231.97 CT_CC_GCC_4_3_or_later=y
231.98 # CT_CC_GCC_4_4_or_later is not set
231.99 CT_CC_CXA_ATEXIT=y
231.100 @@ -347,17 +322,16 @@
231.101 #
231.102 CT_DEBUG_dmalloc=y
231.103 CT_DMALLOC_V_5_5_2=y
231.104 -# CT_DMALLOC_V_5_4_3 is not set
231.105 CT_DMALLOC_VERSION="5.5.2"
231.106 CT_DEBUG_duma=y
231.107 CT_DUMA_A=y
231.108 CT_DUMA_SO=y
231.109 -# CT_DUMA_V_2_5_15 is not set
231.110 -CT_DUMA_V_2_5_14=y
231.111 +CT_DUMA_V_2_5_15=y
231.112 +# CT_DUMA_V_2_5_14 is not set
231.113 # CT_DUMA_V_2_5_12 is not set
231.114 # CT_DUMA_V_2_5_8 is not set
231.115 # CT_DUMA_V_2_5_1 is not set
231.116 -CT_DUMA_VERSION="2_5_14"
231.117 +CT_DUMA_VERSION="2_5_15"
231.118 CT_DEBUG_gdb=y
231.119 CT_GDB_CROSS=y
231.120 # CT_GDB_CROSS_STATIC is not set
231.121 @@ -367,12 +341,8 @@
231.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
231.123 CT_GDB_GDBSERVER=y
231.124 CT_GDB_GDBSERVER_STATIC=y
231.125 +# CT_GDB_V_7_0 is not set
231.126 CT_GDB_V_6_8=y
231.127 -# CT_GDB_V_6_7_1 is not set
231.128 -# CT_GDB_V_6_7 is not set
231.129 -# CT_GDB_V_6_6 is not set
231.130 -# CT_GDB_V_6_5 is not set
231.131 -# CT_GDB_V_6_4 is not set
231.132 # CT_GDB_V_snapshot is not set
231.133 CT_GDB_VERSION="6.8"
231.134
231.135 @@ -384,13 +354,12 @@
231.136 CT_NCURSES_VERSION="5.7"
231.137 # CT_DEBUG_ltrace is not set
231.138 CT_DEBUG_strace=y
231.139 -# CT_STRACE_V_4_5_18 is not set
231.140 -CT_STRACE_V_4_5_17=y
231.141 +# CT_STRACE_V_4_5_19 is not set
231.142 +CT_STRACE_V_4_5_18=y
231.143 +# CT_STRACE_V_4_5_17 is not set
231.144 # CT_STRACE_V_4_5_16 is not set
231.145 # CT_STRACE_V_4_5_15 is not set
231.146 -# CT_STRACE_V_4_5_14 is not set
231.147 -# CT_STRACE_V_4_5 is not set
231.148 -CT_STRACE_VERSION="4.5.17"
231.149 +CT_STRACE_VERSION="4.5.18"
231.150
231.151 #
231.152 # Tools facilities
231.153 @@ -406,11 +375,11 @@
231.154 #
231.155 CT_WRAPPER_NEEDED=y
231.156 CT_GMP_MPFR=y
231.157 -# CT_GMP_V_4_3_1 is not set
231.158 +CT_GMP_V_4_3_1=y
231.159 # CT_GMP_V_4_3_0 is not set
231.160 -CT_GMP_V_4_2_4=y
231.161 +# CT_GMP_V_4_2_4 is not set
231.162 # CT_GMP_V_4_2_2 is not set
231.163 -CT_GMP_VERSION="4.2.4"
231.164 +CT_GMP_VERSION="4.3.1"
231.165 CT_MPFR_V_2_4_1=y
231.166 # CT_MPFR_V_2_4_0 is not set
231.167 # CT_MPFR_V_2_3_2 is not set
232.1 --- a/samples/sh4-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
232.2 +++ b/samples/sh4-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
232.3 @@ -1,7 +1,7 @@
232.4 #
232.5 # Automatically generated make config: don't edit
232.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
232.7 -# Sun Oct 4 12:52:14 2009
232.8 +# crosstool-NG version: hg_default@1596_241387704817
232.9 +# Wed Oct 28 23:19:40 2009
232.10 #
232.11
232.12 #
232.13 @@ -171,8 +171,13 @@
232.14 CT_KERNEL_linux=y
232.15 CT_KERNEL_LINUX_INSTALL=y
232.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
232.17 +# CT_KERNEL_V_2_6_31_5 is not set
232.18 +# CT_KERNEL_V_2_6_31_4 is not set
232.19 +# CT_KERNEL_V_2_6_31_3 is not set
232.20 +# CT_KERNEL_V_2_6_31_2 is not set
232.21 CT_KERNEL_V_2_6_31_1=y
232.22 # CT_KERNEL_V_2_6_31 is not set
232.23 +# CT_KERNEL_V_3_6_30_9 is not set
232.24 # CT_KERNEL_V_3_6_30_8 is not set
232.25 # CT_KERNEL_V_3_6_30_7 is not set
232.26 # CT_KERNEL_V_2_6_30_6 is not set
232.27 @@ -184,17 +189,7 @@
232.28 # CT_KERNEL_V_2_6_30 is not set
232.29 # CT_KERNEL_V_2_6_29_6 is not set
232.30 # CT_KERNEL_V_2_6_28_10 is not set
232.31 -# CT_KERNEL_V_2_6_27_35 is not set
232.32 -# CT_KERNEL_V_2_6_26_8 is not set
232.33 -# CT_KERNEL_V_2_6_25_20 is not set
232.34 -# CT_KERNEL_V_2_6_24_7 is not set
232.35 -# CT_KERNEL_V_2_6_23_17 is not set
232.36 -# CT_KERNEL_V_2_6_22_19 is not set
232.37 -# CT_KERNEL_V_2_6_21_7 is not set
232.38 -# CT_KERNEL_V_2_6_20_21 is not set
232.39 -# CT_KERNEL_V_2_6_19_7 is not set
232.40 -# CT_KERNEL_V_2_6_18_8 is not set
232.41 -# CT_KERNEL_V_select is not set
232.42 +# CT_KERNEL_V_2_6_27_38 is not set
232.43 CT_KERNEL_LINUX_VERBOSITY_0=y
232.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
232.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
232.46 @@ -215,26 +210,13 @@
232.47 #
232.48 # GNU binutils
232.49 #
232.50 -CT_BINUTILS_VERSION="2.19"
232.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
232.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
232.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
232.54 +# CT_BINUTILS_V_2_20 is not set
232.55 # CT_BINUTILS_V_2_19_1 is not set
232.56 CT_BINUTILS_V_2_19=y
232.57 -# CT_BINUTILS_V_2_18_93 is not set
232.58 -# CT_BINUTILS_V_2_18_92 is not set
232.59 -# CT_BINUTILS_V_2_18_91 is not set
232.60 -# CT_BINUTILS_V_2_18_90 is not set
232.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
232.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
232.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
232.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
232.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
232.66 # CT_BINUTILS_V_2_18 is not set
232.67 # CT_BINUTILS_V_2_17 is not set
232.68 # CT_BINUTILS_V_2_16_1 is not set
232.69 -# CT_BINUTILS_V_2_15 is not set
232.70 -# CT_BINUTILS_V_2_14 is not set
232.71 +CT_BINUTILS_VERSION="2.19"
232.72 CT_BINUTILS_EXTRA_CONFIG=""
232.73 # CT_BINUTILS_FOR_TARGET is not set
232.74
232.75 @@ -244,6 +226,7 @@
232.76 CT_CC="gcc"
232.77 CT_CC_VERSION="4.3.2"
232.78 CT_CC_gcc=y
232.79 +# CT_CC_V_4_4_2 is not set
232.80 # CT_CC_V_4_4_1 is not set
232.81 # CT_CC_V_4_4_0 is not set
232.82 # CT_CC_V_4_3_4 is not set
232.83 @@ -257,16 +240,8 @@
232.84 # CT_CC_V_4_2_1 is not set
232.85 # CT_CC_V_4_2_0 is not set
232.86 # CT_CC_V_4_1_2 is not set
232.87 -# CT_CC_V_4_1_1 is not set
232.88 -# CT_CC_V_4_1_0 is not set
232.89 # CT_CC_V_4_0_4 is not set
232.90 -# CT_CC_V_4_0_3 is not set
232.91 -# CT_CC_V_4_0_2 is not set
232.92 -# CT_CC_V_4_0_1 is not set
232.93 -# CT_CC_V_4_0_0 is not set
232.94 # CT_CC_V_3_4_6 is not set
232.95 -# CT_CC_V_3_3_6 is not set
232.96 -# CT_CC_V_3_2_3 is not set
232.97 CT_CC_GCC_4_3_or_later=y
232.98 # CT_CC_GCC_4_4_or_later is not set
232.99 CT_CC_CXA_ATEXIT=y
233.1 --- a/samples/x86_64-unknown-linux-gnu/crosstool.config Wed Oct 28 12:03:38 2009 +0100
233.2 +++ b/samples/x86_64-unknown-linux-gnu/crosstool.config Thu Oct 29 00:10:06 2009 +0100
233.3 @@ -1,7 +1,7 @@
233.4 #
233.5 # Automatically generated make config: don't edit
233.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
233.7 -# Sun Oct 4 12:52:36 2009
233.8 +# crosstool-NG version: hg_default@1596_241387704817
233.9 +# Wed Oct 28 23:20:03 2009
233.10 #
233.11
233.12 #
233.13 @@ -167,8 +167,13 @@
233.14 CT_KERNEL_linux=y
233.15 CT_KERNEL_LINUX_INSTALL=y
233.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
233.17 +# CT_KERNEL_V_2_6_31_5 is not set
233.18 +# CT_KERNEL_V_2_6_31_4 is not set
233.19 +# CT_KERNEL_V_2_6_31_3 is not set
233.20 +# CT_KERNEL_V_2_6_31_2 is not set
233.21 CT_KERNEL_V_2_6_31_1=y
233.22 # CT_KERNEL_V_2_6_31 is not set
233.23 +# CT_KERNEL_V_3_6_30_9 is not set
233.24 # CT_KERNEL_V_3_6_30_8 is not set
233.25 # CT_KERNEL_V_3_6_30_7 is not set
233.26 # CT_KERNEL_V_2_6_30_6 is not set
233.27 @@ -180,17 +185,7 @@
233.28 # CT_KERNEL_V_2_6_30 is not set
233.29 # CT_KERNEL_V_2_6_29_6 is not set
233.30 # CT_KERNEL_V_2_6_28_10 is not set
233.31 -# CT_KERNEL_V_2_6_27_35 is not set
233.32 -# CT_KERNEL_V_2_6_26_8 is not set
233.33 -# CT_KERNEL_V_2_6_25_20 is not set
233.34 -# CT_KERNEL_V_2_6_24_7 is not set
233.35 -# CT_KERNEL_V_2_6_23_17 is not set
233.36 -# CT_KERNEL_V_2_6_22_19 is not set
233.37 -# CT_KERNEL_V_2_6_21_7 is not set
233.38 -# CT_KERNEL_V_2_6_20_21 is not set
233.39 -# CT_KERNEL_V_2_6_19_7 is not set
233.40 -# CT_KERNEL_V_2_6_18_8 is not set
233.41 -# CT_KERNEL_V_select is not set
233.42 +# CT_KERNEL_V_2_6_27_38 is not set
233.43 CT_KERNEL_LINUX_VERBOSITY_0=y
233.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
233.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
233.46 @@ -211,26 +206,13 @@
233.47 #
233.48 # GNU binutils
233.49 #
233.50 -CT_BINUTILS_VERSION="2.19.1"
233.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
233.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
233.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
233.54 +# CT_BINUTILS_V_2_20 is not set
233.55 CT_BINUTILS_V_2_19_1=y
233.56 # CT_BINUTILS_V_2_19 is not set
233.57 -# CT_BINUTILS_V_2_18_93 is not set
233.58 -# CT_BINUTILS_V_2_18_92 is not set
233.59 -# CT_BINUTILS_V_2_18_91 is not set
233.60 -# CT_BINUTILS_V_2_18_90 is not set
233.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
233.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
233.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
233.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
233.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
233.66 # CT_BINUTILS_V_2_18 is not set
233.67 # CT_BINUTILS_V_2_17 is not set
233.68 # CT_BINUTILS_V_2_16_1 is not set
233.69 -# CT_BINUTILS_V_2_15 is not set
233.70 -# CT_BINUTILS_V_2_14 is not set
233.71 +CT_BINUTILS_VERSION="2.19.1"
233.72 CT_BINUTILS_EXTRA_CONFIG=""
233.73 CT_BINUTILS_FOR_TARGET=y
233.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
233.75 @@ -242,6 +224,7 @@
233.76 CT_CC="gcc"
233.77 CT_CC_VERSION="4.3.2"
233.78 CT_CC_gcc=y
233.79 +# CT_CC_V_4_4_2 is not set
233.80 # CT_CC_V_4_4_1 is not set
233.81 # CT_CC_V_4_4_0 is not set
233.82 # CT_CC_V_4_3_4 is not set
233.83 @@ -255,16 +238,8 @@
233.84 # CT_CC_V_4_2_1 is not set
233.85 # CT_CC_V_4_2_0 is not set
233.86 # CT_CC_V_4_1_2 is not set
233.87 -# CT_CC_V_4_1_1 is not set
233.88 -# CT_CC_V_4_1_0 is not set
233.89 # CT_CC_V_4_0_4 is not set
233.90 -# CT_CC_V_4_0_3 is not set
233.91 -# CT_CC_V_4_0_2 is not set
233.92 -# CT_CC_V_4_0_1 is not set
233.93 -# CT_CC_V_4_0_0 is not set
233.94 # CT_CC_V_3_4_6 is not set
233.95 -# CT_CC_V_3_3_6 is not set
233.96 -# CT_CC_V_3_2_3 is not set
233.97 CT_CC_GCC_4_3_or_later=y
233.98 # CT_CC_GCC_4_4_or_later is not set
233.99 CT_CC_CXA_ATEXIT=y
233.100 @@ -341,17 +316,16 @@
233.101 #
233.102 CT_DEBUG_dmalloc=y
233.103 CT_DMALLOC_V_5_5_2=y
233.104 -# CT_DMALLOC_V_5_4_3 is not set
233.105 CT_DMALLOC_VERSION="5.5.2"
233.106 CT_DEBUG_duma=y
233.107 CT_DUMA_A=y
233.108 CT_DUMA_SO=y
233.109 -# CT_DUMA_V_2_5_15 is not set
233.110 -CT_DUMA_V_2_5_14=y
233.111 +CT_DUMA_V_2_5_15=y
233.112 +# CT_DUMA_V_2_5_14 is not set
233.113 # CT_DUMA_V_2_5_12 is not set
233.114 # CT_DUMA_V_2_5_8 is not set
233.115 # CT_DUMA_V_2_5_1 is not set
233.116 -CT_DUMA_VERSION="2_5_14"
233.117 +CT_DUMA_VERSION="2_5_15"
233.118 CT_DEBUG_gdb=y
233.119 CT_GDB_CROSS=y
233.120 # CT_GDB_CROSS_STATIC is not set
233.121 @@ -360,12 +334,8 @@
233.122 CT_GDB_NATIVE_USE_GMP_MPFR=y
233.123 CT_GDB_GDBSERVER=y
233.124 CT_GDB_GDBSERVER_STATIC=y
233.125 +# CT_GDB_V_7_0 is not set
233.126 CT_GDB_V_6_8=y
233.127 -# CT_GDB_V_6_7_1 is not set
233.128 -# CT_GDB_V_6_7 is not set
233.129 -# CT_GDB_V_6_6 is not set
233.130 -# CT_GDB_V_6_5 is not set
233.131 -# CT_GDB_V_6_4 is not set
233.132 # CT_GDB_V_snapshot is not set
233.133 CT_GDB_VERSION="6.8"
233.134
233.135 @@ -376,19 +346,18 @@
233.136 # CT_NCURSES_V_5_6 is not set
233.137 CT_NCURSES_VERSION="5.7"
233.138 CT_DEBUG_ltrace=y
233.139 -# CT_LTRACE_V_0_5_2 is not set
233.140 +CT_LTRACE_V_0_5_2=y
233.141 # CT_LTRACE_V_0_5_1 is not set
233.142 -CT_LTRACE_V_0_5=y
233.143 +# CT_LTRACE_V_0_5 is not set
233.144 # CT_LTRACE_V_0_4 is not set
233.145 -CT_LTRACE_VERSION="0.5"
233.146 +CT_LTRACE_VERSION="0.5.2"
233.147 CT_DEBUG_strace=y
233.148 -# CT_STRACE_V_4_5_18 is not set
233.149 -CT_STRACE_V_4_5_17=y
233.150 +# CT_STRACE_V_4_5_19 is not set
233.151 +CT_STRACE_V_4_5_18=y
233.152 +# CT_STRACE_V_4_5_17 is not set
233.153 # CT_STRACE_V_4_5_16 is not set
233.154 # CT_STRACE_V_4_5_15 is not set
233.155 -# CT_STRACE_V_4_5_14 is not set
233.156 -# CT_STRACE_V_4_5 is not set
233.157 -CT_STRACE_VERSION="4.5.17"
233.158 +CT_STRACE_VERSION="4.5.18"
233.159
233.160 #
233.161 # Tools facilities
233.162 @@ -408,11 +377,11 @@
233.163 #
233.164 CT_WRAPPER_NEEDED=y
233.165 CT_GMP_MPFR=y
233.166 -# CT_GMP_V_4_3_1 is not set
233.167 +CT_GMP_V_4_3_1=y
233.168 # CT_GMP_V_4_3_0 is not set
233.169 -CT_GMP_V_4_2_4=y
233.170 +# CT_GMP_V_4_2_4 is not set
233.171 # CT_GMP_V_4_2_2 is not set
233.172 -CT_GMP_VERSION="4.2.4"
233.173 +CT_GMP_VERSION="4.3.1"
233.174 CT_MPFR_V_2_4_1=y
233.175 # CT_MPFR_V_2_4_0 is not set
233.176 # CT_MPFR_V_2_3_2 is not set
234.1 --- a/samples/x86_64-unknown-linux-uclibc/crosstool.config Wed Oct 28 12:03:38 2009 +0100
234.2 +++ b/samples/x86_64-unknown-linux-uclibc/crosstool.config Thu Oct 29 00:10:06 2009 +0100
234.3 @@ -1,7 +1,7 @@
234.4 #
234.5 # Automatically generated make config: don't edit
234.6 -# crosstool-NG version: hg_default@1562_fdf936326ccd
234.7 -# Sun Oct 4 12:52:44 2009
234.8 +# crosstool-NG version: hg_default@1596_241387704817
234.9 +# Wed Oct 28 23:20:18 2009
234.10 #
234.11
234.12 #
234.13 @@ -167,8 +167,13 @@
234.14 CT_KERNEL_linux=y
234.15 CT_KERNEL_LINUX_INSTALL=y
234.16 CT_KERNEL_LINUX_INSTALL_CHECK=y
234.17 +# CT_KERNEL_V_2_6_31_5 is not set
234.18 +# CT_KERNEL_V_2_6_31_4 is not set
234.19 +# CT_KERNEL_V_2_6_31_3 is not set
234.20 +# CT_KERNEL_V_2_6_31_2 is not set
234.21 CT_KERNEL_V_2_6_31_1=y
234.22 # CT_KERNEL_V_2_6_31 is not set
234.23 +# CT_KERNEL_V_3_6_30_9 is not set
234.24 # CT_KERNEL_V_3_6_30_8 is not set
234.25 # CT_KERNEL_V_3_6_30_7 is not set
234.26 # CT_KERNEL_V_2_6_30_6 is not set
234.27 @@ -180,17 +185,7 @@
234.28 # CT_KERNEL_V_2_6_30 is not set
234.29 # CT_KERNEL_V_2_6_29_6 is not set
234.30 # CT_KERNEL_V_2_6_28_10 is not set
234.31 -# CT_KERNEL_V_2_6_27_35 is not set
234.32 -# CT_KERNEL_V_2_6_26_8 is not set
234.33 -# CT_KERNEL_V_2_6_25_20 is not set
234.34 -# CT_KERNEL_V_2_6_24_7 is not set
234.35 -# CT_KERNEL_V_2_6_23_17 is not set
234.36 -# CT_KERNEL_V_2_6_22_19 is not set
234.37 -# CT_KERNEL_V_2_6_21_7 is not set
234.38 -# CT_KERNEL_V_2_6_20_21 is not set
234.39 -# CT_KERNEL_V_2_6_19_7 is not set
234.40 -# CT_KERNEL_V_2_6_18_8 is not set
234.41 -# CT_KERNEL_V_select is not set
234.42 +# CT_KERNEL_V_2_6_27_38 is not set
234.43 CT_KERNEL_LINUX_VERBOSITY_0=y
234.44 # CT_KERNEL_LINUX_VERBOSITY_1 is not set
234.45 # CT_KERNEL_LINUX_VERBOSITY_2 is not set
234.46 @@ -211,26 +206,13 @@
234.47 #
234.48 # GNU binutils
234.49 #
234.50 -CT_BINUTILS_VERSION="2.19.1"
234.51 -# CT_BINUTILS_V_2_19_51_0_2 is not set
234.52 -# CT_BINUTILS_V_2_19_51_0_1 is not set
234.53 -# CT_BINUTILS_V_2_19_50_0_1 is not set
234.54 +# CT_BINUTILS_V_2_20 is not set
234.55 CT_BINUTILS_V_2_19_1=y
234.56 # CT_BINUTILS_V_2_19 is not set
234.57 -# CT_BINUTILS_V_2_18_93 is not set
234.58 -# CT_BINUTILS_V_2_18_92 is not set
234.59 -# CT_BINUTILS_V_2_18_91 is not set
234.60 -# CT_BINUTILS_V_2_18_90 is not set
234.61 -# CT_BINUTILS_V_2_18_50_0_9 is not set
234.62 -# CT_BINUTILS_V_2_18_50_0_8 is not set
234.63 -# CT_BINUTILS_V_2_18_50_0_7 is not set
234.64 -# CT_BINUTILS_V_2_18_50_0_6 is not set
234.65 -# CT_BINUTILS_V_2_18_50_0_4 is not set
234.66 # CT_BINUTILS_V_2_18 is not set
234.67 # CT_BINUTILS_V_2_17 is not set
234.68 # CT_BINUTILS_V_2_16_1 is not set
234.69 -# CT_BINUTILS_V_2_15 is not set
234.70 -# CT_BINUTILS_V_2_14 is not set
234.71 +CT_BINUTILS_VERSION="2.19.1"
234.72 CT_BINUTILS_EXTRA_CONFIG=""
234.73 CT_BINUTILS_FOR_TARGET=y
234.74 CT_BINUTILS_FOR_TARGET_IBERTY=y
234.75 @@ -242,6 +224,7 @@
234.76 CT_CC="gcc"
234.77 CT_CC_VERSION="4.3.2"
234.78 CT_CC_gcc=y
234.79 +# CT_CC_V_4_4_2 is not set
234.80 # CT_CC_V_4_4_1 is not set
234.81 # CT_CC_V_4_4_0 is not set
234.82 # CT_CC_V_4_3_4 is not set
234.83 @@ -255,16 +238,8 @@
234.84 # CT_CC_V_4_2_1 is not set
234.85 # CT_CC_V_4_2_0 is not set
234.86 # CT_CC_V_4_1_2 is not set
234.87 -# CT_CC_V_4_1_1 is not set
234.88 -# CT_CC_V_4_1_0 is not set
234.89 # CT_CC_V_4_0_4 is not set
234.90 -# CT_CC_V_4_0_3 is not set
234.91 -# CT_CC_V_4_0_2 is not set
234.92 -# CT_CC_V_4_0_1 is not set
234.93 -# CT_CC_V_4_0_0 is not set
234.94 # CT_CC_V_3_4_6 is not set
234.95 -# CT_CC_V_3_3_6 is not set
234.96 -# CT_CC_V_3_2_3 is not set
234.97 CT_CC_GCC_4_3_or_later=y
234.98 # CT_CC_GCC_4_4_or_later is not set
234.99 CT_CC_CXA_ATEXIT=y
234.100 @@ -304,9 +279,6 @@
234.101 # CT_LIBC_V_0_9_30 is not set
234.102 # CT_LIBC_V_0_9_29 is not set
234.103 # CT_LIBC_V_0_9_28_3 is not set
234.104 -# CT_LIBC_V_0_9_28_2 is not set
234.105 -# CT_LIBC_V_0_9_28_1 is not set
234.106 -# CT_LIBC_V_0_9_28 is not set
234.107 # CT_LIBC_V_snapshot is not set
234.108 # CT_LIBC_V_specific_date is not set
234.109 CT_LIBC_UCLIBC_0_9_30_or_later=y
234.110 @@ -337,17 +309,16 @@
234.111 #
234.112 CT_DEBUG_dmalloc=y
234.113 CT_DMALLOC_V_5_5_2=y
234.114 -# CT_DMALLOC_V_5_4_3 is not set
234.115 CT_DMALLOC_VERSION="5.5.2"
234.116 CT_DEBUG_duma=y
234.117 CT_DUMA_A=y
234.118 CT_DUMA_SO=y
234.119 -# CT_DUMA_V_2_5_15 is not set
234.120 -CT_DUMA_V_2_5_14=y
234.121 +CT_DUMA_V_2_5_15=y
234.122 +# CT_DUMA_V_2_5_14 is not set
234.123 # CT_DUMA_V_2_5_12 is not set
234.124 # CT_DUMA_V_2_5_8 is not set
234.125 # CT_DUMA_V_2_5_1 is not set
234.126 -CT_DUMA_VERSION="2_5_14"
234.127 +CT_DUMA_VERSION="2_5_15"
234.128 CT_DEBUG_gdb=y
234.129 CT_GDB_CROSS=y
234.130 # CT_GDB_CROSS_STATIC is not set
234.131 @@ -356,12 +327,8 @@
234.132 CT_GDB_NATIVE_USE_GMP_MPFR=y
234.133 CT_GDB_GDBSERVER=y
234.134 CT_GDB_GDBSERVER_STATIC=y
234.135 +# CT_GDB_V_7_0 is not set
234.136 CT_GDB_V_6_8=y
234.137 -# CT_GDB_V_6_7_1 is not set
234.138 -# CT_GDB_V_6_7 is not set
234.139 -# CT_GDB_V_6_6 is not set
234.140 -# CT_GDB_V_6_5 is not set
234.141 -# CT_GDB_V_6_4 is not set
234.142 # CT_GDB_V_snapshot is not set
234.143 CT_GDB_VERSION="6.8"
234.144
234.145 @@ -372,19 +339,18 @@
234.146 # CT_NCURSES_V_5_6 is not set
234.147 CT_NCURSES_VERSION="5.7"
234.148 CT_DEBUG_ltrace=y
234.149 -# CT_LTRACE_V_0_5_2 is not set
234.150 +CT_LTRACE_V_0_5_2=y
234.151 # CT_LTRACE_V_0_5_1 is not set
234.152 -CT_LTRACE_V_0_5=y
234.153 +# CT_LTRACE_V_0_5 is not set
234.154 # CT_LTRACE_V_0_4 is not set
234.155 -CT_LTRACE_VERSION="0.5"
234.156 +CT_LTRACE_VERSION="0.5.2"
234.157 CT_DEBUG_strace=y
234.158 -# CT_STRACE_V_4_5_18 is not set
234.159 -CT_STRACE_V_4_5_17=y
234.160 +# CT_STRACE_V_4_5_19 is not set
234.161 +CT_STRACE_V_4_5_18=y
234.162 +# CT_STRACE_V_4_5_17 is not set
234.163 # CT_STRACE_V_4_5_16 is not set
234.164 # CT_STRACE_V_4_5_15 is not set
234.165 -# CT_STRACE_V_4_5_14 is not set
234.166 -# CT_STRACE_V_4_5 is not set
234.167 -CT_STRACE_VERSION="4.5.17"
234.168 +CT_STRACE_VERSION="4.5.18"
234.169
234.170 #
234.171 # Tools facilities
234.172 @@ -404,11 +370,11 @@
234.173 #
234.174 CT_WRAPPER_NEEDED=y
234.175 CT_GMP_MPFR=y
234.176 -# CT_GMP_V_4_3_1 is not set
234.177 +CT_GMP_V_4_3_1=y
234.178 # CT_GMP_V_4_3_0 is not set
234.179 -CT_GMP_V_4_2_4=y
234.180 +# CT_GMP_V_4_2_4 is not set
234.181 # CT_GMP_V_4_2_2 is not set
234.182 -CT_GMP_VERSION="4.2.4"
234.183 +CT_GMP_VERSION="4.3.1"
234.184 CT_MPFR_V_2_4_1=y
234.185 # CT_MPFR_V_2_4_0 is not set
234.186 # CT_MPFR_V_2_3_2 is not set
235.1 --- a/scripts/addToolVersion.sh Wed Oct 28 12:03:38 2009 +0100
235.2 +++ b/scripts/addToolVersion.sh Thu Oct 29 00:10:06 2009 +0100
235.3 @@ -124,7 +124,7 @@
235.4 case "$1" in
235.5 # Tools:
235.6 --gcc) EXP=; OBS=; cat=CC; tool=gcc; tool_prefix=cc;;
235.7 - --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=;;
235.8 + --binutils) EXP=; OBS=; cat=BINUTILS; tool=binutils; tool_prefix=binutils;;
235.9 --glibc) EXP=; OBS=; cat=LIBC; tool=glibc; tool_prefix=libc;;
235.10 --eglibc) EXP=; OBS=; cat=LIBC; tool=eglibc; tool_prefix=libc;;
235.11 --uClibc) EXP=; OBS=; cat=LIBC; tool=uClibc; tool_prefix=libc;;
236.1 --- a/scripts/patch-renumber.sh Wed Oct 28 12:03:38 2009 +0100
236.2 +++ b/scripts/patch-renumber.sh Thu Oct 29 00:10:06 2009 +0100
236.3 @@ -9,33 +9,45 @@
236.4
236.5 doUsage() {
236.6 cat <<_EOF_
236.7 -Usage: ${myname} <dir> <base> <inc>
236.8 - Will renumber all patches found in <dir>, starting at <base>, and with
236.9 - an increment of <inc>
236.10 - Eg.: patch-renumber patches/gcc/4.3.1 100 10
236.11 +Usage: ${myname} <dir> <base> <inc> [sed_re]
236.12 + Will renumber all patches found in 'dir', starting at 'base', and with
236.13 + an increment of 'inc'.
236.14 + If 'sed_re' is given, it is interpreted as a valid sed expression, and
236.15 + it will be applied to the patch name.
236.16 + If the environment variable FAKE is set to 'y', then the command will
236.17 + only be printed, and not executed (so you can check beforehand).
236.18 + Eg.:
236.19 + patch-renumber.sh patches/gcc/4.3.1 100 10
236.20 + patch-renumber.sh patches/gcc/4.2.4 100 10 's/(all[_-])*(gcc[-_])*//;'
236.21 _EOF_
236.22 }
236.23
236.24 -[ $# -eq 3 ] || { doUsage; exit 1; }
236.25 +[ $# -lt 3 -o $# -gt 4 ] && { doUsage; exit 1; }
236.26 [ -d "${1}" ] || { doUsage; exit 1; }
236.27
236.28 dir="${1}"
236.29 cpt="${2}"
236.30 inc="${3}"
236.31 +sed_re="${4}"
236.32
236.33 case "$(LC_ALL=C hg id "${dir}" 2>/dev/null)" in
236.34 - "") CMD="mv -v";;
236.35 - *) CMD="hg mv";;
236.36 + "") CMD="";;
236.37 + *) CMD="hg";;
236.38 esac
236.39
236.40 -for p in "${dir}"/*.patch; do
236.41 +if [ "${FAKE}" = "y" ]; then
236.42 + CMD="echo ${CMD}"
236.43 +fi
236.44 +
236.45 +for p in "${dir}"/*.patch*; do
236.46 [ -e "${p}" ] || { echo "No such file '${p}'"; exit 1; }
236.47 - newname="$(printf "%03d-%s" \
236.48 - "${cpt}" \
236.49 - "$(basename "${p}" \
236.50 - |"${sed}" -r -e 's/^[[:digit:]]+[-_]//' \
236.51 - )" \
236.52 + newname="$(printf "%03d-%s" \
236.53 + "${cpt}" \
236.54 + "$( basename "${p}" \
236.55 + |"${sed}" -r -e 's/^[[:digit:]]+[-_]//' \
236.56 + -e "${sed_re}" \
236.57 + )" \
236.58 )"
236.59 - [ "${p}" = "${dir}/${newname}" ] || ${CMD} "${p}" "${dir}/${newname}"
236.60 + [ "${p}" = "${dir}/${newname}" ] || ${CMD} mv -v "${p}" "${dir}/${newname}"
236.61 cpt=$((cpt+inc))
236.62 done