1 |
vapier 08/04/20 06:31:03 |
2 |
|
3 |
Modified: README.history |
4 |
Added: 20_all_gcc-x86-emit-cld.patch |
5 |
60_all_gcc43-pr35440.patch |
6 |
61_all_gcc4-ia64-noteGNUstack.patch |
7 |
61_all_gcc43-pr24170.patch |
8 |
62_all_gcc4-noteGNUstack.patch |
9 |
62_all_gcc43-pr27880.patch |
10 |
64_all_gcc43-pr34571.patch |
11 |
Log: |
12 |
add some pr fixes, the gnu stack stuff, and cld revert |
13 |
|
14 |
Revision Changes Path |
15 |
1.2 src/patchsets/gcc/4.3.0/gentoo/README.history |
16 |
|
17 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/README.history?rev=1.2&view=markup |
18 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/README.history?rev=1.2&content-type=text/plain |
19 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/README.history?r1=1.1&r2=1.2 |
20 |
|
21 |
Index: README.history |
22 |
=================================================================== |
23 |
RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.3.0/gentoo/README.history,v |
24 |
retrieving revision 1.1 |
25 |
retrieving revision 1.2 |
26 |
diff -u -r1.1 -r1.2 |
27 |
--- README.history 17 Mar 2008 03:37:05 -0000 1.1 |
28 |
+++ README.history 20 Apr 2008 06:31:02 -0000 1.2 |
29 |
@@ -1,3 +1,13 @@ |
30 |
+1.1 20.04.2008 |
31 |
+ + 20_all_gcc-x86-emit-cld.patch |
32 |
+ + 60_all_gcc43-pr35440.patch |
33 |
+ + 61_all_gcc4-ia64-noteGNUstack.patch |
34 |
+ + 61_all_gcc43-pr24170.patch |
35 |
+ + 62_all_gcc4-noteGNUstack.patch |
36 |
+ + 62_all_gcc43-pr27880.patch |
37 |
+ + 63_all_gcc43-pr30961.patch |
38 |
+ + 64_all_gcc43-pr34571.patch |
39 |
+ |
40 |
1.0 16.03.2008 |
41 |
+ 00_all_gcc-4.1-alpha-mieee-default.patch |
42 |
+ 00_all_gcc-trampolinewarn.patch |
43 |
|
44 |
|
45 |
|
46 |
1.1 src/patchsets/gcc/4.3.0/gentoo/20_all_gcc-x86-emit-cld.patch |
47 |
|
48 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/20_all_gcc-x86-emit-cld.patch?rev=1.1&view=markup |
49 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/20_all_gcc-x86-emit-cld.patch?rev=1.1&content-type=text/plain |
50 |
|
51 |
Index: 20_all_gcc-x86-emit-cld.patch |
52 |
=================================================================== |
53 |
bandaid for the cld issue. to be dropped when gcc-4.3 goes stable. |
54 |
|
55 |
http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00417.html |
56 |
|
57 |
2008-03-06 Uros Bizjak <ubizjak@×××××.com> |
58 |
|
59 |
* config/i386/i386.h (TARGET_CLD): New define. |
60 |
(struct machine_function): Add needs_cld field. |
61 |
(ix86_current_function_needs_cld): New define. |
62 |
* config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant. |
63 |
("cld"): New isns pattern. |
64 |
("strmov_singleop"): Set ix86_current_function_needs_cld flag. |
65 |
("rep_mov"): Ditto. |
66 |
("strset_singleop"): Ditto. |
67 |
("rep_stos"): Ditto. |
68 |
("cmpstrnqi_nz_1"): Ditto. |
69 |
("cmpstrnqi_1"): Ditto. |
70 |
("strlenqi_1"): Ditto. |
71 |
* config/i386/i386.c (ix86_expand_prologue): Emit cld insn for |
72 |
TARGET_CLD when ix86_current_function_needs_cld is set. |
73 |
|
74 |
Index: gcc/config/i386/i386.h |
75 |
=================================================================== |
76 |
--- gcc/config/i386/i386.h (revision 132966) |
77 |
+++ gcc/config/i386/i386.h (working copy) |
78 |
@@ -388,6 +388,7 @@ extern unsigned int ix86_arch_features[X |
79 |
|
80 |
extern int x86_prefetch_sse; |
81 |
|
82 |
+#define TARGET_CLD 1 |
83 |
#define TARGET_ABM x86_abm |
84 |
#define TARGET_CMPXCHG16B x86_cmpxchg16b |
85 |
#define TARGET_POPCNT x86_popcnt |
86 |
@@ -2446,8 +2447,9 @@ struct machine_function GTY(()) |
87 |
int save_varrargs_registers; |
88 |
int accesses_prev_frame; |
89 |
int optimize_mode_switching[MAX_386_ENTITIES]; |
90 |
- /* Set by ix86_compute_frame_layout and used by prologue/epilogue expander to |
91 |
- determine the style used. */ |
92 |
+ int needs_cld; |
93 |
+ /* Set by ix86_compute_frame_layout and used by prologue/epilogue |
94 |
+ expander to determine the style used. */ |
95 |
int use_fast_prologue_epilogue; |
96 |
/* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE has been computed |
97 |
for. */ |
98 |
@@ -2467,6 +2469,7 @@ struct machine_function GTY(()) |
99 |
#define ix86_stack_locals (cfun->machine->stack_locals) |
100 |
#define ix86_save_varrargs_registers (cfun->machine->save_varrargs_registers) |
101 |
#define ix86_optimize_mode_switching (cfun->machine->optimize_mode_switching) |
102 |
+#define ix86_current_function_needs_cld (cfun->machine->needs_cld) |
103 |
#define ix86_tls_descriptor_calls_expanded_in_cfun \ |
104 |
(cfun->machine->tls_descriptor_call_expanded_p) |
105 |
/* Since tls_descriptor_call_expanded is not cleared, even if all TLS |
106 |
Index: gcc/config/i386/i386.md |
107 |
=================================================================== |
108 |
--- gcc/config/i386/i386.md (revision 132966) |
109 |
+++ gcc/config/i386/i386.md (working copy) |
110 |
@@ -205,6 +205,7 @@ |
111 |
(UNSPECV_XCHG 12) |
112 |
(UNSPECV_LOCK 13) |
113 |
(UNSPECV_PROLOGUE_USE 14) |
114 |
+ (UNSPECV_CLD 15) |
115 |
]) |
116 |
|
117 |
;; Constants to represent pcomtrue/pcomfalse variants |
118 |
@@ -18519,6 +18520,14 @@ |
119 |
|
120 |
;; Block operation instructions |
121 |
|
122 |
+(define_insn "cld" |
123 |
+ [(unspec_volatile [(const_int 0)] UNSPECV_CLD)] |
124 |
+ "" |
125 |
+ "cld" |
126 |
+ [(set_attr "length" "1") |
127 |
+ (set_attr "length_immediate" "0") |
128 |
+ (set_attr "modrm" "0")]) |
129 |
+ |
130 |
(define_expand "movmemsi" |
131 |
[(use (match_operand:BLK 0 "memory_operand" "")) |
132 |
(use (match_operand:BLK 1 "memory_operand" "")) |
133 |
@@ -18591,7 +18600,7 @@ |
134 |
(set (match_operand 2 "register_operand" "") |
135 |
(match_operand 5 "" ""))])] |
136 |
"TARGET_SINGLE_STRINGOP || optimize_size" |
137 |
- "") |
138 |
+ "ix86_current_function_needs_cld = 1;") |
139 |
|
140 |
(define_insn "*strmovdi_rex_1" |
141 |
[(set (mem:DI (match_operand:DI 2 "register_operand" "0")) |
142 |
@@ -18708,7 +18717,7 @@ |
143 |
(match_operand 3 "memory_operand" "")) |
144 |
(use (match_dup 4))])] |
145 |
"" |
146 |
- "") |
147 |
+ "ix86_current_function_needs_cld = 1;") |
148 |
|
149 |
(define_insn "*rep_movdi_rex64" |
150 |
[(set (match_operand:DI 2 "register_operand" "=c") (const_int 0)) |
151 |
@@ -18868,7 +18877,7 @@ |
152 |
(set (match_operand 0 "register_operand" "") |
153 |
(match_operand 3 "" ""))])] |
154 |
"TARGET_SINGLE_STRINGOP || optimize_size" |
155 |
- "") |
156 |
+ "ix86_current_function_needs_cld = 1;") |
157 |
|
158 |
(define_insn "*strsetdi_rex_1" |
159 |
[(set (mem:DI (match_operand:DI 1 "register_operand" "0")) |
160 |
@@ -18962,7 +18971,7 @@ |
161 |
(use (match_operand 3 "register_operand" "")) |
162 |
(use (match_dup 1))])] |
163 |
"" |
164 |
- "") |
165 |
+ "ix86_current_function_needs_cld = 1;") |
166 |
|
167 |
(define_insn "*rep_stosdi_rex64" |
168 |
[(set (match_operand:DI 1 "register_operand" "=c") (const_int 0)) |
169 |
@@ -19138,7 +19147,7 @@ |
170 |
(clobber (match_operand 1 "register_operand" "")) |
171 |
(clobber (match_dup 2))])] |
172 |
"" |
173 |
- "") |
174 |
+ "ix86_current_function_needs_cld = 1;") |
175 |
|
176 |
(define_insn "*cmpstrnqi_nz_1" |
177 |
[(set (reg:CC FLAGS_REG) |
178 |
@@ -19185,7 +19194,7 @@ |
179 |
(clobber (match_operand 1 "register_operand" "")) |
180 |
(clobber (match_dup 2))])] |
181 |
"" |
182 |
- "") |
183 |
+ "ix86_current_function_needs_cld = 1;") |
184 |
|
185 |
(define_insn "*cmpstrnqi_1" |
186 |
[(set (reg:CC FLAGS_REG) |
187 |
@@ -19254,7 +19263,7 @@ |
188 |
(clobber (match_operand 1 "register_operand" "")) |
189 |
(clobber (reg:CC FLAGS_REG))])] |
190 |
"" |
191 |
- "") |
192 |
+ "ix86_current_function_needs_cld = 1;") |
193 |
|
194 |
(define_insn "*strlenqi_1" |
195 |
[(set (match_operand:SI 0 "register_operand" "=&c") |
196 |
Index: gcc/config/i386/i386.c |
197 |
=================================================================== |
198 |
--- gcc/config/i386/i386.c (revision 132966) |
199 |
+++ gcc/config/i386/i386.c (working copy) |
200 |
@@ -6498,6 +6498,10 @@ ix86_expand_prologue (void) |
201 |
emit_insn (gen_prologue_use (pic_offset_table_rtx)); |
202 |
emit_insn (gen_blockage ()); |
203 |
} |
204 |
+ |
205 |
+ /* Emit cld instruction if stringops are used in the function. */ |
206 |
+ if (TARGET_CLD && ix86_current_function_needs_cld) |
207 |
+ emit_insn (gen_cld ()); |
208 |
} |
209 |
|
210 |
/* Emit code to restore saved registers using MOV insns. First register |
211 |
|
212 |
|
213 |
|
214 |
1.1 src/patchsets/gcc/4.3.0/gentoo/60_all_gcc43-pr35440.patch |
215 |
|
216 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/60_all_gcc43-pr35440.patch?rev=1.1&view=markup |
217 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/60_all_gcc43-pr35440.patch?rev=1.1&content-type=text/plain |
218 |
|
219 |
Index: 60_all_gcc43-pr35440.patch |
220 |
=================================================================== |
221 |
2008-03-19 Jakub Jelinek <jakub@××××××.com> |
222 |
|
223 |
PR c/35440 |
224 |
* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR |
225 |
for all types. |
226 |
|
227 |
* gcc.dg/pr35440.c: New test. |
228 |
|
229 |
--- gcc/c-pretty-print.c.jj 2008-02-11 14:48:12.000000000 +0100 |
230 |
+++ gcc/c-pretty-print.c 2008-03-19 14:50:09.000000000 +0100 |
231 |
@@ -1173,6 +1173,12 @@ pp_c_initializer_list (c_pretty_printer |
232 |
tree type = TREE_TYPE (e); |
233 |
const enum tree_code code = TREE_CODE (type); |
234 |
|
235 |
+ if (TREE_CODE (e) == CONSTRUCTOR) |
236 |
+ { |
237 |
+ pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e)); |
238 |
+ return; |
239 |
+ } |
240 |
+ |
241 |
switch (code) |
242 |
{ |
243 |
case RECORD_TYPE: |
244 |
@@ -1207,16 +1213,12 @@ pp_c_initializer_list (c_pretty_printer |
245 |
case VECTOR_TYPE: |
246 |
if (TREE_CODE (e) == VECTOR_CST) |
247 |
pp_c_expression_list (pp, TREE_VECTOR_CST_ELTS (e)); |
248 |
- else if (TREE_CODE (e) == CONSTRUCTOR) |
249 |
- pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e)); |
250 |
else |
251 |
break; |
252 |
return; |
253 |
|
254 |
case COMPLEX_TYPE: |
255 |
- if (TREE_CODE (e) == CONSTRUCTOR) |
256 |
- pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e)); |
257 |
- else if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR) |
258 |
+ if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR) |
259 |
{ |
260 |
const bool cst = TREE_CODE (e) == COMPLEX_CST; |
261 |
pp_expression (pp, cst ? TREE_REALPART (e) : TREE_OPERAND (e, 0)); |
262 |
--- gcc/testsuite/gcc.dg/pr35440.c.jj 2008-03-19 15:57:13.000000000 +0100 |
263 |
+++ gcc/testsuite/gcc.dg/pr35440.c 2008-03-19 15:47:35.000000000 +0100 |
264 |
@@ -0,0 +1,12 @@ |
265 |
+/* PR c/35440 */ |
266 |
+/* { dg-do compile } */ |
267 |
+/* { dg-options "-std=gnu99" } */ |
268 |
+ |
269 |
+struct A {}; |
270 |
+struct B { int i; char j[2]; }; |
271 |
+ |
272 |
+void foo (void) |
273 |
+{ |
274 |
+ (struct A){}(); /* { dg-error "called object" } */ |
275 |
+ (struct B){ .i = 2, .j[1] = 1 }(); /* { dg-error "called object" } */ |
276 |
+} |
277 |
|
278 |
|
279 |
|
280 |
1.1 src/patchsets/gcc/4.3.0/gentoo/61_all_gcc4-ia64-noteGNUstack.patch |
281 |
|
282 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc4-ia64-noteGNUstack.patch?rev=1.1&view=markup |
283 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc4-ia64-noteGNUstack.patch?rev=1.1&content-type=text/plain |
284 |
|
285 |
Index: 61_all_gcc4-ia64-noteGNUstack.patch |
286 |
=================================================================== |
287 |
2004-09-20 Jakub Jelinek <jakub@××××××.com> |
288 |
|
289 |
* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also |
290 |
on ppc64-linux. |
291 |
|
292 |
* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on |
293 |
ia64-linux. |
294 |
* config/ia64/crtbegin.asm: Likewise. |
295 |
* config/ia64/crtend.asm: Likewise. |
296 |
* config/ia64/crti.asm: Likewise. |
297 |
* config/ia64/crtn.asm: Likewise. |
298 |
|
299 |
2004-05-14 Jakub Jelinek <jakub@××××××.com> |
300 |
|
301 |
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define. |
302 |
|
303 |
--- gcc/config/ia64/linux.h.jj 2004-05-14 07:21:27.000000000 -0400 |
304 |
+++ gcc/config/ia64/linux.h 2004-05-14 09:21:09.000000000 -0400 |
305 |
@@ -5,6 +5,8 @@ |
306 |
|
307 |
#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux"); |
308 |
|
309 |
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack |
310 |
+ |
311 |
/* This is for -profile to use -lc_p instead of -lc. */ |
312 |
#undef CC1_SPEC |
313 |
#define CC1_SPEC "%{profile:-p} %{G*}" |
314 |
--- gcc/config/rs6000/ppc-asm.h.jj 2003-06-04 18:40:59.000000000 +0200 |
315 |
+++ gcc/config/rs6000/ppc-asm.h 2004-09-20 14:17:47.259396058 +0200 |
316 |
@@ -158,7 +158,7 @@ GLUE(.L,name): \ |
317 |
.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name) |
318 |
#endif |
319 |
|
320 |
-#if defined __linux__ && !defined __powerpc64__ |
321 |
+#if defined __linux__ |
322 |
.section .note.GNU-stack |
323 |
.previous |
324 |
#endif |
325 |
--- gcc/config/ia64/lib1funcs.asm.jj 2003-10-27 11:45:17.000000000 +0100 |
326 |
+++ gcc/config/ia64/lib1funcs.asm 2004-09-20 14:26:28.094132706 +0200 |
327 |
@@ -741,3 +741,7 @@ __floattitf: |
328 |
.endp __floattitf |
329 |
|
330 |
#endif |
331 |
+ |
332 |
+#ifdef __linux__ |
333 |
+.section .note.GNU-stack; .previous |
334 |
+#endif |
335 |
--- gcc/config/ia64/crtend.asm.jj 2004-05-20 14:36:14.000000000 +0200 |
336 |
+++ gcc/config/ia64/crtend.asm 2004-09-20 14:25:57.329580329 +0200 |
337 |
@@ -113,3 +113,7 @@ __do_global_ctors_aux: |
338 |
|
339 |
br.ret.sptk.many rp |
340 |
.endp __do_global_ctors_aux |
341 |
+ |
342 |
+#ifdef __linux__ |
343 |
+.section .note.GNU-stack; .previous |
344 |
+#endif |
345 |
--- gcc/config/ia64/crti.asm.jj 2003-04-02 17:14:15.000000000 +0200 |
346 |
+++ gcc/config/ia64/crti.asm 2004-09-20 14:26:06.852894092 +0200 |
347 |
@@ -64,3 +64,7 @@ _fini: |
348 |
.body |
349 |
|
350 |
# end of crti.asm |
351 |
+ |
352 |
+#ifdef __linux__ |
353 |
+.section .note.GNU-stack; .previous |
354 |
+#endif |
355 |
--- gcc/config/ia64/crtbegin.asm.jj 2004-05-20 14:36:14.000000000 +0200 |
356 |
+++ gcc/config/ia64/crtbegin.asm 2004-09-20 14:25:47.105390566 +0200 |
357 |
@@ -246,3 +246,7 @@ __do_jv_register_classes: |
358 |
.weak __cxa_finalize |
359 |
#endif |
360 |
.weak _Jv_RegisterClasses |
361 |
+ |
362 |
+#ifdef __linux__ |
363 |
+.section .note.GNU-stack; .previous |
364 |
+#endif |
365 |
--- gcc/config/ia64/crtn.asm.jj 2003-04-02 17:14:15.000000000 +0200 |
366 |
+++ gcc/config/ia64/crtn.asm 2004-09-20 14:26:16.381206878 +0200 |
367 |
@@ -54,3 +54,7 @@ |
368 |
br.ret.sptk.many b0 |
369 |
|
370 |
# end of crtn.asm |
371 |
+ |
372 |
+#ifdef __linux__ |
373 |
+.section .note.GNU-stack; .previous |
374 |
+#endif |
375 |
|
376 |
|
377 |
|
378 |
1.1 src/patchsets/gcc/4.3.0/gentoo/61_all_gcc43-pr24170.patch |
379 |
|
380 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc43-pr24170.patch?rev=1.1&view=markup |
381 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc43-pr24170.patch?rev=1.1&content-type=text/plain |
382 |
|
383 |
Index: 61_all_gcc43-pr24170.patch |
384 |
=================================================================== |
385 |
http://gcc.gnu.org/PR24170 |
386 |
|
387 |
2008-02-20 Tom Tromey <tromey@××××××.com> |
388 |
|
389 |
PR libgcj/24170: |
390 |
* java/io/natFilePosix.cc (File::performList): Don't use |
391 |
readdir_r. |
392 |
* configure, include/config.h.in: Rebuilt. |
393 |
* configure.ac: Don't check for readdir_r. |
394 |
|
395 |
Index: libjava/configure.ac |
396 |
=================================================================== |
397 |
--- libjava/configure.ac (revision 132490) |
398 |
+++ libjava/configure.ac (revision 132491) |
399 |
@@ -1023,7 +1023,7 @@ |
400 |
PLATFORMNET=NoNet |
401 |
else |
402 |
AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \ |
403 |
- localtime_r readdir_r getpwuid_r getcwd \ |
404 |
+ localtime_r getpwuid_r getcwd \ |
405 |
access stat lstat mkdir rename rmdir unlink utime chmod readlink \ |
406 |
nl_langinfo setlocale \ |
407 |
inet_pton uname inet_ntoa \ |
408 |
Index: libjava/include/config.h.in |
409 |
=================================================================== |
410 |
--- libjava/include/config.h.in (revision 132490) |
411 |
+++ libjava/include/config.h.in (revision 132491) |
412 |
@@ -214,9 +214,6 @@ |
413 |
/* Define to 1 if you have the <pwd.h> header file. */ |
414 |
#undef HAVE_PWD_H |
415 |
|
416 |
-/* Define to 1 if you have the `readdir_r' function. */ |
417 |
-#undef HAVE_READDIR_R |
418 |
- |
419 |
/* Define to 1 if you have the `readlink' function. */ |
420 |
#undef HAVE_READLINK |
421 |
|
422 |
Index: libjava/java/io/natFilePosix.cc |
423 |
=================================================================== |
424 |
--- libjava/java/io/natFilePosix.cc (revision 132490) |
425 |
+++ libjava/java/io/natFilePosix.cc (revision 132491) |
426 |
@@ -1,6 +1,6 @@ |
427 |
// natFile.cc - Native part of File class for POSIX. |
428 |
|
429 |
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006 |
430 |
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008 |
431 |
Free Software Foundation |
432 |
|
433 |
This file is part of libgcj. |
434 |
@@ -292,13 +292,7 @@ |
435 |
|
436 |
java::util::ArrayList *list = new java::util::ArrayList (); |
437 |
struct dirent *d; |
438 |
-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS) |
439 |
- int name_max = pathconf (buf, _PC_NAME_MAX); |
440 |
- char dbuf[sizeof (struct dirent) + name_max + 1]; |
441 |
- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL) |
442 |
-#else /* HAVE_READDIR_R */ |
443 |
while ((d = readdir (dir)) != NULL) |
444 |
-#endif /* HAVE_READDIR_R */ |
445 |
{ |
446 |
// Omit "." and "..". |
447 |
if (d->d_name[0] == '.' |
448 |
|
449 |
|
450 |
|
451 |
1.1 src/patchsets/gcc/4.3.0/gentoo/62_all_gcc4-noteGNUstack.patch |
452 |
|
453 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc4-noteGNUstack.patch?rev=1.1&view=markup |
454 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc4-noteGNUstack.patch?rev=1.1&content-type=text/plain |
455 |
|
456 |
Index: 62_all_gcc4-noteGNUstack.patch |
457 |
=================================================================== |
458 |
2005-02-08 Jakub Jelinek <jakub@××××××.com> |
459 |
|
460 |
* src/alpha/osf.S: Add .note.GNU-stack on Linux. |
461 |
* src/s390/sysv.S: Likewise. |
462 |
* src/powerpc/linux64.S: Likewise. |
463 |
* src/powerpc/linux64_closure.S: Likewise. |
464 |
* src/powerpc/ppc_closure.S: Likewise. |
465 |
* src/powerpc/sysv.S: Likewise. |
466 |
* src/x86/unix64.S: Likewise. |
467 |
* src/x86/sysv.S: Likewise. |
468 |
* src/sparc/v8.S: Likewise. |
469 |
* src/sparc/v9.S: Likewise. |
470 |
* src/m68k/sysv.S: Likewise. |
471 |
* src/ia64/unix.S: Likewise. |
472 |
* src/arm/sysv.S: Likewise. |
473 |
|
474 |
* ia64_save_regs_in_stack.s: Moved to... |
475 |
* ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack |
476 |
on Linux. |
477 |
|
478 |
--- libffi/src/alpha/osf.S.jj 2003-10-23 09:55:21.000000000 +0200 |
479 |
+++ libffi/src/alpha/osf.S 2005-02-08 16:12:40.215425842 +0100 |
480 |
@@ -352,4 +352,8 @@ $LASFDE3: |
481 |
.byte 0x12 # uleb128 0x12 |
482 |
.align 3 |
483 |
$LEFDE3: |
484 |
+ |
485 |
+#ifdef __linux__ |
486 |
+ .section .note.GNU-stack,"",@progbits |
487 |
+#endif |
488 |
#endif |
489 |
--- libffi/src/s390/sysv.S.jj 2003-10-23 09:55:21.000000000 +0200 |
490 |
+++ libffi/src/s390/sysv.S 2005-02-08 16:22:30.810943388 +0100 |
491 |
@@ -427,3 +427,6 @@ ffi_closure_SYSV: |
492 |
|
493 |
#endif |
494 |
|
495 |
+#if defined __ELF__ && defined __linux__ |
496 |
+ .section .note.GNU-stack,"",@progbits |
497 |
+#endif |
498 |
--- libffi/src/powerpc/linux64.S.jj 2004-09-03 12:35:54.000000000 +0200 |
499 |
+++ libffi/src/powerpc/linux64.S 2005-02-08 16:18:41.998808639 +0100 |
500 |
@@ -174,3 +174,7 @@ ffi_call_LINUX64: |
501 |
.align 3 |
502 |
.LEFDE1: |
503 |
#endif |
504 |
+ |
505 |
+#if defined __ELF__ && defined __linux__ |
506 |
+ .section .note.GNU-stack,"",@progbits |
507 |
+#endif |
508 |
--- libffi/src/powerpc/linux64_closure.S.jj 2004-09-03 12:35:54.000000000 +0200 |
509 |
+++ libffi/src/powerpc/linux64_closure.S 2005-02-08 16:18:53.821697060 +0100 |
510 |
@@ -203,3 +203,7 @@ ffi_closure_LINUX64: |
511 |
.align 3 |
512 |
.LEFDE1: |
513 |
#endif |
514 |
+ |
515 |
+#if defined __ELF__ && defined __linux__ |
516 |
+ .section .note.GNU-stack,"",@progbits |
517 |
+#endif |
518 |
--- libffi/src/powerpc/ppc_closure.S.jj 2004-09-03 12:35:54.000000000 +0200 |
519 |
+++ libffi/src/powerpc/ppc_closure.S 2005-02-08 16:18:25.734713428 +0100 |
520 |
@@ -248,3 +248,7 @@ END(ffi_closure_SYSV) |
521 |
.LEFDE1: |
522 |
|
523 |
#endif |
524 |
+ |
525 |
+#if defined __ELF__ && defined __linux__ |
526 |
+ .section .note.GNU-stack,"",@progbits |
527 |
+#endif |
528 |
--- libffi/src/powerpc/sysv.S.jj 2004-09-03 12:35:54.000000000 +0200 |
529 |
+++ libffi/src/powerpc/sysv.S 2005-02-08 16:18:13.673867518 +0100 |
530 |
@@ -187,3 +187,7 @@ END(ffi_call_SYSV) |
531 |
.align 2 |
532 |
.LEFDE1: |
533 |
#endif |
534 |
+ |
535 |
+#if defined __ELF__ && defined __linux__ |
536 |
+ .section .note.GNU-stack,"",@progbits |
537 |
+#endif |
538 |
--- libffi/src/x86/unix64.S.jj 2004-12-27 13:01:37.000000000 +0100 |
539 |
+++ libffi/src/x86/unix64.S 2005-02-08 16:25:38.656395947 +0100 |
540 |
@@ -373,3 +373,7 @@ ffi_closure_unix64: |
541 |
.LEFDE3: |
542 |
|
543 |
#endif /* __x86_64__ */ |
544 |
+ |
545 |
+#if defined __ELF__ && defined __linux__ |
546 |
+ .section .note.GNU-stack,"",@progbits |
547 |
+#endif |
548 |
--- libffi/src/x86/sysv.S.jj 2003-10-23 09:55:21.000000000 +0200 |
549 |
+++ libffi/src/x86/sysv.S 2005-02-08 16:25:28.197263821 +0100 |
550 |
@@ -182,3 +182,7 @@ epilogue: |
551 |
.LEFDE1: |
552 |
|
553 |
#endif /* ifndef __x86_64__ */ |
554 |
+ |
555 |
+#if defined __ELF__ && defined __linux__ |
556 |
+ .section .note.GNU-stack,"",@progbits |
557 |
+#endif |
558 |
--- libffi/src/sparc/v8.S.jj 2004-11-24 22:02:00.000000000 +0100 |
559 |
+++ libffi/src/sparc/v8.S 2005-02-08 16:22:55.220583988 +0100 |
560 |
@@ -265,3 +265,7 @@ done2: |
561 |
.byte 0x1f ! uleb128 0x1f |
562 |
.align WS |
563 |
.LLEFDE2: |
564 |
+ |
565 |
+#if defined __ELF__ && defined __linux__ |
566 |
+ .section .note.GNU-stack,"",@progbits |
567 |
+#endif |
568 |
--- libffi/src/sparc/v9.S.jj 2004-01-26 11:34:57.000000000 +0100 |
569 |
+++ libffi/src/sparc/v9.S 2005-02-08 16:25:12.153129117 +0100 |
570 |
@@ -300,3 +300,7 @@ longdouble1: |
571 |
.align 8 |
572 |
.LLEFDE2: |
573 |
#endif |
574 |
+ |
575 |
+#ifdef __linux__ |
576 |
+ .section .note.GNU-stack,"",@progbits |
577 |
+#endif |
578 |
--- libffi/src/m68k/sysv.S.jj 2003-10-23 09:55:21.000000000 +0200 |
579 |
+++ libffi/src/m68k/sysv.S 2005-02-08 16:16:18.341466343 +0100 |
580 |
@@ -95,3 +95,7 @@ epilogue: |
581 |
rts |
582 |
CFI_ENDPROC() |
583 |
.size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV |
584 |
+ |
585 |
+#if defined __ELF__ && defined __linux__ |
586 |
+ .section .note.GNU-stack,"",@progbits |
587 |
+#endif |
588 |
--- libffi/src/ia64/unix.S.jj 2005-01-04 15:42:01.000000000 +0100 |
589 |
+++ libffi/src/ia64/unix.S 2005-02-08 16:16:01.253518356 +0100 |
590 |
@@ -572,3 +572,7 @@ ffi_closure_unix: |
591 |
data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT |
592 |
data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE |
593 |
data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE |
594 |
+ |
595 |
+#if defined __ELF__ && defined __linux__ |
596 |
+ .section .note.GNU-stack,"",@progbits |
597 |
+#endif |
598 |
--- libffi/src/arm/sysv.S.jj 2004-10-28 15:10:11.000000000 +0200 |
599 |
+++ libffi/src/arm/sysv.S 2005-02-08 16:14:02.282767581 +0100 |
600 |
@@ -207,3 +207,6 @@ LSYM(Lepilogue): |
601 |
UNWIND .fnend |
602 |
.size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) |
603 |
|
604 |
+#if defined __ELF__ && defined __linux__ |
605 |
+ .section .note.GNU-stack,"",%progbits |
606 |
+#endif |
607 |
--- boehm-gc/ia64_save_regs_in_stack.S.jj 2005-02-08 16:32:57.368040486 +0100 |
608 |
+++ boehm-gc/ia64_save_regs_in_stack.S 2005-02-08 16:33:36.243096641 +0100 |
609 |
@@ -0,0 +1,15 @@ |
610 |
+ .text |
611 |
+ .align 16 |
612 |
+ .global GC_save_regs_in_stack |
613 |
+ .proc GC_save_regs_in_stack |
614 |
+GC_save_regs_in_stack: |
615 |
+ .bodyfoo.mpg |
616 |
+ flushrs |
617 |
+ ;; |
618 |
+ mov r8=ar.bsp |
619 |
+ br.ret.sptk.few rp |
620 |
+ .endp GC_save_regs_in_stack |
621 |
+ |
622 |
+#ifdef __linux__ |
623 |
+ .section .note.GNU-stack,"",@progbits |
624 |
+#endif |
625 |
--- boehm-gc/ia64_save_regs_in_stack.s.jj 2004-06-30 09:32:52.000000000 +0200 |
626 |
+++ boehm-gc/ia64_save_regs_in_stack.s 2005-02-08 16:32:51.555078799 +0100 |
627 |
@@ -1,12 +0,0 @@ |
628 |
- .text |
629 |
- .align 16 |
630 |
- .global GC_save_regs_in_stack |
631 |
- .proc GC_save_regs_in_stack |
632 |
-GC_save_regs_in_stack: |
633 |
- .body |
634 |
- flushrs |
635 |
- ;; |
636 |
- mov r8=ar.bsp |
637 |
- br.ret.sptk.few rp |
638 |
- .endp GC_save_regs_in_stack |
639 |
- |
640 |
|
641 |
|
642 |
|
643 |
1.1 src/patchsets/gcc/4.3.0/gentoo/62_all_gcc43-pr27880.patch |
644 |
|
645 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc43-pr27880.patch?rev=1.1&view=markup |
646 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc43-pr27880.patch?rev=1.1&content-type=text/plain |
647 |
|
648 |
Index: 62_all_gcc43-pr27880.patch |
649 |
=================================================================== |
650 |
#! /bin/sh -e |
651 |
|
652 |
dir= |
653 |
if [ $# -eq 3 -a "$2" = '-d' ]; then |
654 |
pdir="-d $3" |
655 |
dir="$3/" |
656 |
elif [ $# -ne 1 ]; then |
657 |
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" |
658 |
exit 1 |
659 |
fi |
660 |
case "$1" in |
661 |
-patch) |
662 |
patch $pdir -f --no-backup-if-mismatch -p0 < $0 |
663 |
;; |
664 |
-unpatch) |
665 |
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 |
666 |
;; |
667 |
*) |
668 |
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" |
669 |
exit 1 |
670 |
esac |
671 |
exit 0 |
672 |
|
673 |
# DP: PR target/27880: Restore static linking on ia64 with system libunwind |
674 |
# DP: by adding unwind-compat to the static libgcc. |
675 |
|
676 |
2006-06-19 Andreas Schwab <schwab@××××.de> |
677 |
|
678 |
PR target/27880 |
679 |
* unwind-compat.c: Wrap everything except _Unwind_GetIPInfo inside |
680 |
SHARED. |
681 |
* config/t-libunwind (LIB2ADDEHSTATIC): Add |
682 |
$(srcdir)/unwind-compat.c. |
683 |
|
684 |
Index: gcc/config/t-libunwind |
685 |
=================================================================== |
686 |
--- gcc/config/t-libunwind (revision 114767) |
687 |
+++ gcc/config/t-libunwind (working copy) |
688 |
@@ -6,7 +6,8 @@ |
689 |
SHLIB_LC = -lunwind -lc |
690 |
LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \ |
691 |
$(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c |
692 |
-LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c |
693 |
+LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \ |
694 |
+ $(srcdir)/unwind-compat.c |
695 |
|
696 |
T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS |
697 |
TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER |
698 |
Index: gcc/unwind-compat.c |
699 |
=================================================================== |
700 |
--- gcc/unwind-compat.c (revision 114767) |
701 |
+++ gcc/unwind-compat.c (working copy) |
702 |
@@ -35,6 +35,7 @@ |
703 |
#include "unwind-dw2-fde.h" |
704 |
#include "unwind-compat.h" |
705 |
|
706 |
+#ifdef SHARED |
707 |
extern _Unwind_Reason_Code __libunwind_Unwind_Backtrace |
708 |
(_Unwind_Trace_Fn, void *); |
709 |
|
710 |
@@ -136,13 +137,6 @@ _Unwind_GetIP (struct _Unwind_Context *c |
711 |
} |
712 |
symver (_Unwind_GetIP, GCC_3.0); |
713 |
|
714 |
-_Unwind_Ptr |
715 |
-_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) |
716 |
-{ |
717 |
- *ip_before_insn = 0; |
718 |
- return __libunwind_Unwind_GetIP (context); |
719 |
-} |
720 |
- |
721 |
extern void *__libunwind_Unwind_GetLanguageSpecificData |
722 |
(struct _Unwind_Context *); |
723 |
|
724 |
@@ -212,4 +206,14 @@ _Unwind_SetIP (struct _Unwind_Context *c |
725 |
return __libunwind_Unwind_SetIP (context, val); |
726 |
} |
727 |
symver (_Unwind_SetIP, GCC_3.0); |
728 |
+#endif /* SHARED */ |
729 |
+ |
730 |
+extern _Unwind_Ptr __libunwind_Unwind_GetIP (struct _Unwind_Context *); |
731 |
+ |
732 |
+_Unwind_Ptr |
733 |
+_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn) |
734 |
+{ |
735 |
+ *ip_before_insn = 0; |
736 |
+ return __libunwind_Unwind_GetIP (context); |
737 |
+} |
738 |
#endif |
739 |
|
740 |
|
741 |
|
742 |
|
743 |
1.1 src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch |
744 |
|
745 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch?rev=1.1&view=markup |
746 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch?rev=1.1&content-type=text/plain |
747 |
|
748 |
Index: 64_all_gcc43-pr34571.patch |
749 |
=================================================================== |
750 |
http://gcc.gnu.org/PR34571 |
751 |
|
752 |
2007-12-26 Rask Ingemann Lambertsen <rask@×××××××.dk> |
753 |
|
754 |
PR target/34571 |
755 |
* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use |
756 |
symbolic_operand. |
757 |
* varasm.c (output_constant_pool_1): Fix typo. |
758 |
|
759 |
Index: gcc/config/alpha/alpha.c |
760 |
=================================================================== |
761 |
--- gcc/config/alpha/alpha.c (revision 131132) |
762 |
+++ gcc/config/alpha/alpha.c (working copy) |
763 |
@@ -1112,10 +1112,9 @@ alpha_legitimize_address (rtx x, rtx scr |
764 |
|
765 |
static bool |
766 |
alpha_cannot_force_const_mem (rtx x) |
767 |
{ |
768 |
- enum rtx_code code = GET_CODE (x); |
769 |
- return code == SYMBOL_REF || code == LABEL_REF || code == CONST; |
770 |
+ return symbolic_operand (x, GET_MODE (x)); |
771 |
} |
772 |
|
773 |
/* We do not allow indirect calls to be optimized into sibling calls, nor |
774 |
can we allow a call to a function with a different GP to be optimized |
775 |
Index: gcc/varasm.c |
776 |
=================================================================== |
777 |
--- gcc/varasm.c (revision 131132) |
778 |
+++ gcc/varasm.c (working copy) |
779 |
@@ -3709,9 +3709,9 @@ output_constant_pool_1 (struct constant_ |
780 |
tmp = XEXP (XEXP (x, 0), 0); |
781 |
/* FALLTHRU */ |
782 |
|
783 |
case LABEL_REF: |
784 |
- tmp = XEXP (x, 0); |
785 |
+ tmp = XEXP (tmp, 0); |
786 |
gcc_assert (!INSN_DELETED_P (tmp)); |
787 |
gcc_assert (!NOTE_P (tmp) |
788 |
|| NOTE_KIND (tmp) != NOTE_INSN_DELETED); |
789 |
break; |
790 |
|
791 |
|
792 |
|
793 |
-- |
794 |
gentoo-commits@l.g.o mailing list |