Commit 3a9f56e8 by Iain Sandoe

re PR libffi/29152 (64-bit darwin ppc port needed for libffi)


libffi:
	PR libffi/29152
	PR libffi/42378
	* src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
	update comments.
	* src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
	(FFI_TRAMPOLINE_SIZE): Update for Darwin64.
	* src/powerpc/darwin.S: Provide Darwin64 implementation,
	update comments.
	* src/powerpc/ffi_darwin.c: Likewise.

From-SVN: r168016
parent c1ea31e3
2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
PR libffi/29152
PR libffi/42378
* src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
update comments.
* src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
(FFI_TRAMPOLINE_SIZE): Update for Darwin64.
* src/powerpc/darwin.S: Provide Darwin64 implementation,
update comments.
* src/powerpc/ffi_darwin.c: Likewise.
2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure.ac (libffi_cv_as_ascii_pseudo_op): Use double * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
......
/* -----------------------------------------------------------------*-C-*- /* -----------------------------------------------------------------*-C-*-
ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc. ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc.
Copyright (C) 2007, 2008 Free Software Foundation, Inc Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc
Target configuration macros for PowerPC. Target configuration macros for PowerPC.
Permission is hereby granted, free of charge, to any person obtaining Permission is hereby granted, free of charge, to any person obtaining
...@@ -34,10 +34,13 @@ ...@@ -34,10 +34,13 @@
#ifndef POWERPC64 #ifndef POWERPC64
#define POWERPC64 #define POWERPC64
#endif #endif
#elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin */ #elif defined (POWERPC_DARWIN) && defined (__ppc64__) /* Darwin64 */
#ifndef POWERPC64 #ifndef POWERPC64
#define POWERPC64 #define POWERPC64
#endif #endif
#ifndef POWERPC_DARWIN64
#define POWERPC_DARWIN64
#endif
#elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */ #elif defined (POWERPC_AIX) && defined (__64BIT__) /* AIX64 */
#ifndef POWERPC64 #ifndef POWERPC64
#define POWERPC64 #define POWERPC64
...@@ -114,9 +117,13 @@ typedef enum ffi_abi { ...@@ -114,9 +117,13 @@ typedef enum ffi_abi {
#define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2) #define FFI_SYSV_TYPE_SMALL_STRUCT (FFI_TYPE_LAST + 2)
#if defined(POWERPC64) || defined(POWERPC_AIX) #if defined(POWERPC64) || defined(POWERPC_AIX)
#define FFI_TRAMPOLINE_SIZE 24 # if defined(POWERPC_DARWIN64)
# define FFI_TRAMPOLINE_SIZE 48
# else
# define FFI_TRAMPOLINE_SIZE 24
# endif
#else /* POWERPC || POWERPC_AIX */ #else /* POWERPC || POWERPC_AIX */
#define FFI_TRAMPOLINE_SIZE 40 # define FFI_TRAMPOLINE_SIZE 40
#endif #endif
#ifndef LIBFFI_ASM #ifndef LIBFFI_ASM
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment