Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/gcc/4.3.0/gentoo: 20_all_gcc-x86-emit-cld.patch 60_all_gcc43-pr35440.patch 61_all_gcc4-ia64-noteGNUstack.patch 61_all_gcc43-pr24170.patch 62_all_gcc4-noteGNUstack.patch 62_all_gcc43-pr27880.patch 64_all_gcc43-pr34571.patch README.history
Date: Sun, 20 Apr 2008 06:31:07
Message-Id: E1JnT4p-0000wB-Hm@stork.gentoo.org
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