Sun Mar 27 04:18:09 2016 UTC ()
don't set PREFERRED_STACK_BOUNDARY_DEFAULT, in particular, don't set it
to 64 (8 bytes) for 64-bit targets, where 16 byte alignment is required.
this fixes GCC 5 and ssh on modern intel cpus, and perhaps more.


(mrg)
diff -r1.4 -r1.5 src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h

cvs diff -r1.4 -r1.5 src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h (expand / switch to unified diff)

--- src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h 2016/01/24 09:43:33 1.4
+++ src/external/gpl3/gcc/dist/gcc/config/i386/netbsd64.h 2016/03/27 04:18:09 1.5
@@ -56,20 +56,16 @@ along with GCC; see the file COPYING3.  @@ -56,20 +56,16 @@ along with GCC; see the file COPYING3.
56/* Output assembler code to FILE to call the profiler. */ 56/* Output assembler code to FILE to call the profiler. */
57 57
58#undef FUNCTION_PROFILER 58#undef FUNCTION_PROFILER
59#define FUNCTION_PROFILER(FILE, LABELNO) \ 59#define FUNCTION_PROFILER(FILE, LABELNO) \
60{ \ 60{ \
61 if (TARGET_64BIT && flag_pic) \ 61 if (TARGET_64BIT && flag_pic) \
62 fprintf (FILE, "\tcall *__mcount@PLT\n"); \ 62 fprintf (FILE, "\tcall *__mcount@PLT\n"); \
63 else if (flag_pic) \ 63 else if (flag_pic) \
64 fprintf (FILE, "\tcall *__mcount@PLT\n"); \ 64 fprintf (FILE, "\tcall *__mcount@PLT\n"); \
65 else \ 65 else \
66 fprintf (FILE, "\tcall __mcount\n"); \ 66 fprintf (FILE, "\tcall __mcount\n"); \
67} 67}
68 68
69/* Preserve i386 psABI */ 
70#undef PREFERRED_STACK_BOUNDARY_DEFAULT 
71#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY 
72 
73#define HAVE_ENABLE_EXECUTE_STACK 69#define HAVE_ENABLE_EXECUTE_STACK
74 70
75#define IX86_MAYBE_NO_LIBGCC_TFMODE 71#define IX86_MAYBE_NO_LIBGCC_TFMODE