diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index cde3853b72f..d74aeb9e00e 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-06 Andrew Pinski + + * crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the + size of func_ptr. + (__frame_dummy_init_array_entry): Likewise. + 2011-12-06 Georg-Johann Lay Forward-port from gcc-4_6-branch r181936 2011-12-02. diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c index 77b8d4201cd..5d820fa45ac 100644 --- a/libgcc/crtstuff.c +++ b/libgcc/crtstuff.c @@ -412,7 +412,7 @@ __do_global_dtors_aux (void) CRT_CALL_STATIC_FUNCTION (FINI_SECTION_ASM_OP, __do_global_dtors_aux) #elif defined (FINI_ARRAY_SECTION_ASM_OP) static func_ptr __do_global_dtors_aux_fini_array_entry[] - __attribute__ ((__used__, section(".fini_array"))) + __attribute__ ((__used__, section(".fini_array"), aligned(sizeof(func_ptr)))) = { __do_global_dtors_aux }; #else /* !FINI_SECTION_ASM_OP && !FINI_ARRAY_SECTION_ASM_OP */ static void __attribute__((used)) @@ -466,7 +466,7 @@ frame_dummy (void) CRT_CALL_STATIC_FUNCTION (INIT_SECTION_ASM_OP, frame_dummy) #else /* defined(INIT_SECTION_ASM_OP) */ static func_ptr __frame_dummy_init_array_entry[] - __attribute__ ((__used__, section(".init_array"))) + __attribute__ ((__used__, section(".init_array"), aligned(sizeof(func_ptr)))) = { frame_dummy }; #endif /* !defined(INIT_SECTION_ASM_OP) */ #endif /* USE_EH_FRAME_REGISTRY || JCR_SECTION_NAME || USE_TM_CLONE_REGISTRY */