diff -Nrcpad gcc-4.6.1/gcc/go/ChangeLog gcc-4.6.2/gcc/go/ChangeLog *** gcc-4.6.1/gcc/go/ChangeLog Mon Jun 27 10:03:11 2011 --- gcc-4.6.2/gcc/go/ChangeLog Wed Oct 26 09:06:03 2011 *************** *** 1,3 **** --- 1,7 ---- + 2011-10-26 Release Manager + + * GCC 4.6.2 released. + 2011-06-27 Release Manager * GCC 4.6.1 released. diff -Nrcpad gcc-4.6.1/libffi/ChangeLog gcc-4.6.2/libffi/ChangeLog *** gcc-4.6.1/libffi/ChangeLog Mon Jun 27 10:01:26 2011 --- gcc-4.6.2/libffi/ChangeLog Wed Oct 26 09:04:03 2011 *************** *** 1,3 **** --- 1,29 ---- + 2011-10-26 Release Manager + + * GCC 4.6.2 released. + + 2011-10-04 Andrew Haley + + * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache. + + 2011-09-04 Iain Sandoe + + PR libffi/49594 + * src/powerpc/darwin_closure.S (stubs): Make the stub binding + helper reference track the architecture pointer size. + + 2011-06-29 Rainer Orth + + * testsuite/libffi.call/cls_double_va.c: Move PR number to comment. + * testsuite/libffi.call/cls_longdouble_va.c: Likewise. + + 2011-06-29 Rainer Orth + + PR libffi/46660 + * testsuite/libffi.call/cls_double_va.c: xfail dg-output on + mips-sgi-irix6*. + * testsuite/libffi.call/cls_longdouble_va.c: Likewise. + 2011-06-27 Release Manager * GCC 4.6.1 released. diff -Nrcpad gcc-4.6.1/libffi/src/arm/ffi.c gcc-4.6.2/libffi/src/arm/ffi.c *** gcc-4.6.1/libffi/src/arm/ffi.c Thu Oct 28 18:11:11 2010 --- gcc-4.6.2/libffi/src/arm/ffi.c Tue Oct 4 17:05:31 2011 *************** ffi_prep_incoming_args_SYSV(char *stack, *** 341,352 **** ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \ unsigned int __fun = (unsigned int)(FUN); \ unsigned int __ctx = (unsigned int)(CTX); \ *(unsigned int*) &__tramp[0] = 0xe92d000f; /* stmfd sp!, {r0-r3} */ \ *(unsigned int*) &__tramp[4] = 0xe59f0000; /* ldr r0, [pc] */ \ *(unsigned int*) &__tramp[8] = 0xe59ff000; /* ldr pc, [pc] */ \ *(unsigned int*) &__tramp[12] = __ctx; \ *(unsigned int*) &__tramp[16] = __fun; \ ! __clear_cache((&__tramp[0]), (&__tramp[19])); \ }) --- 341,356 ---- ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \ unsigned int __fun = (unsigned int)(FUN); \ unsigned int __ctx = (unsigned int)(CTX); \ + unsigned char *insns = (unsigned char *)(CTX); \ *(unsigned int*) &__tramp[0] = 0xe92d000f; /* stmfd sp!, {r0-r3} */ \ *(unsigned int*) &__tramp[4] = 0xe59f0000; /* ldr r0, [pc] */ \ *(unsigned int*) &__tramp[8] = 0xe59ff000; /* ldr pc, [pc] */ \ *(unsigned int*) &__tramp[12] = __ctx; \ *(unsigned int*) &__tramp[16] = __fun; \ ! __clear_cache((&__tramp[0]), (&__tramp[19])); /* Clear data mapping. */ \ ! __clear_cache(insns, insns + 3 * sizeof (unsigned int)); \ ! /* Clear instruction \ ! mapping. */ \ }) diff -Nrcpad gcc-4.6.1/libffi/src/powerpc/darwin_closure.S gcc-4.6.2/libffi/src/powerpc/darwin_closure.S *** gcc-4.6.1/libffi/src/powerpc/darwin_closure.S Sat Dec 18 08:56:46 2010 --- gcc-4.6.2/libffi/src/powerpc/darwin_closure.S Sun Sep 4 19:17:25 2011 *************** L_ffi_closure_helper_DARWIN$stub: *** 534,540 **** .lazy_symbol_pointer L_ffi_closure_helper_DARWIN$lazy_ptr: .indirect_symbol _ffi_closure_helper_DARWIN ! .long dyld_stub_binding_helper #if defined(__ppc64__) .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 --- 534,540 ---- .lazy_symbol_pointer L_ffi_closure_helper_DARWIN$lazy_ptr: .indirect_symbol _ffi_closure_helper_DARWIN ! .g_long dyld_stub_binding_helper #if defined(__ppc64__) .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 *************** L_darwin64_struct_ret_by_value_p$stub: *** 553,559 **** .lazy_symbol_pointer L_darwin64_struct_ret_by_value_p$lazy_ptr: .indirect_symbol _darwin64_struct_ret_by_value_p ! .long dyld_stub_binding_helper .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 .align 5 L_darwin64_pass_struct_floats$stub: --- 553,560 ---- .lazy_symbol_pointer L_darwin64_struct_ret_by_value_p$lazy_ptr: .indirect_symbol _darwin64_struct_ret_by_value_p ! .g_long dyld_stub_binding_helper ! .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 .align 5 L_darwin64_pass_struct_floats$stub: *************** L_darwin64_pass_struct_floats$stub: *** 570,575 **** .lazy_symbol_pointer L_darwin64_pass_struct_floats$lazy_ptr: .indirect_symbol _darwin64_pass_struct_floats ! .long dyld_stub_binding_helper # endif #endif --- 571,576 ---- .lazy_symbol_pointer L_darwin64_pass_struct_floats$lazy_ptr: .indirect_symbol _darwin64_pass_struct_floats ! .g_long dyld_stub_binding_helper # endif #endif diff -Nrcpad gcc-4.6.1/libffi/testsuite/libffi.call/cls_double_va.c gcc-4.6.2/libffi/testsuite/libffi.call/cls_double_va.c *** gcc-4.6.1/libffi/testsuite/libffi.call/cls_double_va.c Thu Oct 28 18:11:11 2010 --- gcc-4.6.2/libffi/testsuite/libffi.call/cls_double_va.c Wed Jun 29 12:50:10 2011 *************** *** 6,11 **** --- 6,12 ---- /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ /* { dg-output "" { xfail avr32*-*-* } } */ + /* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */ /* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */ #include "ffitest.h" diff -Nrcpad gcc-4.6.1/libffi/testsuite/libffi.call/cls_longdouble_va.c gcc-4.6.2/libffi/testsuite/libffi.call/cls_longdouble_va.c *** gcc-4.6.1/libffi/testsuite/libffi.call/cls_longdouble_va.c Thu Oct 28 18:11:11 2010 --- gcc-4.6.2/libffi/testsuite/libffi.call/cls_longdouble_va.c Wed Jun 29 12:50:10 2011 *************** *** 6,11 **** --- 6,12 ---- /* { dg-do run { xfail strongarm*-*-* xscale*-*-* } } */ /* { dg-output "" { xfail avr32*-*-* x86_64-*-mingw* } } */ + /* { dg-output "" { xfail mips-sgi-irix6* } } PR libffi/46660 */ /* { dg-skip-if "" arm*-*-* { "-mfloat-abi=hard" } { "" } } */ #include "ffitest.h"