summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/patches/gcc-core-4.1.1-rtems4.7-20070613.diff
blob: f14dd1315cfbc52da199067507a5109cdd7c2bb0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Common subdirectories: gcc-4.1.1.orig/config and gcc-4.1.1/config
Common subdirectories: gcc-4.1.1.orig/contrib and gcc-4.1.1/contrib
Common subdirectories: gcc-4.1.1.orig/fixincludes and gcc-4.1.1/fixincludes
Common subdirectories: gcc-4.1.1.orig/gcc and gcc-4.1.1/gcc
diff -uNt gcc-4.1.1.orig/gcc-core-4.1.2-rtems4.8-20070613.diff gcc-4.1.1/gcc-core-4.1.2-rtems4.8-20070613.diff
--- gcc-4.1.1.orig/gcc-core-4.1.2-rtems4.8-20070613.diff	1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.1.1/gcc-core-4.1.2-rtems4.8-20070613.diff	2007-06-14 04:15:19.000000000 +0200
@@ -0,0 +1,114 @@
+diff -uNr gcc-4.1.2.orig/gcc/config/arm/rtems-elf.h gcc-4.1.2/gcc/config/arm/rtems-elf.h
+--- gcc-4.1.2.orig/gcc/config/arm/rtems-elf.h   2005-11-22 00:28:29.000000000 +0100
++++ gcc-4.1.2/gcc/config/arm/rtems-elf.h        2007-06-13 17:19:33.000000000 +0200
+@@ -27,6 +27,7 @@
+ #define TARGET_OS_CPP_BUILTINS()               \
+     do {                                       \
+        builtin_define ("__rtems__");           \
++       builtin_define ("__USE_INIT_FINI__");   \
+        builtin_assert ("system=rtems");        \
+     } while (0)
+ 
+diff -uNr gcc-4.1.2.orig/gcc/config/c4x/rtems.h gcc-4.1.2/gcc/config/c4x/rtems.h
+--- gcc-4.1.2.orig/gcc/config/c4x/rtems.h       2005-06-25 03:22:41.000000000 +0200
++++ gcc-4.1.2/gcc/config/c4x/rtems.h    2007-06-13 17:19:33.000000000 +0200
+@@ -24,6 +24,5 @@
+ #define TARGET_OS_CPP_BUILTINS()               \
+     do {                                       \
+        builtin_define ("__rtems__");           \
+-       builtin_define ("__USE_INIT_FINI__");   \
+        builtin_assert ("system=rtems");        \
+     } while (0)
+diff -uNr gcc-4.1.2.orig/gcc/config/mips/elf.h gcc-4.1.2/gcc/config/mips/elf.h
+--- gcc-4.1.2.orig/gcc/config/mips/elf.h        2005-07-09 10:46:34.000000000 +0200
++++ gcc-4.1.2/gcc/config/mips/elf.h     2007-06-13 17:19:33.000000000 +0200
+@@ -48,5 +48,3 @@
+ 
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
+-
+-#define NO_IMPLICIT_EXTERN_C 1
+diff -uNr gcc-4.1.2.orig/gcc/config/mips/mips.h gcc-4.1.2/gcc/config/mips/mips.h
+--- gcc-4.1.2.orig/gcc/config/mips/mips.h       2006-02-17 22:38:59.000000000 +0100
++++ gcc-4.1.2/gcc/config/mips/mips.h    2007-06-13 17:19:34.000000000 +0200
+@@ -450,6 +450,8 @@
+ #endif
+ #endif /* IN_LIBGCC2 */
+ 
++#define TARGET_LIBGCC_SDATA_SECTION ".sdata"
++
+ #ifndef MULTILIB_ENDIAN_DEFAULT
+ #if TARGET_ENDIAN_DEFAULT == 0
+ #define MULTILIB_ENDIAN_DEFAULT "EL"
+@@ -2712,7 +2714,6 @@
+ /* Define the strings to put out for each section in the object file.  */
+ #define TEXT_SECTION_ASM_OP    "\t.text"       /* instructions */
+ #define DATA_SECTION_ASM_OP    "\t.data"       /* large data */
+-#define SDATA_SECTION_ASM_OP   "\t.sdata"      /* small data */
+ 
+ #undef READONLY_DATA_SECTION_ASM_OP
+ #define READONLY_DATA_SECTION_ASM_OP   "\t.rdata"      /* read-only data */
+diff -uNr gcc-4.1.2.orig/gcc/config/sparc/sparc.c gcc-4.1.2/gcc/config/sparc/sparc.c
+--- gcc-4.1.2.orig/gcc/config/sparc/sparc.c     2006-04-14 09:02:43.000000000 +0200
++++ gcc-4.1.2/gcc/config/sparc/sparc.c  2007-06-13 17:29:33.000000000 +0200
+@@ -675,7 +675,7 @@
+        error ("-mcmodel= is not supported on 32 bit systems");
+     }
+ 
+-  fpu = TARGET_FPU; /* save current -mfpu status */
++  fpu = target_flags & MASK_FPU; /* save current -mfpu status */
+ 
+   /* Set the default CPU.  */
+   for (def = &cpu_default[0]; def->name; ++def)
+diff -uNr gcc-4.1.2.orig/gcc/config.gcc gcc-4.1.2/gcc/config.gcc
+--- gcc-4.1.2.orig/gcc/config.gcc       2006-10-16 01:12:23.000000000 +0200
++++ gcc-4.1.2/gcc/config.gcc    2007-06-13 17:19:34.000000000 +0200
+@@ -761,6 +761,11 @@
+         tmake_file=bfin/t-bfin-elf
+         use_collect2=no
+         ;;
++bfin*-rtems*)
++       tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/rtems.h rtems.h"
++        tmake_file=bfin/t-bfin-elf
++        use_collect2=no
++        ;;
+ bfin*-*)
+        tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
+         tmake_file=bfin/t-bfin
+@@ -1560,7 +1565,7 @@
+        tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
+        use_fixproto=yes
+        ;;
+-mips*-*-rtems*)
++mips-*-rtems*)
+        tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
+        tmake_file="mips/t-elf t-rtems mips/t-rtems"
+        ;;
+diff -uNr gcc-4.1.2.orig/gcc/crtstuff.c gcc-4.1.2/gcc/crtstuff.c
+--- gcc-4.1.2.orig/gcc/crtstuff.c       2005-11-15 02:21:29.000000000 +0100
++++ gcc-4.1.2/gcc/crtstuff.c    2007-06-13 17:19:34.000000000 +0200
+@@ -225,6 +225,9 @@
+    in one DSO or the main program is not used in another object.  The
+    dynamic linker takes care of this.  */
+ 
++#ifdef TARGET_LIBGCC_SDATA_SECTION
++extern void *__dso_handle __attribute__ ((__section__ (TARGET_LIBGCC_SDATA_SECTION)));
++#endif
+ #ifdef HAVE_GAS_HIDDEN
+ extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
+ #endif
+diff -uNr gcc-4.1.2.orig/Makefile.in gcc-4.1.2/Makefile.in
+--- gcc-4.1.2.orig/Makefile.in  2006-04-04 23:03:05.000000000 +0200
++++ gcc-4.1.2/Makefile.in       2007-06-13 17:19:34.000000000 +0200
+@@ -329,9 +329,9 @@
+ # CFLAGS will be just -g.  We want to ensure that TARGET libraries
+ # (which we know are built with gcc) are built with optimizations so
+ # prepend -O2 when setting CFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = $(strip -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
++CXXFLAGS_FOR_TARGET = $(strip $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = 
Common subdirectories: gcc-4.1.1.orig/include and gcc-4.1.1/include
Common subdirectories: gcc-4.1.1.orig/INSTALL and gcc-4.1.1/INSTALL
Common subdirectories: gcc-4.1.1.orig/intl and gcc-4.1.1/intl
Common subdirectories: gcc-4.1.1.orig/libcpp and gcc-4.1.1/libcpp
Common subdirectories: gcc-4.1.1.orig/libiberty and gcc-4.1.1/libiberty
Common subdirectories: gcc-4.1.1.orig/libmudflap and gcc-4.1.1/libmudflap
Common subdirectories: gcc-4.1.1.orig/libssp and gcc-4.1.1/libssp
Common subdirectories: gcc-4.1.1.orig/maintainer-scripts and gcc-4.1.1/maintainer-scripts
diff -uNt gcc-4.1.1.orig/Makefile.in gcc-4.1.1/Makefile.in
--- gcc-4.1.1.orig/Makefile.in	2006-04-04 23:03:05.000000000 +0200
+++ gcc-4.1.1/Makefile.in	2007-06-14 04:14:41.000000000 +0200
@@ -329,9 +329,9 @@
 # CFLAGS will be just -g.  We want to ensure that TARGET libraries
 # (which we know are built with gcc) are built with optimizations so
 # prepend -O2 when setting CFLAGS_FOR_TARGET.
-CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+CFLAGS_FOR_TARGET = $(strip -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
 SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+CXXFLAGS_FOR_TARGET = $(strip $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET))
 LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
 LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
 LDFLAGS_FOR_TARGET = 
diff -uNt gcc-4.1.1.orig/tmp gcc-4.1.1/tmp
--- gcc-4.1.1.orig/tmp	1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.1.1/tmp	2007-06-14 04:15:43.000000000 +0200
@@ -0,0 +1,12 @@
+diff -uNr gcc-4.1.2.orig/gcc/config/sparc/sparc.c gcc-4.1.2/gcc/config/sparc/sparc.c
+--- gcc-4.1.2.orig/gcc/config/sparc/sparc.c     2006-04-14 09:02:43.000000000 +0200
++++ gcc-4.1.2/gcc/config/sparc/sparc.c  2007-06-13 17:29:33.000000000 +0200
+@@ -675,7 +675,7 @@
+        error ("-mcmodel= is not supported on 32 bit systems");
+     }
+ 
+-  fpu = TARGET_FPU; /* save current -mfpu status */
++  fpu = target_flags & MASK_FPU; /* save current -mfpu status */
+ 
+   /* Set the default CPU.  */
+   for (def = &cpu_default[0]; def->name; ++def)