2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Add PA_HPUX port. * Makefile.in: Regenerate. * include/Makefile.in: Likewise. * testsuite/Makefile.in: Likewise. * configure.ac: Add PA_HPUX rules. * configure: Regenerate. * src/pa/ffitarget.h: Rename linux target to PA_LINUX. Add PA_HPUX and PA64_HPUX. Rename FFI_LINUX ABI to FFI_PA32 ABI. (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets. (FFI_TYPE_SMALL_STRUCT2): Define. (FFI_TYPE_SMALL_STRUCT4): Likewise. (FFI_TYPE_SMALL_STRUCT8): Likewise. (FFI_TYPE_SMALL_STRUCT3): Redefine. (FFI_TYPE_SMALL_STRUCT5): Likewise. (FFI_TYPE_SMALL_STRUCT6): Likewise. (FFI_TYPE_SMALL_STRUCT7): Likewise. * src/pa/ffi.c (ROUND_DOWN): Delete. (fldw, fstw, fldd, fstd): Use '__asm__'. (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment. Simplify incrementing of stack slot variable. Change type of local 'n' to unsigned int. (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long double on PA_HPUX. (ffi_prep_cif_machdep): Likewise. (ffi_call): Likewise. (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change return type to ffi_status. Simplify incrementing of stack slot variable. Only copy floating point argument registers when PA_LINUX is true. Reformat debug statement. Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8. (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to declaration. (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX. Add nops to cache flush. Add trampoline for PA_HPUX. * src/pa/hpux32.S: New file. * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename ffi_prep_args_LINUX to ffi_prep_args_pa32. Localize labels. Add support for 2, 4 and 8-byte small structs. Handle unaligned destinations in 3, 5, 6 and 7-byte small structs. Order argument type checks so that common argument types appear first. (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename ffi_closure_inner_LINUX to ffi_closure_inner_pa32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112719 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- libffi/ChangeLog 50 additions, 0 deletionslibffi/ChangeLog
- libffi/Makefile.am 6 additions, 2 deletionslibffi/Makefile.am
- libffi/Makefile.in 24 additions, 12 deletionslibffi/Makefile.in
- libffi/configure 52 additions, 12 deletionslibffi/configure
- libffi/configure.ac 6 additions, 2 deletionslibffi/configure.ac
- libffi/include/Makefile.in 6 additions, 2 deletionslibffi/include/Makefile.in
- libffi/src/pa/ffi.c 226 additions, 130 deletionslibffi/src/pa/ffi.c
- libffi/src/pa/ffitarget.h 25 additions, 8 deletionslibffi/src/pa/ffitarget.h
- libffi/src/pa/hpux32.S 367 additions, 0 deletionslibffi/src/pa/hpux32.S
- libffi/src/pa/linux.S 147 additions, 98 deletionslibffi/src/pa/linux.S
- libffi/testsuite/Makefile.in 6 additions, 2 deletionslibffi/testsuite/Makefile.in
Loading
Please register or sign in to comment