# PaCkAgE DaTaStReAm libffi 1 591 # end of header 0707010004c86c000081a40000000000000000000000014dc9ec5000000112000000b500010002ffffffffffffffff0000000f00000000libffi/pkginfoPKG=libffi NAME=libffi 3.0.9 i86pc Solaris 10 VERSION=3.0.9 PSTAMP=11th May 2011 VENDOR=libffi Project EMAIL=http://sourceware.org/libffi/ DESC=Portable Foreign Function Interface Library ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 0707010004c86b000081a40000000000000000000000014dc9ec50000005d4000000b500010002ffffffffffffffff0000000e00000000libffi/pkgmap: 1 591 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/libffi-3.0.9 0755 root root 1 d none /usr/local/lib/libffi-3.0.9/include 0755 root root 1 f none /usr/local/lib/libffi-3.0.9/include/ffi.h 0644 root root 10886 3699 1305078731 1 f none /usr/local/lib/libffi-3.0.9/include/ffitarget.h 0644 root root 3496 60413 1305078731 1 f none /usr/local/lib/libffi.a 0644 root root 116668 45913 1305078731 1 f none /usr/local/lib/libffi.la 0755 root root 931 15847 1305078731 1 s none /usr/local/lib/libffi.so=libffi.so.5.0.10 1 s none /usr/local/lib/libffi.so.5=libffi.so.5.0.10 1 f none /usr/local/lib/libffi.so.5.0.10 0755 root root 91788 30814 1305078731 1 d none /usr/local/lib/pkgconfig 0755 root root 1 f none /usr/local/lib/pkgconfig/libffi.pc 0644 root root 245 22356 1305078731 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/info 0755 root root 1 f none /usr/local/share/info/dir 0644 root root 6257 9509 1305078731 1 f none /usr/local/share/info/libffi.info 0644 root root 18541 26468 1305078731 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man3 0755 root root 1 f none /usr/local/share/man/man3/ffi.3 0644 root root 648 53376 1305078731 1 f none /usr/local/share/man/man3/ffi_call.3 0644 root root 2333 62695 1305078731 1 f none /usr/local/share/man/man3/ffi_prep_cif.3 0644 root root 1053 22406 1305078731 1 i checkinstall 790 2504 1305078864 1 i pkginfo 274 21357 1305078864 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!0707010004c86c000081a40000000000000000000000014dc9ec5000000112000000b500010002ffffffffffffffff0000000800000000pkginfoPKG=libffi NAME=libffi 3.0.9 i86pc Solaris 10 VERSION=3.0.9 PSTAMP=11th May 2011 VENDOR=libffi Project EMAIL=http://sourceware.org/libffi/ DESC=Portable Foreign Function Interface Library ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 0707010004c86b000081a40000000000000000000000014dc9ec50000005d4000000b500010002ffffffffffffffff0000000700000000pkgmap: 1 591 1 d none /usr ? ? ? 1 d none /usr/local ? ? ? 1 d none /usr/local/lib 0755 root root 1 d none /usr/local/lib/libffi-3.0.9 0755 root root 1 d none /usr/local/lib/libffi-3.0.9/include 0755 root root 1 f none /usr/local/lib/libffi-3.0.9/include/ffi.h 0644 root root 10886 3699 1305078731 1 f none /usr/local/lib/libffi-3.0.9/include/ffitarget.h 0644 root root 3496 60413 1305078731 1 f none /usr/local/lib/libffi.a 0644 root root 116668 45913 1305078731 1 f none /usr/local/lib/libffi.la 0755 root root 931 15847 1305078731 1 s none /usr/local/lib/libffi.so=libffi.so.5.0.10 1 s none /usr/local/lib/libffi.so.5=libffi.so.5.0.10 1 f none /usr/local/lib/libffi.so.5.0.10 0755 root root 91788 30814 1305078731 1 d none /usr/local/lib/pkgconfig 0755 root root 1 f none /usr/local/lib/pkgconfig/libffi.pc 0644 root root 245 22356 1305078731 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/info 0755 root root 1 f none /usr/local/share/info/dir 0644 root root 6257 9509 1305078731 1 f none /usr/local/share/info/libffi.info 0644 root root 18541 26468 1305078731 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man3 0755 root root 1 f none /usr/local/share/man/man3/ffi.3 0644 root root 648 53376 1305078731 1 f none /usr/local/share/man/man3/ffi_call.3 0644 root root 2333 62695 1305078731 1 f none /usr/local/share/man/man3/ffi_prep_cif.3 0644 root root 1053 22406 1305078731 1 i checkinstall 790 2504 1305078864 1 i pkginfo 274 21357 1305078864 0707010004c883000041ed0000000000000000000000024dc9ec5000000000000000b500010002ffffffffffffffff0000000800000000install0707010004c884000081ed0000000000000000000000014dc9ec5000000316000000b500010002ffffffffffffffff0000001500000000install/checkinstall#!/bin/sh # expected_bits="64" expected_release="5.10" expected_platform="i386" # release=`uname -r` platform=`uname -p` bits=`isainfo -b` # if [ ${platform} != ${expected_platform} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${release} != ${expected_release} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n" echo "\tAborting installation.\n\n\n" exit 1 fi #if [ ${bits} != ${expected_bits} ]; then # echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n" # echo "\tYour machine is running a ${bits} bit O.S. currently\n" # echo "\tAborting installation.\n\n\n" # exit 1 #fi exit 0 0707010004c86d000041ed0000000000000000000000034dc9ec5000000000000000b500010002ffffffffffffffff0000000500000000root0707010004c86e000041ed0000000000000000000000034dc9ec5000000000000000b500010002ffffffffffffffff0000000900000000root/usr0707010004c86f000041ed0000000000000000000000044dc9ec5000000000000000b500010002ffffffffffffffff0000000f00000000root/usr/local0707010004c870000041ed0000000000000000000000044dc9ec5000000000000000b500010002ffffffffffffffff0000001300000000root/usr/local/lib0707010004c875000081a40000000000000000000000014dc9ebcb0001c7bc000000b500010002ffffffffffffffff0000001c00000000root/usr/local/lib/libffi.a! / 1305078731 0 0 0 880 ` (,l,l,l,l,l,l,l,l,l,l,l,l,l<<<<V$V$V$mmmmm4444444ffi_stop_hereffi_assertffi_type_testffi_prep_cifffi_prep_closureffi_type_voidffi_type_uint8ffi_type_sint8ffi_type_uint16ffi_type_sint16ffi_type_uint32ffi_type_sint32ffi_type_uint64ffi_type_sint64ffi_type_pointerffi_type_floatffi_type_doubleffi_type_longdoubleffi_raw_sizeffi_raw_to_ptrarrayffi_ptrarray_to_rawffi_prep_raw_closureffi_java_raw_sizeffi_java_raw_to_ptrarrayffi_java_ptrarray_to_raw.XAKgoyLKveyNURf.mparams.XAKgoyLKveyNURf.magic_init_mutex.XAKgoyLKveyNURf._gm_ffi_closure_allocffi_closure_freeffi_prep_argsffi_prep_cif_machdepffi_callffi_closure_SYSV_innerffi_prep_closure_locffi_prep_raw_closure_locffi_raw_callffi_call_SYSVffi_closure_SYSVffi_closure_raw_SYSVdebug.o/ 1305078729 0 0 100644 4364 ` ELF4(.strtab.text.bss.data.rodata.rodata1.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.symtabdebug.cBbss.bssDdata.dataDrodata.rodataffi_stop_hereffi_assert__iobfprintfabortffi_type_test.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_typenamesUÐUjEPE PEPhh ÐUASSERTION FAILURE: %s at %s:%d @(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13src/debug.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/debug.c -W0,-xp.XAKgoyLJveyNUze.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNUze.;backend;raw;cd;DBG_GEN 5.3.0ffi_stop_here!Uffi_assert*?Uexpr)file) line)charintffi_type_test3EUa2file2 line2unsignedsize_tunsigned short_ffi_type m size# alignment # type # elementsr#mffi_typewunsigned char__FILE} _cnt# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#    fprintf } abortp src./include/usr/include/iso/usr/includedebug.cffi.hstddef_iso.hstdio_impl.h$*3 8 = C: DD%.?  : ; @ ' D .?  : ; @ ' D I: ;  $> II:  :  I8 I8 &I .? < ' ID  I.? < ' D A$ffi_stop_hereCffi_assertffi_type_test?size_t_ffi_typewffi_type__FILE    /@" ',49  7;SW}  4G E" +4@ L Zf Ej C{ ` P (  x @  H   2   prep_cif.o/ 1305078729 0 0 100644 5940 ` ELF4(.strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_funcnames.debug_typenames.symtabprep_cif.cinitialize_aggregateBbss.bssDdata.dataDrodata.rodataffi_prep_cifffi_prep_cif_machdepffi_prep_closureffi_prep_closure_loc.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_funcnames.rel.debug_typenamesU E@EE@E@@u$Ej@PtEEPE@@JH ЋEBPUE@RPEPEPE@@;~E@EE@@EUEfBEEE@KEPE@JH ЋEBPE@u E EEÐUEEU PEUPEUPEUP E@E@ @u#Ej@ Pt EE@ @ uEE@EE@EEE@@u"Ej@P$t E}E@@H#EtUE@@JH ЍBEE@@HUDEEHEEEEEEmEUPjEPEEÐUjEPEPEPE PEPEE@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13rsrc/prep_cif.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/prep_cif.c -W0,-xp.XAKgoyLJveyNU5e.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNU5e.;backend;raw;cd;DBG_GEN 5.3.0initialize_aggregate%UyNarg$ptrS&FFI_OKFFI_BAD_TYPEDEFFFI_BAD_ABIyffi_statusunsignedsize_tunsigned short _ffi_type 5 size# alignment# type# elements:#  5ffi_type ? N ffi_prep_cifZrUcifX^abiX nargsXNrtypeYSatypesYbytes[i\ptrS] ffi_abi^FFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abi abi^# nargs# arg_typesS# rtypeN# bytes# flags#lffi_cif  ffi_prep_closureUJclosurecif funsuser_datacharlongJ kR void k ssxs } trampZ# cif# fun# user_datas#ffi_closure   lffi_prep_cif_machdep*  / kffi_prep_closure_loc*277e src./include/usr/include/isoprep_cif.cffi.hstddef_iso.hffitarget.h-  B Pk  r     &-6 ? H Q [     1gS\m   DD%. : ; @ ' ID I: ;  4I : ;   : ( I: $>  :  I8 I .?  : ; @ ' ID   :  : I !I/ ' D I' D .? < ' ID .? < ' ID 4vXffi_prep_cifffi_prep_closure'v*initialize_aggregatevyffi_statussize_t_ffi_type?ffi_typeffi_abi^ffi_abilffi_cifffi_closure    R, c & CGjnry &.6@HRZdnv   4 lll"lQ+v73 C (Q38ak+r P! p + @ ; 8 K  _  t   types.o/ 1305078729 0 0 100644 4060 ` ELF\ 4(.strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.symtabtypes.cBbss.bssDdata.dataDrodata.rodataffi_type_voidffi_type_uint8ffi_type_sint8ffi_type_uint16ffi_type_sint16ffi_type_uint32ffi_type_sint32ffi_type_uint64ffi_type_sint64ffi_type_pointerffi_type_floatffi_type_doubleffi_type_longdouble.rel.debug_info.rel.debug_pubnames.rel.debug_typenames     @(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13src/types.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/types.c -W0,-xp.XAKgoyLJveyNU\$e.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNU$e.;backend;raw;cd;DBG_GEN 5.3.0unsigned%size_tunsigned short_ffi_type size1#alignment>#type>#elements#PPffi_typeffi_type_void0ffi_type_uint84ffi_type_sint85ffi_type_uint16 6ffi_type_sint16D7ffi_type_uint32h8ffi_type_sint329ffi_type_uint64:ffi_type_sint64;ffi_type_pointer=ffi_type_float?ffi_type_double@@ffi_type_longdoubledLYS src./include/usr/include/isotypes.cffi.hstddef_iso.h DD%$> I:  :  I8 I&I4I?  : ;  ffi_type_voidffi_type_uint8ffi_type_sint8%ffi_type_uint16Iffi_type_sint16mffi_type_uint32ffi_type_sint32ffi_type_uint64ffi_type_sint64ffi_type_pointer"ffi_type_floatEffi_type_doubleiffi_type_longdouble41size_tP_ffi_typeffi_typez     $ 0 <  H T +` ;l Lx [ k  ! @d<`  4 "+v7 ]Ca eQ a 8r  x  L   T  raw_api.o/ 1305078730 0 0 100644 6500 ` ELF4(.strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.symtabraw_api.cBbss.bssDdata.dataDrodata.rodataffi_raw_sizeffi_raw_to_ptrarrayffi_ptrarray_to_rawmemcpyffi_prep_raw_closureffi_prep_raw_closure_loc.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_typenamesUEE@EE@HEE|QE@@ u EEE@@HUDEEHEEEEEE}EEEÐUE@EEEU;Ps|E@@ uE U@BE E &EU PE@@H@E E E@EEEEEEEEEEU;PrÐUE@EEEU;P2E @U@BEE,E @U@BEE E @U@BEEE @U@BEEE @U@BEEE @U@BEEE U@BEErE @U@BEEWU E@@PBPEP E@@H@EEE@@ w$E@EEEEEE EE E EU;P|\|PP4UjEPEPEPE PEPEE@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13src/raw_api.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/raw_api.c -W0,-xp.XAKgoyLJveyNUFf.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNUFf.;backend;raw;cd;DBG_GEN 5.3.0ffi_raw_size$Ucif#result%i &at(unsignedsize_tffi_abiFFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abiunsigned short _ffi_type w size# alignment# type# elements|# ( w(ffi_type    abi# nargs# arg_types# rtype# bytes# flags#ffi_cif int ffi_raw_to_ptrarray:/Ucif9Sraw9 Xargs9i;tp<signed longffi_sargunsigned longffi_argfloatcharlongvoid E sint# uint# flt# data# ptr#ffi_raw E  ffi_ptrarray_to_rawUcifXargs Srawitpffi_prep_raw_closure<UrA clcif funuser_datarFFI_OKFFI_BAD_TYPEDEFFFI_BAD_ABIAffi_status  S   tramp# cif# fun# user_data#ffi_raw_closure   memcpyF   P ffi_prep_raw_closure_locrFKSXX,d src/usr/include/iso./includeraw_api.cstddef_iso.hffi.hffitarget.h$  (7 D[yy  ;.  u-6? U \t |     1 4L Pm X~-7  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I:  : (  :  I8 I  :  .?  : ; @ ' D I !I/  :  : ' D I' D &I.? < ' ID .? < ' ID h(ffi_raw_sizeffi_raw_to_ptrarray]ffi_ptrarray_to_rawffi_prep_raw_closuresize_tffi_abiffi_abi(_ffi_typeffi_typeffi_cifffi_sargffi_argEffi_rawArffi_statusffi_raw_closurez   0,f- $ :>+/vzqx +2>FNX`jr|&  4n <"+7u0C:QlaKrP Th % P 5 x E  Y  java_raw_api.o/ 1305078730 0 0 100644 6036 ` ELF4(.strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.symtabjava_raw_api.cBbss.bssDdata.dataDrodata.rodataffi_java_raw_sizeabortffi_java_raw_to_ptrarrayffi_java_ptrarray_to_rawmemcpy.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_typenamesUEE@EE@HEE|eEE8EE'E@@ } tߐ w$EHEEEEEE}EEE,,8UE@EEEU;PsUEU PE@@H@E E E@EEEEEEEEEEU;PrÐUE@EEEU;P:E @U@BEECE @U@BEE#E @U@BEEE @U@BEEE @U@BEEE @U@BEEE @U@BEEE @U@BEEfU E@@PBPEP E@@H@EE)E@P}Bw$t럐E@EEEEEE EE E EU;PeXX\|@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13&src/java_raw_api.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/java_raw_api.c -W0,-xp.XAKgoyLKveyNULf.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLKveyNULf.;backend;raw;cd;DBG_GEN 5.3.0ffi_java_raw_size.Ucif-result/i0at2unsignedsize_tffi_abiFFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abiunsigned short _ffi_type  size# alignment%# type%# elements# 7 7ffi_type    abi# nargs# arg_types# rtype# bytes# flags#ffi_cif int ffi_java_raw_to_ptrarrayJ(UcifIlrawI qargsIiKtpLsigned longffi_sargunsigned longffi_argfloatcharlongvoid Y sint# uint# flt# data# ptr #ffi_java_raw Y  ffi_java_ptrarray_to_rawUcifqargs lrawitpabort memcpy  i src/usr/include/iso./includejava_raw_api.cstddef_iso.hffi.hffitarget.h.  ( ,5 8= Hvo~ + p&6? U \t |     4 < T Xu ~ DD%.?  : ; @ ' ID I: ;  4I : ;  $> I:  : (  :  I8 I  :  .?  : ; @ ' D I !I/  : .? < ' D &I.? < ' ID I^*2ffi_java_raw_size!ffi_java_raw_to_ptrarrayvffi_java_ptrarray_to_raw*size_tffi_abiffi_abi7_ffi_typeffi_typeffi_cifffi_sargffi_argYffi_java_rawz   x09kn  . IM?Cv} *9@LT\fnx   4Z "Q+*7! CAQVbarH@   @ ! Hh 1  E   closures.o/ 1305078730 0 0 100644 72724 ` ELFx4(.strtab.text.bss.data.rodata.rodata1.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_funcnames.debug_typenames.debug_varnames.symtabclosures.cstatlstatfstatmknodsegment_holdinghas_segment_linkinit_mparamschange_mparaminternal_malloc_statsmmap_allocdlmmapmmap_resizeinit_topinit_binsprepend_allocadd_segmentsys_allocrelease_unused_segmentsdlmunmapsys_trimtmalloc_largetmalloc_smallinternal_reallocdlfreedlmallocinternal_memaligniallocdlcallocdlreallocdlmemaligndlindependent_callocdlindependent_comallocdlvallocdlpvallocdlmalloc_trimdlmalloc_footprintdlmalloc_max_footprintdlmalloc_statsdlmalloc_usable_sizedlmalloptBbss.bssDdata.dataDrodata.rodata_xstat_lxstat_fxstat_xmknod.XAKgoyLKveyNURf.mparams.XAKgoyLKveyNURf.magic_init_mutexpthread_mutex_lock.XAKgoyLKveyNURf._gm_pthread_mutex_initpthread_mutex_unlocksysconfabort__iobfprintferrnomemcpymemsetmmapmunmapffi_closure_allocffi_closure_free.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_funcnames.rel.debug_typenames.rel.debug_varnamesUE PEPj EEUE PEPj EEUE PEPj EEUjjEPE PEPjEEÐUEEEU ;PrEU@BU ;s EE!E@EEu E뻐EÐUEEE U;PrE U @BU;s E E@EEu E뻐EÐU   EXXXXjhu!Ejhjhjj jj tjj E EEH#ЃuH#ЃtEEÐUE EmEEmE;r!EUH#ЃuEE@E5E E!EEw$EðxdUu ;uEtEjPEEEE@1EEEEEEE@ U(+ЉUEE@u EE@؃EE@EEEU;PEU@BU;szEU;PtoE@tdE@uE@U+ЉUE@U‰EEU;Pr)EU@BU;sEU;Pt E@uE@EEEPhh EPhh EPh8h EtEjPÐU U HЃ#ЉUE;E jjhjEPj_MEEEu EE؃EEEE+EEEEEUEPUEPEE@EUDEU;Ps EUPEEEEUEU;vEUEEEEÐU$E @EE sEEU;r#U+UE;w E EE @EEEEUHЃ#ЉUEEEEEE+EEUEPEE@EUDEU;Ps EUPEU+U‰E܋EU܉EU;vEUEEEEÐUE u EE ؃EEEE EE E+EEEU PEUP UE PE E@(EPÐUEE s5EEED$EEUP EUPE@EE rÐUD]E u EE ؃EE EEEu EE؃EEEEE+EEEEEE+EEUEPEU;Pu5E@ EE؋EU؉P E؉E܋EUPU܃EPEU;PuAE@EE؋EU؉PE؉E܋EUPU܃EPEE܋U܉PtE@E@E܋E E@E؋E@ EԋEEЋE;EuUMЋR#ЋEPaEЍEEM؍D$;t EU;Pr9EЍEEMԍD$;t EU;PrE؋UԉP EԋU؉P3EE؋E؋@EԋE؋@ ;Et>E؋@E̋E؋@ EЋEU;PrE̋UЉP EЋỦPE؃E̋E̋@EЋEЃuE؃E̋E̋@EЋEЃt}EЃEȋEȋ@uEЃEȋEȋ@t7EȉE̋E̋@EЋEЃEȋEȋ@u݋EЃEȋEȋ@uɋEU;PrE@EԃE؋PE,E̋E̋U;Pu1E̋UЉPEЃu]EغHҋK#ʋEH6EU;Pr%Eԋ@;EuEԋUЉP EԋUЉPEЃEU;Pr|EЋUԉPE؋@EȋEȃt'EU;PrEЋUȉPEȋUЉPE؋@EċEăt'EU;PrEЋUĉPEċUЉPEE܉EEE܉EEPEPUEPEEUPE EE܋E܍EED$E؋E؉EԋEM@#ƒuEMH ʋEH$E؋U@;BrE؋@EE؋UPEԋUP EUԉPEU؉P EE܋EEЋEЃu EE=vEEЉE̋E-EȋE̋ME̋E-EċEEĉEȋE̋ME̋E-@EċEEĉEȋE̋ME̋UڋEDEċ]ċEċUHZEԋUԋE,E؋E܋UԉPEE܋UЉPE܋UЉPEM@#ƒuBEMH ʋEHE؋U܉PE܋U؉PE܋U܉P E܋U܉P)E؋@E̋Eԃu EEڍD؃EċEMEȋE̋@;Et{EЃE̍DEEȍEEȋE@tE@E?EU;Pr)EU܉PE܋ỦPE܋U܉P E܋U܉PoeZE̋@EEU;PrEEU@BEEEU+ЉUEu EE؃EEEEEEEU;sEEEE؋E؉E܋E܉EԋEԃEЋEEE̋ẺEEE(PE PEP UEԉPUMЋAAAA EU EUEtEEEEEUU@EUEUD;tEEEE!EU@EEEEEEUЉEȃEE@E@EċE;Es EEʐE;EtEEE+EEEEEEPEPUEPEEUPE EEEEED$EEEEM@#ƒuEMH ʋEH#EU@;BrE@EEUPEUP EUPEUP EEEEEu EE=vEEEE-EEMEE-EEEEEMEE-@EEEEEMEUڋEDE]EUHZEUE,EEUPEEUPEUPEM@#ƒuBEMH ʋEHEUPEUPEUP EUP)E@EEu EEڍD؃EEMEE@;Et{EЃEDEEEEE@tE@E?EU;Pr)EUPEUPEUP EUPoeZE@EEU;PrE@E܋E@ EE;rE܋UP EU܉PEE܋E܋@EEuEE܋E܋@EEt}EE؋E؋@uEE؋E؋@t7E؉E܋E܋@EEE؋E؋@u݋EE؋E؋@uɋE;rE@EE@,E܋E܋U;Pu0E܋UPEuEHҡ#£7E;r%E@;EuEUP EUPEE;r|EUPE@E؋E؃t'E;rEU؉PE؋UPE@EԋEԃt'E;rEUԉPEԋUPEE@u6EEPEPUEPEEUP {E;ElE@ZE@E;ui E EEUEPE;uE;vjhvE;u=EEEUEPEEUPE@EEEEE E@EE@ EEEE;EuMЋ#ЉbEEU$;t E;r9EEU$;t E;rEUP EUP/EEE@EE@ ;Et>E@EE@ EE;rEUP EUPEEE@EEuEEE@EEt}EE܋E܋@uEE܋E܋@t7E܉EE@EEE܋E܋@u݋EE܋E܋@uɋE;rE@EE@,EEU;Pu0EUPEuEHҡ#£7E;r%E@;EuEUP EUPEE;r|EUPE@E܋E܃t'E;rEU܉PE܋UPE@E؋E؃t'E;rEU؉PE؋UPUEPEEUPE;uEh)EPEPUEPEEUPE EEEE$EEEM#ЃuM Љ#E@;rE@EEUPEUP EUPEUP EEEEEu EE=vEEEE-E܋EMEE-E؋EE؉E܋EMEE-@E؋EE؉E܋EMEUڋEDE؋]؋E؋UHZEE,EEUPEEUPEUPM#ЃuAM ЉEUPEUPEUP EUP(E@EEu EEڍD؃E؋EME܋E@;Et{EЃEDEԋE܍EE܋Eԋ@tEԋ@E?E;r)EԋUPEUPEUP EUPoeZE@EԋE;rinit_mparams OUgm VCdCdCs change_mparam Ug gparam_number gvalue  val internal_malloc_stats, U  m, GGmaxfp. fp/ used0 \kks$3 q9 mmap_allocQ DU   mQ nbQ  mmsizeR /8;8;8mmT W8c8c8offsetV psizeW pX void mmap_resizel U ml oldpl  nbl oldsizem |offsetu oldmmsizev newmmsizew cpy newp| psize} init_top %UH m p  psize offset init_bins |U m i 6zEkEkbin Esbinptrprepend_alloc )U  m newbase  oldbase nb p oldfirst psize q qsize  # S # S tsize X X c c dsize      nsize   q  q F B I x x TP ~ XP R    F   RP     CP     H     ( ( C0 C1    I B F   TP  H I  eX  e e e e eY N K T K ////==C  F tchunkptrU add_segment U m tbase  tsize t mmapped old_top oldsp$ old_end ssize rawsp offset asp csp sp ss$ tnext p nfencesg LHHnextp LXXq psize tn AAI B F HHTP NH I NX WllY N K KT K hhC  llF Csys_alloc U R m nb  tbase tsize! mmap_flagt " DDDmem ( D L L br? ss$@ asizeA `baseE ` l l ltttesizeb endd  oooreqz rsize{ 0o8o8omp} ottasize br end ssize 4 C|C|&|L|L|mn   sp$  D D  oldbase  ++rsize p r release_unused_segments "U! m released pred$ sp$ """base size next$ """p psize ="f"f"tp lXP R F RP  CP  H %111<<C0 C1 " " " "H I  X  $ $ < < Y N K !"\!"\!"T K !"!|"!|"!|"! "! "C  $"|"$"|"F sys_trim n$Ugl# m pad  released "I$"I$"I$"!$"!$"!$unitextrasp$+##+##+##+##+#x#+#x#+#x#K#x#K#x#newsize|##|########old_br(######rel_br*new_br+tmalloc_largeK-U ) mKnbK vLrsizeMtNidxO$U%XP$U%$U%$U%$U%$U%YPNPKPU%4&q%4&q%4&sizebitsTrstU%4&%-&%-&rtWtremX4&O'L&O'L&O'leftbits6k{&O'&O'&O'imleastbit6n&?'YoKoNoO''W''W''tremu'-'-'-'-'-'-r'-'-'-'*XPR'('5('5(F<((<((RP <((p((p((CP (*(*(*H})*)*)*)*) *) *C0C1*-T*-T*-x*-*!+*!+IBF(+-(+-TP.+-HI.++X7++L++L++d++d++YNK+,-,-,-TK,-,-,-,-,H-,H-C L--L--Ftmalloc_small2U - mnb tvrsizeileastbit6-.YKN.;/././trem;/2J/2J/2rS/2_/2_/2_/1XPRh/a0s//s//F/a0/a0RP /a0/a0/a0CP a01m01m01H010101011111C0C112121212DVS122222DV 22IBFinternal_realloch6U / m oldmem bytes3\6E3\6E3\6oldpoldsizenextnewpextra q3|53A53A5nb3A54A54A54444rsize+44344344remainder4A54A54A54A5newsizenewtopsizenewtop5\65\65\6newmem 5T65T65T6ocinternal_memalign9U 1 malignment bytes666666a 697979nbreqmemO79[79[79leader trailer p787878br&pos*newp,leadsize-newsize.898989size>999999remainder_size@remainderAialloc^'=U33 mZn_elements[ 3sizes\gopts]3chunks^element_sizehcontents_sizeiarray_sizejmem kplremainder_sizemmarray3narray_chunkowas_enabledt psizeqir$<Y<,<Y<,<Y<array_chunk_size dlmalloc3CU 7bytes9=$Cr=$Cr=$Cmem nbr=A=xA=xAidxsmallbits6=xA=>=>bp=M>F>xA>xA>xA>xA>xA>LA>LAbprrsizeileftbits6leastbit6>?YKN?@F@=AH@=AH@=Au@=ADVS }@-A@-A@-ADV @-AI B F ABABABrsize8p9A{BA5BA5Br;8B{B8B{BdvsABBBBBBBBrsizeLpMrNdlfreea>OUd? memaIC9OUC9OUC9Opi^C9OC9OC9OCOCOCOpsizevnextwCGCGCGprevsizeyCG4DG4DGprevLDG[DG[DG[DGjDMGjDMGjDMGyDEyDEFBI EMG EMGTP&EMGXPR/E)F:EqE:EqEFxE)FxE)FRP xE)FE)FE)FCP )FMG5FMG5FMGHFMGFMGFMGFMGFEGFEGC0C1GOGOGOGKGKGKGKGDHGDHtsizeDHKDHKOHHOHHdsizeHKHKnsizeHKHQIHQIFBIXIKXIKTP^IKXPRgIaJrIIrIIFIaJIaJRP IaJIaJIaJCP aJKmJKmJKHJKJKJKJKK}KK}KC0C1KOKLKLIBFLOLOTPLOHILeMXLeMLeMLeMLeMLeMYNKMOMOMOTK+NO+N O+N O+N O9NN9NNC N ON OFdlcallocOU ?n_elementselem_size mem reqdlrealloc-PU Q@ oldmembytes O(PP(PP(Pm dlmemalignSPU @alignmentbytes dlindependent_callocPU3An_elementselem_size 3chunksszdlindependent_comallocPU3An_elements3sizes 3chunksdlvallocPU Abytespageszdlpvalloc7QU Bbytespageszdlmalloc_trimQUgjBpadresultg dlmalloc_footprintQUdlmalloc_max_footprintQUdlmalloc_statsRUdlmalloc_usable_size#RULC mem#&RR.RR.RRp%dlmallopt,RUgCgparam_number,gvalue, dlmmapRU D startlength gprotgflagsgfdoffsetdlmunmapdSUgD startlength seg$code  SLS&SLS&SLSretg ffi_closure_alloc+SU REsize*3code* ptr ,SSSSSSseg$5ffi_closure_freeCSUE ptrB_gm_  malloc_params,F magic# page_size# granularity# mmap_threshold# trim_threshold# default_mflagst #mparamsEabortgetpagesizes2gyFNFggetpagesizes2gFNFgmunmapgFcaddr_tmmapFFFgggpthread_mutex_unlockg*GFpthread_mutex_lockgPGF _pthread_mutexattrG __pthread_mutexattrp #PGGpthread_mutex_initgGFG __FILE H _cntg# _ptrG# _baseG# _flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  GnHfprintfgHHHsysconfHggnH_xmknodg"IHHgn'I_lxstatgVI"I,Ign[I_xstatgIVI`Ig_fxstatgIIgmemset I g Imemcpy  I) src/usr/include/sys/usr/include/iso/usr/includeclosures.cstat_impl.hstat.htypes.htime_impl.hint_types.hdlmalloc.cstddef_iso.hstdio_impl.h &; F[ f         ( 9 D H Vdn x       > C J V\ a d l x      qG N U \ k v      # 1 B S}x     / ; W c           -8? Vb m |           , 7 @ n           # 6E Y k~z      # > G X c ~         ! <E X g n |          J V b   ' . 9 D H LX ^ g p      / 7 DL S         0T Z `l t             0 8 T \ b h ot            " 4 C X d    & 0 L_     " DO X c {       + F O g s           1 = f l w        "" "a"!" "" " " " " # +# +# +#K# W#r# |## # ## # # # # ## # $ !$!$ 7$?$ I$i$ y$$ $U% q% % %% % % % % % %  & & & &  & -& 4&L& {& & & ?' O'W' f' n' t' z' 'z' ' ' ' ' * * T* `* x* - -- - -- . . . . . / / /|;/J/ S/ _/ 1 1 1 1 1 2 22 2 22 2 3 E3 N3 Z3 c3 j3 q33 3 3 4 4 %4 +4 34 <4 n4 4 44 4 4 4 5 )5 25 ;5 D5I5 m5 |55 5 5 555 5 6 F6 T6 \6c6 v6~6 6 6 6 6 6 6 66 6 7*7 >7 O7 [7 b7 i7 r7 7 7 7 8 8 8 -8 I8 X8 h88 8 8 88 9 9 9 &9 X9 9 99 9 9 9 9 99 :: : $: *: 4:<: P: W: :: : :: : : ; *;3;B; W; k; s; ; ; ; ; ; < < $<,< 5< >< G< S< Y<`< o< z< < < < < < << <s<<= "= 9=r=== = = = = = = M> |> > >> >> > ? ? ? @ @ @ H@ T@ ]@ u@ =A FA LArA |AA A A A AA A A A  B B )B 8B@B JB TB {B B BB B B B B B BBCC $C+C IC UC ^C C C C C C C C C  D !D .D 4D=D FD LD [D jD PG ^G fG G GGG G G G G H H H #H .H =H DH OH dH lH H HH H K K K K KK O OO 9OFO!MO UO _O |O O O O O O O!O P  P(P 6P!NP fP!lP P P!P P!P P P Q" Q Q 2Q FQ"MQ Q Q Q Q Q"Q Q"Q R"R &R".R 7R ER R R R"R RR R S&S 9S AS LS_S vS~S S S S S SS SS  DD%. : ; @ ' ID I: ;  $> &III: I  !I/  :  I8  :   : 4I : ; . : ;@ ' ID I: ; I  :  . : ;@ ' D D D . : ;@ ' ID . : ;@ ' D .?  : ;@ ' ID .?  : ;@ ' D .? < ' D .? < ' ID I I8 .? < ' ID 9JDffi_closure_allocREffi_closure_freeJ*statlstat fstat\mknodQsegment_holding has_segment_link init_mparamsm change_mparam internal_malloc_stats mmap_alloc mmap_resizeinit_topHinit_binsprepend_allocadd_segmentsys_allocRrelease_unused_segments!sys_triml#tmalloc_large)tmalloc_small-internal_realloc/internal_memalign1ialloc3dlmalloc7dlfreed?dlcalloc?dlreallocQ@dlmemalign@dlindependent_callocAdlindependent_comallocAdlvallocAdlpvallocBdlmalloc_trimjBdlmalloc_footprintBdlmalloc_max_footprintBdlmalloc_statsBdlmalloc_usable_sizeLCdlmalloptCdlmmapDdlmunmap6Jdev_tino_tmode_tnlink_tuid_tgid_toff_ttime_ttimespecOtimestruc_tablksize_tqblkcnt_tstatuint16_tuint8_tuint32_t7upad64_tF_pthread_mutexpthread_mutex_tsize_tptrdiff_tmalloc_segment$msegmentptr6binmap_tJmalloc_chunkmchunkptrbindex_tmalloc_tree_chunkU tbinptrt flag_t msegment malloc_state mstatesbinptrtchunkptrEmalloc_paramsFcaddr_tPG_pthread_mutexattrG__FILE8J1magic_init_mutexE_gm_,Fmparams  @ `(]]PP4$R1+PD7@0LJX0dnRt"p$\ -2@C 0=p6:'@OOM0P# `P1!P+8P+AQ7K@Q}YQlQR RpR     :McvpS_S:1;Q<y=W>f>p>z>?@>>AB>A?CD>DD >>>>,>2>?Eh>}>>>>7@1FG1FG1FGC> >>>>>m E E} E Ee E E Ee EE EkEEEaEE>>>>>>> >>>>$>y>~>mEE>*AHEE!EyEEE"Eu"E">1(E(Ey)E)E *E*E*EA-E-E-E/E]0E0EE1E}1E1E}2E2E2H3>53@E5Ef5C5C?6I6Hs7>7@9C;>;@<J=C:=>N=A]=Ab=@=A=A>A>A->AI>E>A?A?A?A?A?Ev@A@A@A@A@A@A@AAE1AA9AAMAA[AAAAAAAAAAAAAA BA9BABBALBABABABABABABABACACACC_C>sCACAC@CA"DA*DAQDA`DADADADADADADAEEQEAmEEFA%FE>FAqFAxFAFAFEFAFA GE#GAAGEIGEbGAGAGAGAGAGA HAHAHA(HA1HAIHAPHAXHA]HAhHAHAHAIA IA#IA0IAMIEIAIEHJA]JEvJAJAJAJAJEJA#KAAKE[KAyKEKEKAKALA!LA8LA@LAPLAeLEkMAMAMAMAyNANENANAOEOEOA-OA2OCOJPA?PA}PAPAP> Q>NQ>bQAqQAvQ@QAQAQAQCQAQARARKRA/SLUSLSA4&537*.fjM?fj  (  , = A F J O S          ! d h m q v z          " ' + 0 4 L P U Y ^ b   "&+/48W[ #',0KOTX]a $)-EINRW[y}$(einr;?DHMQz~%)"&+/lpuyBFKOTX!&*GKPTY]bfkotx}15:>CGeinrw{$(-16:?CHLQUZ^{  os,059>Bosx|":>CGLPnrw{       # L P g k p t y }           !!!!!!%!*!.!3!7!4B4u4y4~4444444444444444455 55555566 666665696>6B6G6K6c6g66666666677 77'7+70747R7V7[7_7d7h7m7q7777777778888#8'8,8085898>8B8r8v8{8888888888888888888899 99999"9_9c9h9l9999999999999: :::::::>:C:G:L:P:g:k:p:t:y:}:::::::::::::::;; ; ;;;;;$;(;E;I;N;R;W;[;`;d;;;;;;;;;;;;<< <!<%<O<S<X<\<a<e<~<<<<<<<<<<<<<<<<== =====#=(=,=1=5=u=y=~==========>>5>9>>>B>G>K>P>T>Y>]>>>>>>>>>>>>>>>?? ??'?+?0?4?r?v???!@%@*@.@3@7@a@ e@@!@7A";AA#AA$A/B%3BB&BB'BB(BB)BC C%C)C.C2C[C*_CC C,D0DDDDDDDDMD E$E)E-E2E6EiENmEEA?F>'4;IV]ks{  %-5=EMU_gqy  +3;CKS[cks{  %-5=EMU]emw %-5=GT[iqy !)3;CKU]emw #+3=GOW_goy!)19CKS[emu}    ' / 7 A K S [ c k s {                     ' / 7 ? G Q Y c k s {                    % - 7 A I V ] k s {                    ! ) 3 = J Q _ g o w                    ! ) 1 ; C M U _ l s                  '/7?GOYaiqy !)19AIQYcmu} !)3;CKS[cks{ %-5=EMWdky '/7?GOWaiqy !)19CKS[emu '/7?IQYaiqy'/7?GQYcks{!)19AIQ[cks{!)19AIQYaiqy'/7?GOW_iqy !)6=KS]gt {!"#$)19F%M[cks{&'() #0*7ER YeryMN#33334f SXXX"XR+X4p^J@s-LZ=j{z:<:  %   X ( ` = h R p ffi64.o/ 1305078730 0 0 100644 2292 ` ELF4( .strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.symtabffi64.cBbss.bssDdata.dataDrodata.rodata.rel.debug_info@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13)src/x86/ffi64.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/x86/ffi64.c -W0,-xp.XAKgoyLKveyN0af.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLKveyN0af.;backend;raw;cd;DBG_GEN 5.3.0)# src/x86ffi64.c DD%Yabclmxy  ( 4 "+-7-CQ4   unix64.o/ 1305078730 0 0 100644 388 ` ELF4(.strtab.text.comment.symtabas: Sun Compiler Common 12.2 SunOS_i386 2010/08/13 !4" VV30ffi.o/ 1305078730 0 0 100644 11140 ` ELFd(4(.strtab.text.bss.data.rodata.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_funcnames.debug_typenames.symtabffi.cffi_prep_incoming_args_SYSVffi_prep_args_rawBbss.bssDdata.dataDrodata.rodataffi_prep_argsmemcpyffi_prep_cif_machdepffi_callffi_call_SYSVffi_closure_SYSV_innerffi_prep_closure_locffi_closure_SYSVffi_prep_raw_closure_locffi_closure_raw_SYSVffi_raw_call.rel.text.rel.debug_info.rel.debug_line.rel.debug_pubnames.rel.debug_funcnames.rel.debug_typenamesUEEE @@ uE U@BEEE @EE @@EE @@EE3Et EH@EE@@EEEE@U@BE@U@BE@U@BpE@U@B\E@U@BHE@U@B4E@U@B E@@w$UEPBPEP EEEEEEHEEEEEEì$$U,E@ PEP0E@ "E@E@ @ w$EEU EEEEEu&E@ uE@ @+ĉE EE0MUE PEPBPAPEPhE@tÐU E@ EE@+ĉEjjEPEPE PEP>MU Ejj@PEPBPEPAЃE@EEÐUEEE@ uEU @BEEEEE@EE@EEt[Et EH@EE@@EEUPEEEEEEHEEEEEEuÐUE @uSEEEEEEU +ЉU츸UBEUPUBEUPEE E%EU P EUPEUPEEÐUE @tEE @HEE|EHEE}EEEEEEU +ЉU踸UBEUPUBEUPEEEU P EUPEUPEEÐUU E @@PBPEP ÐUEEEEEEEu(E@ @ uE@ @+ĉEEE0MUE PEPBPAPEPhE@t@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13- src/x86/ffi.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c src/x86/ffi.c -W0,-xp.XAKgoyLKveyN0mf.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLKveyN0mf.;backend;raw;cd;DBG_GEN 5.3.0ffi_prep_args.Ustack-ecif- i^/p_argvy0argp1p_arg28\m\mzjGcharffi_abiP FFI_FIRST_ABI FFI_SYSV FFI_UNIX64 FFI_DEFAULT_ABI FFI_LAST_ABI ffi_abiunsigned ^size_tunsigned short _ffi_type  sizej# alignmentw# typew# elements# ffi_type Y abiP# nargs^# arg_types# rtype# bytes^# flags^# ffi_cifYvoidlt  cifg# rvaluet# avaluey# ~extended_cifffi_prep_cif_machdepU6gcif6 FFI_OK FFI_BAD_TYPEDEF FFI_BAD_ABI ffi_statusffi_callUgcif fn  trvalue yavalue ecifffi_closure_SYSV_innerXU^Xclosureyrespp targscifgarg_areaylong qX gtytq  tramp`# cifg# fun# user_datat# ffi_closureffi_prep_incoming_args_SYSV Ustackyrvalue yavaluegcifi^p_argvyargpp_argzjffi_prep_closure_locU6closuregcif funtuser_datatcodeloc!r!r!c__tramp+__fun^+__ctx^+__dis^+unsigned charffi_prep_raw_closure_locNiU6 H closureIgcifJ P funKtuser_dataLtcodelocMiU O3__trampa__fun^a__ctx^a__dis^a X signed long ffi_sargunsigned long > ffi_argfloatw X sint/ # uintO # flt] # dataf # ptrt# w ffi_raw  gt t 2 tramp # cifg# fun # user_datat# ffi_raw_closure2 M intffi_prep_args_rawmU stacklecifl ffi_raw_call2U; gcif> fn trvalue fake_avalueecifavaluey;  ffi_closure_raw_SYSVl C ffi_closure_SYSV l  ~^ ffi_call_SYSV   ^^  l memcpyt t ^__builtin_allocat^t src/x86./include/usr/include/isoffi.cffi_common.hffi.hffitarget.hstddef_iso.h3  & /8 P \g r ~          (dD$[ dm    *   V\ bu   X*  % J S fl w    `$ !t      B K T ] d s       r0 DD%.?  : ; @ ' D I: ;  4I : ;   $> I :  ( I:  :  I8  : .?  : ; @ ' ID  : .?  : ;@ ' D I: ; 4I : ; ' D .?  : ;@ ' ID I !I/ ' D I. : ;@ ' D  : .? < ' D &I.? < ' ID .? < ' ID 1 (ffi_prep_argsffi_prep_cif_machdepGffi_callffi_closure_SYSV_innerffi_prep_closure_loc ffi_prep_raw_closure_loc ffi_raw_callD1 ffi_prep_incoming_args_SYSV\ ffi_prep_args_raw1 ffi_abiPffi_abijsize_t_ffi_typeffi_typeYffi_cif~extended_cif6ffi_statusffi_closure/ ffi_sargO ffi_argw ffi_raw 2 ffi_raw_closure`p"    VP .xEZk=T"&*.26:>BFJ)  $;?VZ lpuy~+/s w    )1;CMU_gqy )6=IQ[cmw %-7?IS]gq{ %-:AMZamu}   4 P2"Q+ 1 7CQaNHr|  L"  T#P  $  L(  T(  \( sysv.o/ 1305078730 0 0 100644 1676 ` ELF$4( .strtab.text.eh_frame.SUNW_cap.comment.symtabnoretvalepilogueretintretfloatretdoubleretlongdoubleretuint8retsint8retuint16retsint16retint64retstructffi_prep_argsffi_call_SYSVffi_closure_SYSVffi_closure_SYSV_innerffi_closure_raw_SYSV.rel.text.rel.eh_frameUM+u PUUMV}u<|vV]dLBQGvvkk|v^4/*% MMM9MAQMA^]ÐU(UUUT$U$Mt' }}ttt t t]Ë)Q]UV$p PT$ UT$UT$4$PFt$ }}ttt t$^]ËEEEmEU|  8j $X$m as: Sun Compiler Common 12.2 SunOS_i386 2010/08/1345>GNWaoxx}j$m<\4 P|o`#p3,`  0707010004c871000041ed0000000000000000000000034dc9ec5000000000000000b500010002ffffffffffffffff0000002000000000root/usr/local/lib/libffi-3.0.90707010004c872000041ed0000000000000000000000024dc9ec5000000000000000b500010002ffffffffffffffff0000002800000000root/usr/local/lib/libffi-3.0.9/include0707010004c874000081a40000000000000000000000014dc9ebcb00000da8000000b500010002ffffffffffffffff0000003400000000root/usr/local/lib/libffi-3.0.9/include/ffitarget.h/* -----------------------------------------------------------------*-C-*- ffitarget.h - Copyright (c) 1996-2003 Red Hat, Inc. Copyright (C) 2008 Free Software Foundation, Inc. Target configuration macros for x86 and x86-64. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ``Software''), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ----------------------------------------------------------------------- */ #ifndef LIBFFI_TARGET_H #define LIBFFI_TARGET_H /* ---- System specific configurations ----------------------------------- */ #if defined (X86_64) && defined (__i386__) #undef X86_64 #define X86 #endif #ifdef X86_WIN64 #define FFI_SIZEOF_ARG 8 #define USE_BUILTIN_FFS 0 // not yet implemented in mingw-64 #endif /* ---- Generic type definitions ----------------------------------------- */ #ifndef LIBFFI_ASM #ifdef X86_WIN64 #ifdef _MSC_VER typedef unsigned __int64 ffi_arg; typedef __int64 ffi_sarg; #else typedef unsigned long long ffi_arg; typedef long long ffi_sarg; #endif #else typedef unsigned long ffi_arg; typedef signed long ffi_sarg; #endif typedef enum ffi_abi { FFI_FIRST_ABI = 0, /* ---- Intel x86 Win32 ---------- */ #ifdef X86_WIN32 FFI_SYSV, FFI_STDCALL, /* TODO: Add fastcall support for the sake of completeness */ FFI_DEFAULT_ABI = FFI_SYSV, #endif #ifdef X86_WIN64 FFI_WIN64, FFI_DEFAULT_ABI = FFI_WIN64, #else /* ---- Intel x86 and AMD x86-64 - */ #if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__)) FFI_SYSV, FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */ #ifdef __i386__ FFI_DEFAULT_ABI = FFI_SYSV, #else FFI_DEFAULT_ABI = FFI_UNIX64, #endif #endif #endif /* X86_WIN64 */ FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 } ffi_abi; #endif /* ---- Definitions for closures ----------------------------------------- */ #define FFI_CLOSURES 1 #define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) #define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2) #define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) #if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN)) #define FFI_TRAMPOLINE_SIZE 24 #define FFI_NATIVE_RAW_API 0 #else #ifdef X86_WIN32 #define FFI_TRAMPOLINE_SIZE 13 #else #ifdef X86_WIN64 #define FFI_TRAMPOLINE_SIZE 29 #define FFI_NATIVE_RAW_API 0 #define FFI_NO_RAW_API 1 #else #define FFI_TRAMPOLINE_SIZE 10 #endif #endif #ifndef X86_WIN64 #define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */ #endif #endif #endif 0707010004c873000081a40000000000000000000000014dc9ebcb00002a86000000b500010002ffffffffffffffff0000002e00000000root/usr/local/lib/libffi-3.0.9/include/ffi.h/* -----------------------------------------------------------------*-C-*- libffi 3.0.9 - Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ``Software''), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ----------------------------------------------------------------------- */ /* ------------------------------------------------------------------- The basic API is described in the README file. The raw API is designed to bypass some of the argument packing and unpacking on architectures for which it can be avoided. The closure API allows interpreted functions to be packaged up inside a C function pointer, so that they can be called as C functions, with no understanding on the client side that they are interpreted. It can also be used in other cases in which it is necessary to package up a user specified parameter and a function pointer as a single function pointer. The closure API must be implemented in order to get its functionality, e.g. for use by gij. Routines are provided to emulate the raw API if the underlying platform doesn't allow faster implementation. More details on the raw and cloure API can be found in: http://gcc.gnu.org/ml/java/1999-q3/msg00138.html and http://gcc.gnu.org/ml/java/1999-q3/msg00174.html -------------------------------------------------------------------- */ #ifndef LIBFFI_H #define LIBFFI_H #ifdef __cplusplus extern "C" { #endif /* Specify which architecture libffi is configured for. */ #define X86_64 /* ---- System configuration information --------------------------------- */ #include #ifndef LIBFFI_ASM #ifdef _MSC_VER #define __attribute__(X) #endif #include #include /* LONG_LONG_MAX is not always defined (not if STRICT_ANSI, for example). But we can find it either under the correct ANSI name, or under GNU C's internal name. */ #ifdef LONG_LONG_MAX # define FFI_LONG_LONG_MAX LONG_LONG_MAX #else # ifdef LLONG_MAX # define FFI_LONG_LONG_MAX LLONG_MAX # else # ifdef __GNUC__ # define FFI_LONG_LONG_MAX __LONG_LONG_MAX__ # endif # endif #endif /* The closure code assumes that this works on pointers, i.e. a size_t */ /* can hold a pointer. */ typedef struct _ffi_type { size_t size; unsigned short alignment; unsigned short type; struct _ffi_type **elements; } ffi_type; #ifndef LIBFFI_HIDE_BASIC_TYPES #if SCHAR_MAX == 127 # define ffi_type_uchar ffi_type_uint8 # define ffi_type_schar ffi_type_sint8 #else #error "char size not supported" #endif #if SHRT_MAX == 32767 # define ffi_type_ushort ffi_type_uint16 # define ffi_type_sshort ffi_type_sint16 #elif SHRT_MAX == 2147483647 # define ffi_type_ushort ffi_type_uint32 # define ffi_type_sshort ffi_type_sint32 #else #error "short size not supported" #endif #if INT_MAX == 32767 # define ffi_type_uint ffi_type_uint16 # define ffi_type_sint ffi_type_sint16 #elif INT_MAX == 2147483647 # define ffi_type_uint ffi_type_uint32 # define ffi_type_sint ffi_type_sint32 #elif INT_MAX == 9223372036854775807 # define ffi_type_uint ffi_type_uint64 # define ffi_type_sint ffi_type_sint64 #else #error "int size not supported" #endif #if LONG_MAX == 2147483647 # if FFI_LONG_LONG_MAX != 9223372036854775807 #error "no 64-bit data type supported" # endif #elif LONG_MAX != 9223372036854775807 #error "long size not supported" #endif #if LONG_MAX == 2147483647 # define ffi_type_ulong ffi_type_uint32 # define ffi_type_slong ffi_type_sint32 #elif LONG_MAX == 9223372036854775807 # define ffi_type_ulong ffi_type_uint64 # define ffi_type_slong ffi_type_sint64 #else #error "long size not supported" #endif /* These are defined in types.c */ extern ffi_type ffi_type_void; extern ffi_type ffi_type_uint8; extern ffi_type ffi_type_sint8; extern ffi_type ffi_type_uint16; extern ffi_type ffi_type_sint16; extern ffi_type ffi_type_uint32; extern ffi_type ffi_type_sint32; extern ffi_type ffi_type_uint64; extern ffi_type ffi_type_sint64; extern ffi_type ffi_type_float; extern ffi_type ffi_type_double; extern ffi_type ffi_type_pointer; #if 1 extern ffi_type ffi_type_longdouble; #else #define ffi_type_longdouble ffi_type_double #endif #endif /* LIBFFI_HIDE_BASIC_TYPES */ typedef enum { FFI_OK = 0, FFI_BAD_TYPEDEF, FFI_BAD_ABI } ffi_status; typedef unsigned FFI_TYPE; typedef struct { ffi_abi abi; unsigned nargs; ffi_type **arg_types; ffi_type *rtype; unsigned bytes; unsigned flags; #ifdef FFI_EXTRA_CIF_FIELDS FFI_EXTRA_CIF_FIELDS; #endif } ffi_cif; /* ---- Definitions for the raw API -------------------------------------- */ #ifndef FFI_SIZEOF_ARG # if LONG_MAX == 2147483647 # define FFI_SIZEOF_ARG 4 # elif LONG_MAX == 9223372036854775807 # define FFI_SIZEOF_ARG 8 # endif #endif #ifndef FFI_SIZEOF_JAVA_RAW # define FFI_SIZEOF_JAVA_RAW FFI_SIZEOF_ARG #endif typedef union { ffi_sarg sint; ffi_arg uint; float flt; char data[FFI_SIZEOF_ARG]; void* ptr; } ffi_raw; #if FFI_SIZEOF_JAVA_RAW == 4 && FFI_SIZEOF_ARG == 8 /* This is a special case for mips64/n32 ABI (and perhaps others) where sizeof(void *) is 4 and FFI_SIZEOF_ARG is 8. */ typedef union { signed int sint; unsigned int uint; float flt; char data[FFI_SIZEOF_JAVA_RAW]; void* ptr; } ffi_java_raw; #else typedef ffi_raw ffi_java_raw; #endif void ffi_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_raw *avalue); void ffi_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_raw *raw); void ffi_raw_to_ptrarray (ffi_cif *cif, ffi_raw *raw, void **args); size_t ffi_raw_size (ffi_cif *cif); /* This is analogous to the raw API, except it uses Java parameter */ /* packing, even on 64-bit machines. I.e. on 64-bit machines */ /* longs and doubles are followed by an empty 64-bit word. */ void ffi_java_raw_call (ffi_cif *cif, void (*fn)(void), void *rvalue, ffi_java_raw *avalue); void ffi_java_ptrarray_to_raw (ffi_cif *cif, void **args, ffi_java_raw *raw); void ffi_java_raw_to_ptrarray (ffi_cif *cif, ffi_java_raw *raw, void **args); size_t ffi_java_raw_size (ffi_cif *cif); /* ---- Definitions for closures ----------------------------------------- */ #if FFI_CLOSURES typedef struct { char tramp[FFI_TRAMPOLINE_SIZE]; ffi_cif *cif; void (*fun)(ffi_cif*,void*,void**,void*); void *user_data; #ifdef __GNUC__ } ffi_closure __attribute__((aligned (8))); #else } ffi_closure; #endif void *ffi_closure_alloc (size_t size, void **code); void ffi_closure_free (void *); ffi_status ffi_prep_closure (ffi_closure*, ffi_cif *, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data); ffi_status ffi_prep_closure_loc (ffi_closure*, ffi_cif *, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void*codeloc); typedef struct { char tramp[FFI_TRAMPOLINE_SIZE]; ffi_cif *cif; #if !FFI_NATIVE_RAW_API /* if this is enabled, then a raw closure has the same layout as a regular closure. We use this to install an intermediate handler to do the transaltion, void** -> ffi_raw*. */ void (*translate_args)(ffi_cif*,void*,void**,void*); void *this_closure; #endif void (*fun)(ffi_cif*,void*,ffi_raw*,void*); void *user_data; } ffi_raw_closure; typedef struct { char tramp[FFI_TRAMPOLINE_SIZE]; ffi_cif *cif; #if !FFI_NATIVE_RAW_API /* if this is enabled, then a raw closure has the same layout as a regular closure. We use this to install an intermediate handler to do the transaltion, void** -> ffi_raw*. */ void (*translate_args)(ffi_cif*,void*,void**,void*); void *this_closure; #endif void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*); void *user_data; } ffi_java_raw_closure; ffi_status ffi_prep_raw_closure (ffi_raw_closure*, ffi_cif *cif, void (*fun)(ffi_cif*,void*,ffi_raw*,void*), void *user_data); ffi_status ffi_prep_raw_closure_loc (ffi_raw_closure*, ffi_cif *cif, void (*fun)(ffi_cif*,void*,ffi_raw*,void*), void *user_data, void *codeloc); ffi_status ffi_prep_java_raw_closure (ffi_java_raw_closure*, ffi_cif *cif, void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), void *user_data); ffi_status ffi_prep_java_raw_closure_loc (ffi_java_raw_closure*, ffi_cif *cif, void (*fun)(ffi_cif*,void*,ffi_java_raw*,void*), void *user_data, void *codeloc); #endif /* FFI_CLOSURES */ /* ---- Public interface definition -------------------------------------- */ ffi_status ffi_prep_cif(ffi_cif *cif, ffi_abi abi, unsigned int nargs, ffi_type *rtype, ffi_type **atypes); void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue); /* Useful for eliminating compiler warnings */ #define FFI_FN(f) ((void (*)(void))f) /* ---- Definitions shared with assembly code ---------------------------- */ #endif /* If these change, update src/mips/ffitarget.h. */ #define FFI_TYPE_VOID 0 #define FFI_TYPE_INT 1 #define FFI_TYPE_FLOAT 2 #define FFI_TYPE_DOUBLE 3 #if 1 #define FFI_TYPE_LONGDOUBLE 4 #else #define FFI_TYPE_LONGDOUBLE FFI_TYPE_DOUBLE #endif #define FFI_TYPE_UINT8 5 #define FFI_TYPE_SINT8 6 #define FFI_TYPE_UINT16 7 #define FFI_TYPE_SINT16 8 #define FFI_TYPE_UINT32 9 #define FFI_TYPE_SINT32 10 #define FFI_TYPE_UINT64 11 #define FFI_TYPE_SINT64 12 #define FFI_TYPE_STRUCT 13 #define FFI_TYPE_POINTER 14 /* This should always refer to the last type code (for sanity checks) */ #define FFI_TYPE_LAST FFI_TYPE_POINTER #ifdef __cplusplus } #endif #endif 0707010004c876000081ed0000000000000000000000014dc9ebcb000003a3000000b500010002ffffffffffffffff0000001d00000000root/usr/local/lib/libffi.la# libffi.la - a libtool library file # Generated by ltmain.sh (GNU libtool) 2.2.6 # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libffi.so.5' # Names of this library. library_names='libffi.so.5.0.10 libffi.so.5 libffi.so' # The name of the static archive. old_library='libffi.a' # Linker flags that can not go in dependency_libs. inherited_linker_flags='' # Libraries that this one depends upon. dependency_libs=' -L/usr/local/lib' # Names of additional weak libraries provided by this library weak_library_names='' # Version information for libffi. current=5 age=0 revision=10 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/usr/local/lib' 0707010004c877000081ed0000000000000000000000014dc9ebcb0001668c000000b500010002ffffffffffffffff0000002400000000root/usr/local/lib/libffi.so.5.0.10ELF4a4 (#"o||||x}x}CB  !#$%&()*,.012346:<>?A "'+-/5789;=@~ ~  0q -P~OU W `~ p~ t~ z ~ h~ x ~  '=`~ V]|<| ~  ~ xv  @  s4 <  x}!r 3J D X`s fn~ ~y s    v  ~ `{j |#*2{m Gx `@J u|~ @u t|X| ffi_type_floatffi_type_uint64ffi_prep_cif.XAKgoyLKveyNkQf.magic_init_mutex__iobffi_assertffi_type_doubleffi_type_pointerffi_type_uint8_edataffi_call_SYSVffi_type_sint16ffi_type_void.XAKgoyLKveyNkQf.mparamsffi_prep_closure_locffi_type_longdoublememset_fxstatpthread_mutex_lock.XAKgoyLKveyNkQf._gm_ffi_java_raw_to_ptrarray_xstat_GLOBAL_OFFSET_TABLE_pthread_mutex_initffi_type_uint16ffi_java_ptrarray_to_rawffi_type_sint8_endffi_callffi_raw_sizeffi_ptrarray_to_rawffi_closure_free_PROCEDURE_LINKAGE_TABLE__DYNAMICffi_closure_allocffi_prep_closureffi_raw_to_ptrarrayffi_prep_args_lxstatffi_type_sint32ffi_raw_callffi_type_testsysconfabortffi_stop_herepthread_mutex_unlockffi_closure_SYSV_innerffi_java_raw_sizeffi_type_sint64ffi_closure_SYSV_xmknod_etextmemcpyfprintfffi_closure_raw_SYSVffi_prep_raw_closure_locffi_prep_raw_closuremunmapffi_type_uint32ffi_prep_cif_machdeperrno_lib_version_finimmaplibc.so.1SUNW_0.9libffi.so.5/usr/local/lib:/lib:/usr/lib(= z{0|H}L}P}t}|,}0}8}T}>d}&l}3p}8 @`}7}.}- }=}}6}9} }'$}(}44}<}*@}/D},X}\}A`};h} hhh h$h (h(,h00h8p4h@`8hHP<hP@HhX0Ph` ThhXhplhxphth|hU]]ÐU]ZUSoڋ jEPE PEPRA Pw]ÐU]]U]ZUnڋE@EE@E@@u%Ej@PtEEPE@@JH ЋEBPUE@RPEPEPE@@;~E@EE@@EUEfBEEE@JEPE@JH ЋEBPE@u E EE]U]ZU踳mEEU PEUPEUPEUP E@E@ @u$Ej@ P^tEE@ @ uEE@EE@EEE@@u"Ej@Pt E}E@@H#EtUE@@JH ЍBEE@@HUDEEHEEEEEEmEUPjEPEE]ÐU ]ZU3ljEPEPEPE PEPEE]U]EE@EE@HEE|RE@@ uEEE@@HUDEEHEEEEEE}EEE]ÐU]E@EEEU;Ps}E@@ uE U@BE E 'EU PE@@H@E E E@EEEEEEEEEEU;Pr]ÐU]ZU츣jڋE@EEEU;P3E @U@BEE9E @U@BEEE @U@BEEE @U@BEEE @U@BEEE @U@BEEE U@BEEE @U@BEEdU E@@PBPEP E@@H@EE'E@@H wUD؋UE@EEEEEE EE E EU;Pn]?_33U ]ZUhjEPEPEPE PEP0EE]U]ZUShEE@EE@HEE|sEEEEE4E@@ } tߐHwոUDUEHEEEEEE}EEE]??KU]E@EEEU;PsUEU PE@@H@E E E@EEEEEEEEEEU;Pr]ÐU$]ZUgڋE@EEEU;P;E @U@BEE[E @U@BEE;E @U@BEEE @U@BEEE @U@BEEE @U@BEEE @U@BEEE @U@BEE~U E@@PBPEP^ E@@H@EEAE@@E}EHwUD܋UEk념E@EEEEEE EE E EU;PL];;?_U ]ZUdڋE PEPj EE]ÐU ]ZUdڋE PEPj\ EE]ÐU ]ZUcdڋE PEPj, EE]ÐU ]ZU#djjEPE PEPjEE]ÐU ]EEEU ;PrEU@BU ;s EE"E@EEu E뺐E]ÐU ]EEE U;PrE U @BU;s E!E@EEu E뺐E]ÐU]ZUbڋ@@"@@ @@ @@EXXXXDjP@@u7@UPLjP}@L@DjPgjj kЋ@Pjj Ttjj CE@@E@UP@@@RH#Ѓu@@@RH#Ѓt'EE]ÐU]ZUaڋE Ed~@UPE@U;Pr&EUH#Ѓu@UPEREF@UP E.E"EHwUDUE]?'U ]ZU丣`ڋ@@u |uEtEjPbEEEE@.EEEEEEE@ U(+ЉUEE@u EE@؃EE@EEEU;PEU@BU;szEU;PtoE@tdE@uE@U+ЉUE@U‰EEU;Pr)EU@BU;sEU;Pt E@uE@EE \EPRA P: `EPRA P dEPRA P EtEjP]ÐU(]ZUܸc^ڋ@U P@@HЃ#ЉUE;E jjhjEPjREEEu EE؃EEEE+EEEEEUEPUEPEE@EUDEU;Ps EUPEEEEUEU;vEUEEEE]ÐU,]ZUظ]ڋE @EE s EEU;r'U+U@@E;w E EE @EEEE@UP@@HЃ#ЉUEEEEEE+EEUEPEE@EUDEU;Ps EUPEU+U‰E܋EU܉EU;vEUEEEE]ÐU]ZU[ڋE u EE ؃EEEE EE E+EEEU PEUP UE PE E@(@U@B]ÐU ]EE s5EEED$EEUP EUPE@EE rˋ]ÐUL]uZUZڋE u EE ؃EE EEEu EE؃EEEEE+EEEEEE+EEUEPEU;Pu5E@ EE؋EU؉P E؉E܋EUPU܃EPEU;PuAE@EE؋EU؉PE؉E܋EUPU܃EPEE܋U܉PtE@E@E܋E E@E؋E@ EԋEEЋE;EuUMЋR#ЋEPaEЍEEM؍D$;t EU;Pr9EЍEEMԍD$;t EU;PrE؋UԉP EԋU؉P3EE؋E؋@EԋE؋@ ;Et>E؋@E̋E؋@ EЋEU;PrE̋UЉP EЋỦPE؃E̋E̋@EЋEЃuE؃E̋E̋@EЋEЃt}EЃEȋEȋ@uEЃEȋEȋ@t7EȉE̋E̋@EЋEЃEȋEȋ@u݋EЃEȋEȋ@uɋEU;PrE@EԃE؋PE,E̋E̋U;Pu1E̋UЉPEЃuuEغHҋN#ʋEH6EU;Pr%Eԋ@;EuEԋUЉP EԋUЉP_EЃEU;Pr|EЋUԉPE؋@EȋEȃt'EU;PrEЋUȉPEȋUЉPE؋@EċEăt'EU;PrEЋUĉPEċUЉPEE܉EEE܉EEPEPUEPEEUPE EE܋E܍EED$E؋E؉EԋEM@#ƒuEMH ʋEH$E؋U@;BrE؋@EE؋UPEԋUP EUԉPEU؉P EE܋EEЋEЃu EE=vEEЉE̋E-EȋE̋ME̋E-EċEEĉEȋE̋ME̋E-@EċEEĉEȋE̋ME̋UڋEDEċuċEċUHrEԋUԋE,E؋E܋UԉPEE܋UЉPE܋UЉPEM@#ƒuBEMH ʋEHE؋U܉PE܋U؉PE܋U܉P E܋U܉P)E؋@E̋Eԃu EEڍD؃EċEMEȋE̋@;Et{EЃE̍DEEȍEEȋE@tE@E?EU;Pr)EU܉PE܋ỦPE܋U܉P E܋U܉PoeZE̋@EEU;PrEEtEEEEE@U P@@HЃ)#ЉUE=sVEEEEEt2Et*E;Es"E+EEE U(;v EEEEEEEEEU쉐EU;vEUE@FEUPEUEUEtEEEEEUU@EUEUD;t'EEEE!EU@EEE܋E܉E싃@U@B jEPfLU;uE(PEPEP 1UE@DE؋EE+E؃(PEPEP_ EEEt7EU@BU;t$E@EEtEU@BU;u܋EtnEEU@;B u]EuUEU@;BrGMEU@BQ;s1EPUEPUE@ EPBPEP EU;Ps EUPEEEt1EUU@;t!E@EEtEUU@;uߋEt`EEU@;B uOEuGE@EEUPEPUEPjjE PEPEPEPEjjEPEPEPEPEU ;P saE@ +E EEUP EEE@EEE E܋EU܉PE܉EUEPU EPEEh@ EE]ЋuÐUT]uZUEEEEE@EEE@EE@EE@EEu EE؃E܋EE܉EE@E؋E@5UU؋EE(;EEԋEU;PuE@E@-Eԋ@EЋEԋ@ ;Et@Eԋ@EȋEԋ@ E̋EU;PrEȋỦP E̋UȉPEԃEȋEȋ@E̋ẼuEԃEȋEȋ@E̋Ẽt}ẼEċEċ@uẼEċEċ@t7EĉEȋEȋ@E̋ẼEċEċ@u݋ẼEċEċ@uɋEU;PrE@;EЃEԋPE,EȋEȋU;Pu1EȋỦPẼuuEԺHҋN#ʋEH6EU;Pr%EЋ@;EuEЋỦP EЋỦPẼEU;Pr|E̋UЉPEԋ@EċEăt'EU;PrE̋UĉPEċỦPSEԋ@EEt'EU;PrE̋UPEỦPEPEP7u2EEEE+UEEEEUPEEȋEȃuEE=vEEȉEċE-EEċMEċE-EEEEEċMEċE-@EEEEEċMEċUڋEDEuEU؍HrE̋ŰE,EЋEԋỦPEEԋUȉPEԋUȉPEM@#ƒuBEMH ʋEHEЋUԉPEԋUЉPEԋUԉP EԋUԉP)EЋ@EċẼu EEڍD؃EE؋MEEċ@;Et{EЃEčDEEEEE@tE@E?EU;Pr)EUԉPEԋUĉPEԋUԉP EԋUԉPoeZEċ@EEU;Pr @> > F d d d ` @8 || |&W 1qO 8k DP! M"R W`" e0* q0# {07 r P= @?w  H' M p_  X Q PUF l Pmh mC nQ .pnK EnM NoY Xpo f0p8 ypp8 p7 pw pq< 6+P~?t|[h~6+P~?t|[h~Pw yC 6+P~?t|[h~Z{ Z{ T{ 4{ ;{ &B{ 4*{ = { F/{ P%{ ZI{ cZ{ m~ ~ 0q P~ W ~ ~ t~ z &~ 6h~ D]x r~ `~ |<| ~  0~ ?xDv M Z@ n s4 <  x}r J  `s ~ y    "(  6Kv b t~ `{j |{m x @J ~ @u t|&X| 3.libs/libffi.so.5.0.10crti.svalues-Xa.cDdata.dataBbss.bssDrodata.rodatadebug.c.L28Dpicdata.picdataprep_cif.cinitialize_aggregatetypes.cjava_raw_api.cclosures.cfstatlstat_xmknodsegment_holdinghas_segment_linkinit_mparamschange_mparaminternal_malloc_stats.L306.L308.L310mmap_allocdlmmapmmap_resizeinit_topinit_binsprepend_allocadd_segmentsys_allocrelease_unused_segmentsdlmunmapsys_trimtmalloc_largetmalloc_smallinternal_reallocdlfreedlmallocinternal_memaligniallocdlcallocdlreallocdlmemaligndlindependent_callocdlindependent_comallocdlvallocdlpvallocdlmalloc_trimdlmalloc_footprintdlmalloc_max_footprintdlmalloc_statsdlmalloc_usable_sizedlmalloptffi64.cffi.cffi_prep_incoming_args_SYSVffi_prep_args_rawnoretvalepilogueretintretfloatretdoubleretlongdoubleretuint8retsint8retuint16retsint16retint64retstructcrtn.s_END__START_ffi_type_floatffi_type_uint64ffi_prep_cif.XAKgoyLKveyNkQf.magic_init_mutex__iobffi_assertffi_type_doubleffi_type_pointerffi_type_uint8_edataffi_call_SYSVffi_type_sint16ffi_type_void.XAKgoyLKveyNkQf.mparamsffi_prep_closure_locffi_type_longdoublememset_fxstatpthread_mutex_lock.XAKgoyLKveyNkQf._gm_ffi_java_raw_to_ptrarray_xstat_GLOBAL_OFFSET_TABLE_pthread_mutex_initffi_type_uint16ffi_java_ptrarray_to_rawffi_type_sint8_endffi_callffi_raw_sizeffi_ptrarray_to_rawffi_closure_free_PROCEDURE_LINKAGE_TABLE__DYNAMICffi_closure_allocffi_prep_closureffi_raw_to_ptrarrayffi_prep_args_lxstatffi_type_sint32ffi_raw_callffi_type_testsysconfabortffi_stop_herepthread_mutex_unlockffi_closure_SYSV_innerffi_java_raw_sizeffi_type_sint64ffi_closure_SYSV_etextmemcpyfprintfffi_closure_raw_SYSVffi_prep_raw_closure_locffi_prep_raw_closureffi_type_uint32ffi_prep_cif_machdeperrno_lib_version_finianotate anotate anotate anotate anotate anotate anotate( $ fv`s4x`{!y{bzy@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)param.h 1.82 06/01/30 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)mman.h 1.47 09/06/15 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.497src/debug.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/debug.c -W0,-xp.XAKgoyLJveyNEye.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNEye.;backend;raw;cd;DBG_GEN 5.3.0ffi_stop_here! Uffi_assert* Uexpr)file) line)charintffi_type_test3 Ua2file2 line2unsignedsize_tunsigned short_ffi_type { size # alignment# type# elements#,{,ffi_typeunsigned char__FILE _cnt# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#    fprintf  abortsrc/prep_cif.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/prep_cif.c -W0,-xp.XAKgoyLJveyNk4e.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNk4e.;backend;raw;cd;DBG_GEN 5.3.0initialize_aggregate%0U\arg$ptra&FFI_OKFFI_BAD_TYPEDEFFFI_BAD_ABIffi_statusunsignedsize_tunsigned short _ffi_type C size# alignment# type# elementsH#  Cffi_type M \ ffi_prep_cifZ0UcifXlabiX nargsX\rtypeYaatypesYbytes[i\ptra] ffi_abilFFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abi abil# nargs# arg_typesa# rtype\# bytes# flags#zffi_cif  ffi_prep_closureUXclosurecif funuser_datacharlongX y` void y   tramph# cif# fun# user_data#ffi_closure   zffi_prep_cif_machdep8   = yffi_prep_closure_loc8 @EEsrc/types.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/types.c -W0,-xp.XAKgoyLJveyNk_e.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNk_e.;backend;raw;cd;DBG_GEN 5.3.0unsigned2size_tunsigned short_ffi_type size>#alignmentK#typeK#elements#]]ffi_typeffi_type_void0h~ffi_type_uint84t~ffi_type_sint8 5~ffi_type_uint16-6~ffi_type_sint16Q7~ffi_type_uint32u8~ffi_type_sint329~ffi_type_uint64:~ffi_type_sint64;~ffi_type_pointer=~ffi_type_float*?~ffi_type_doubleM@~ffi_type_longdoubleqL~esrc/raw_api.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/raw_api.c -W0,-xp.XAKgoyLJveyNkEf.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLJveyNkEf.;backend;raw;cd;DBG_GEN 5.3.0 ffi_raw_size$Ucif#result%i&at(unsignedsize_tffi_abiFFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abiunsigned short _ffi_type  size# alignment$# type$# elements# 6 6ffi_type    abi# nargs# arg_types# rtype# bytes# flags#ffi_cif int ffi_raw_to_ptrarray:6Ucif9araw9 fargs9i;tp<signed longffi_sargunsigned longffi_argfloatcharlongvoid S sint# uint# flt# data# ptr# ffi_raw S  ffi_ptrarray_to_raw@Uciffargs arawitpffi_prep_raw_closure@UOclcif !funuser_dataFFI_OKFFI_BAD_TYPEDEFFFI_BAD_ABIOffi_status  a   tramp# cif# fun# user_data#ffi_raw_closure   &memcpyT+   ^ ffi_prep_raw_closure_locTYaff:src/java_raw_api.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/java_raw_api.c -W0,-xp.XAKgoyLKveyNkKf.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLKveyNkKf.;backend;raw;cd;DBG_GEN 5.3.0<ffi_java_raw_size.TU#cif-result/i(0at2unsignedsize_tffi_abi%FFI_FIRST_ABIFFI_SYSVFFI_UNIX64FFI_DEFAULT_ABIFFI_LAST_ABIffi_abiunsigned short _ffi_type  size# alignment3# type3# elements# E Effi_type    abi%# nargs# arg_types# rtype# bytes# flags#ffi_cif int ffi_java_raw_to_ptrarrayJ`U#cifIzrawI argsIiKtpLsigned longffi_sargunsigned longffi_argfloatcharlongvoid g sint# uint# flt# data# ptr# ffi_java_raw g  ffi_java_ptrarray_to_rawU#cifargs zrawitpBabort memcpy Jsrc/closures.c /var/tmp/libffi-3.0.9 /opt/solstudio12.2/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -g -D__i386__ -c -KPIC -DPIC src/closures.c -W0,-xp.XAKgoyLKveyNkQf.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLKveyNkQf.;backend;raw;cd;DBG_GEN 5.3.0\statx>Uuu_pathr_bufr intchar|unsigned longdev_tlong  ino_tmode_tnlink_tuid_tgid_t off_ttime_t timespec] tv_sec # tv_nsec#-timestruc_tblksize_tblkcnt_t|    stat st_dev# st_pad1# st_ino# st_mode# st_nlink# st_uid# st_gid# st_rdev#$ st_pad2#( st_size#0 st_pad3#4 st_atim]#8 st_mtim]#@ st_ctim]#H st_blksizeo#P st_blocks#T st_fstype#X st_pad4#hlstat@~Uu$)_path_buf |$fstatUuju_fd_buf mknodUu_path_mode _dev|unsigned shortuint16_tunsigned charuint8_t  __pthread_mutex_flag1# __pthread_mutex_flag2# __pthread_mutex_ceiling# __pthread_mutex_type# __pthread_mutex_magic#   __pthread_mutex_pad#unsigneduint32_t / __pthread_ownerpid# __pthread_lockword#unsigned long long/upad64_t  __pthread_mutex_lock64# __pthread_mutex_lock32# __pthread_mutex_owner64E# _pthread_mutex) __pthread_mutex_flags# __pthread_mutex_lockT# __pthread_mutex_dataE#pthread_mutex_tmagic_init_mutex)zP~segment_holding2tU2 m2addr2 sp23|size_tuptrdiff_t malloc_segment2 base# size# next# exec_offset# msegmentptrbinmap_tX malloc_chunk prev_foot# head# fdS# bkS# Smchunkptr A bindex_t malloc_tree_chunk c prev_foot# head# fd# bk# child# parent# index#tbinptrc flag_tmsegmentmalloc_state smallmapD# treemapD# dvsize# topsize# least_addr# dv# top# trim_check# magic# smallbins#$ treebinsq # footprint# max_footprint# mflags # mutex)# seg #  mstatehas_segment_link=Uu$  m=2ss= sp2>init_mparams TUu{ E#E#Es change_mparam `3Uu uparam_number uvalue  val internal_malloc_stats, @xU  m, asssmaxfp. fp/ used0 s23   q9 mmap_allocQ U   mQ nbQ  mmsizeR mmT offsetV psizeW pX void mmap_resizel K!U ml oldpl  nbl oldsizem $ "">"bin Ssbinptrprepend_alloc `"(*U  m newbase  oldbase nb p oldfirst psize q qsize #*#O##O#tsize T#*T#*_##_##dsize #*#*#&#&#&nsize #&#m$#m$F B I t$&t$&TP z$&XP R $}%$$$$F $}%$}%RP $}%%}%%}%CP }%&%&%&H  &&&&&&&&$&&$&&C0 C1 &*&'&'I B F '*'*TP '*H I 'a(X 'a('a('a('a('a(Y N K (*(*(*T K +)*+) *+) *+) *9))9))C ) *) *F tchunkptrc add_segment 0*/U m tbase  tsize  mmapped old_top oldsp2 old_end ssize rawsp offset asp csp sp ss2 tnext p nfencesu 4,l,4,h,4,h,nextp l,/x,/x,/q psize tn ,/,a-,a-I B F h-/h-/TP n-/H I n-9.X w-9.-9.-9.-9.-9.Y N K k./././T K ////////////C ////F Csys_alloc 0#7U ` m nb  tbase tsize! mmap_flag " >00]00]00mem ( 0m20m20m2br? ss2@ asizeA 010d10d1baseE 1m21m21m21?21?21?21?21?21?2esizeb 2?22?22?2endd m22u22u22reqz rsize{ 222222mp} 2`32`32`3asize 3`3 3`3 3`3br end &3`3>3`3>3`3ssize `37l37l37363434444444mn 4646sp2 F5656566656|656|6oldbase 676767rsize p r release_unused_segments 07I=U! m released pred2 sp2 o78={7,={7,=base size next2 7 =7 =7 =p psize 7 =8 =8 =tp 8Y:,8Y:,8Y:,8Y:XP R 5819@8y8@8y8F 819819RP 819819819CP 19Y:=9Y:=9Y:H 9Y:9Y:9Y:9Y:9Q:9Q:C0 C1 Y: =: =: =: =H I :m;X :m;:m;:m;:m;:m;Y N K ; =; =; =T K 7< =7<=7<=7<=E<<E<<C <=<=F sys_trim P=1?Uuz# m pad  released x= ?= ?= ?=>=>=>unitextrasp2=>=>=>=>=7>=7>=7> >7> >7>newsize<>><>>@>>@>>W>>old_br(^>>q>>q>>rel_br*new_br+tmalloc_largeK@?HU ) mKnbK vLrsizeMtNidxOs?=@XP|?=@?=@?=@?=@?=@YPNPKP=@AY@AY@AsizebitsTrstU@A@A@ArtWtremXA7B4A7B4A7BleftbitsDkcA7BoA7BoA7BimleastbitDn|A'BYoKoNo7BB?BB?BBtremuBHBHBHBHBHBHrBHBHBHBDXPRBCBCBCF$CC$CCRP$CCXCCXCCCPCDCDCDHeDDqDDqDDqDD|DD|DDC0C1DHWTTdTTdTTremainder_size@remainderAialloc^PUXU33 mZn_elements[ 3sizes\uopts]3chunks^element_sizehcontents_sizeiarray_sizejmem kplremainder_sizemmarray3narray_chunkowas_enabled psizeqirWWWWWWarray_chunk_size dlmallocXf_U 7bytesXT_YT_YT_mem nbY]YX]YX]idxsmallbitsD\YX]kY8ZkY8ZbpYYF8ZX]8ZX]JZX]JZX]JZX]VZ$]VZ$]bprrsizeileftbitsDleastbitDZA[YKNa[[F[]\]\]1\]DVS =\\I\\I\\DV U\\I B F ] _]^]^rsize8p9]^]0^]0^r;4^^4^^dvsA^ _^ _^ _^ _rsizeLpMrNdlfreeap_lUr? mema_{l_{l_{lpi_{l_{l_{l_Ll`Ll`Llpsizevnextw-`Hd?`Hd?`HdprevsizeyH`Hd`Hd`Hdprev`Hd`"~M"`""" " " " # ## :# C# T#_# z# # ## # & & & & ** 0*]*f* y* * * * * * * * + + + +4+@+ j+ v+ + (, 4,=, G, N, Y, d, h, l,x, ~, , , , /0$0+0 20 90 >0]0 p0 x0 00 0 0 00 0 0 1 1 ?1X1 ^1 h111 1 11 1 1 2 2 %2 -2 82 82 ?2G2 M2 X2m2u2 ~2 2 2 2 2 2 2 22 3  3 3 3 3 &3 >3 G3 T3 Z3 `3l3 3 3 3 3 3 4 4 4 4 44 45 "5 +5 F55 5 55 5 5 5 5 656 >6 G6 V6 |666 6 6 6 6 677 7 07T7[7 f7 o7 {7 7 7 7 7 7 7 8 8 8 8 ,8Y: n: w: : : : =&= ,=a8=!>= P=q=x= = = = = = = = = > >1> <>@> J> W>^> q> x> > > >> > > >> >>  ?)? @?d?k? s?=@ Y@ @ @@ @ @ @ @ @ @ @ @ A A A A A4A cA oA |A 'B 7B?B NB VB \B bB BzB B B B B D E R PRvR R R R R R R S 'S ;S _S eS nS }S S S SS T %T +TKT WT dT mT vT T T TU U U %U 3U @UGU PUqUyU U U U UU U U UU %V 4V;V BV QV V VVV V V V V V W XW aW mWxW WW W W W W WW W W W W (X 1X =X HXTX XXs_XdXX X XXYYBY KY \Y kY {Y Y Y Y (Z 1Z 8ZJZ VZZ Z A[ X[ a[ [ [ [ \ \ \ 1\ ] ] $]P] \]d] p] |] ] ]] ] ] ] ^  ^ $^ 4^@^ M^ Z^ ^ ^ ^^ ^ ^ ^ ^ ^ _ _"_L_ T_[_ p__ _ _ _ ` $` -` ?` H` S` \` i` ` ` `` ` ` ` ` c d d 5d @dHdfd xd d d d d d d d d  e e e ?e Ke ce hete }e h h h h hh Hl LlQl {lll!l l l l l l #m 5m ;m Pmqm!ym m mm mm!m n1n!7n Yn pnn!n nn!n n o o1o"6o Bo ao poo"o o o p %p 0pQp"`p ppp"p pp"p pp"q  q q Xq _q pqq"q qqq r!r7rSr fr nr xrr rrr r r r s ss  sAsOs )# src/x86ffi64.ct src/x86./include/usr/include/isoffi.cffi_common.hffi.hffitarget.hstddef_iso.h`ss3ss s ss s ss s st  t t#t (t7t w PwYw_w jw vw ww ww wwwww`w$w x!x,xx xx x x x xxx xyjy sy |y y y yyy yzz  z &z=z Xz^z`zz z zrz DD%.?  : ; @ ' D .?  : ; @ ' D I: ;  $> II:  :  I8 I8 &I .? < ' ID  I.? < ' D  DD%. : ; @ ' ID I: ;  4I : ;   : ( I: $>  :  I8 I .?  : ; @ ' ID   :  : I !I/ ' D I' D .? < ' ID .? < ' ID  DD%$> I:  :  I8 I&I4I?  : ;   DD%.?  : ; @ ' ID I: ;  4I : ;  $> I:  : (  :  I8 I  :  .?  : ; @ ' D I !I/  :  : ' D I' D &I.? < ' ID .? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I:  : (  :  I8 I  :  .?  : ; @ ' D I !I/  : D D .? < ' D &I.? < ' ID I DD%. : ; @ ' ID I: ;  $> &III: I  !I/  :  I8  :   : 4I : ; . : ;@ ' ID I: ; I  :  . : ;@ ' D D D . : ;@ ' ID . : ;@ ' D .?  : ;@ ' ID .?  : ;@ ' D .? < ' D .? < ' ID I I8 .? < ' ID  DD% DD%.?  : ; @ ' D I: ;  4I : ;   $> I :  ( I:  :  I8  : .?  : ; @ ' ID  : .?  : ;@ ' D I: ; 4I : ; ' D .?  : ;@ ' ID I !I/ ' D I. : ;@ ' D  : .? < ' D &I.? < ' ID .? < ' ID A2ffi_stop_hereQffi_assertffi_type_test4fffi_prep_cifffi_prep_closureL ffi_type_voidffi_type_uint8ffi_type_sint82ffi_type_uint16Vffi_type_sint16zffi_type_uint32ffi_type_sint32ffi_type_uint64ffi_type_sint64 ffi_type_pointer/ffi_type_floatRffi_type_doublevffi_type_longdoubleh 6ffi_raw_size ffi_raw_to_ptrarraykffi_ptrarray_to_rawffi_prep_raw_closure^>@ffi_java_raw_size/ffi_java_raw_to_ptrarrayffi_java_ptrarray_to_raw9JDffi_closure_alloc`Effi_closure_freed? 6ffi_prep_argsffi_prep_cif_machdepUffi_callffi_closure_SYSV_innerffi_prep_closure_locffi_prep_raw_closure_loc ffi_raw_call? size_t,_ffi_typeffi_type__FILEffi_statussize_t_ffi_typeMffi_typeffi_abilffi_abizffi_cifffi_closure4L >size_t]_ffi_typeffi_type size_tffi_abiffi_abi6_ffi_typeffi_typeffi_cifffi_sargffi_arg Sffi_rawOffi_statusffi_raw_closure>size_tffi_abi%ffi_abiE_ffi_typeffi_typeffi_cifffi_sargffi_arg gffi_java_raw6Jdev_tino_tmode_tnlink_tuid_tgid_toff_t time_t-timespec]timestruc_toblksize_tblkcnt_tstatuint16_tuint8_tuint32_tEupad64_tT_pthread_mutex)pthread_mutex_tsize_tptrdiff_tmalloc_segment2msegmentptrDbinmap_tXmalloc_chunkmchunkptrbindex_tmalloc_tree_chunkc tbinptr flag_t msegment malloc_state mstatesbinptrtchunkptrEmalloc_paramsFcaddr_t^G_pthread_mutexattrG__FILEd? ffi_abi^ffi_abixsize_t_ffi_typeffi_type gffi_cifextended_cifDffi_statusffi_closure= ffi_sarg] ffi_arg ffi_raw @ ffi_raw_closure'8initialize_aggregateJ8statlstat.fstatjmknod_segment_holding has_segment_link$ init_mparams{ change_mparam internal_malloc_stats mmap_alloc mmap_resizeinit_topVinit_binsprepend_alloc"add_segmentsys_alloc`release_unused_segments!sys_trimz#tmalloc_large)tmalloc_small(-internal_realloc/internal_memalign1ialloc3dlmalloc7dlfreer?dlcalloc?dlrealloc_@dlmemalign@dlindependent_calloc)Adlindependent_comallocAdlvallocAdlpvalloc*Bdlmalloc_trimxBdlmalloc_footprintBdlmalloc_max_footprintBdlmalloc_statsBdlmalloc_usable_sizeZCdlmalloptCdlmmap,DdlmunmapDd? ffi_prep_incoming_args_SYSVj ffi_prep_args_raw8J?magic_init_mutexE_gm_:Fmparams.SUNW_cap.hash.dynsym.dynstr.SUNW_version.rel.text.rel.got.rel.eh_frame.rel.plt.init.fini.rodata.rodata1.dynamic.data.bssf.picdata.bss.symtab.strtab.annotate.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.debug_funcnames.debug_varnames.shstrtabo   "!o / B   9 B$ $ hB B P B  T< < @3 nY<|<|_X|X|et|t|mx|x|r=||vx}x}P~P~h~h~h~h~F|  ,o\`Yp"(DKSJWj\&_<$ _.0707010004c878000041ed0000000000000000000000024dc9ec5000000000000000b500010002ffffffffffffffff0000001d00000000root/usr/local/lib/pkgconfig0707010004c879000081a40000000000000000000000014dc9ebcb000000f5000000b500010002ffffffffffffffff0000002700000000root/usr/local/lib/pkgconfig/libffi.pcprefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${libdir}/libffi-3.0.9/include Name: libffi Description: Library supporting Foreign Function Interfaces Version: 3.0.9 Libs: -L${libdir} -lffi Cflags: -I${includedir} 0707010004c87a000041ed0000000000000000000000044dc9ec5000000000000000b500010002ffffffffffffffff0000001500000000root/usr/local/share0707010004c87e000041ed0000000000000000000000034dc9ec5000000000000000b500010002ffffffffffffffff0000001900000000root/usr/local/share/man0707010004c87f000041ed0000000000000000000000024dc9ec5000000000000000b500010002ffffffffffffffff0000001e00000000root/usr/local/share/man/man30707010004c881000081a40000000000000000000000014dc9ebcb0000091d000000b500010002ffffffffffffffff0000002900000000root/usr/local/share/man/man3/ffi_call.3.Dd February 15, 2008 .Dt ffi_call 3 .Sh NAME .Nm ffi_call .Nd Invoke a foreign function. .Sh SYNOPSIS .In ffi.h .Ft void .Fo ffi_call .Fa "ffi_cif *cif" .Fa "void (*fn)(void)" .Fa "void *rvalue" .Fa "void **avalue" .Fc .Sh DESCRIPTION The .Nm ffi_call function provides a simple mechanism for invoking a function without requiring knowledge of the function's interface at compile time. .Fa fn is called with the values retrieved from the pointers in the .Fa avalue array. The return value from .Fa fn is placed in storage pointed to by .Fa rvalue . .Fa cif contains information describing the data types, sizes and alignments of the arguments to and return value from .Fa fn , and must be initialized with .Nm ffi_prep_cif before it is used with .Nm ffi_call . .Pp .Fa rvalue must point to storage that is sizeof(ffi_arg) or larger for non-floating point types. For smaller-sized return value types, the .Nm ffi_arg or .Nm ffi_sarg integral type must be used to hold the return value. .Sh EXAMPLES .Bd -literal #include #include unsigned char foo(unsigned int, float); int main(int argc, const char **argv) { ffi_cif cif; ffi_type *arg_types[2]; void *arg_values[2]; ffi_status status; // Because the return value from foo() is smaller than sizeof(long), it // must be passed as ffi_arg or ffi_sarg. ffi_arg result; // Specify the data type of each argument. Available types are defined // in . arg_types[0] = &ffi_type_uint; arg_types[1] = &ffi_type_float; // Prepare the ffi_cif structure. if ((status = ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 2, &ffi_type_uint8, arg_types)) != FFI_OK) { // Handle the ffi_status error. } // Specify the values of each argument. unsigned int arg1 = 42; float arg2 = 5.1; arg_values[0] = &arg1; arg_values[1] = &arg2; // Invoke the function. ffi_call(&cif, FFI_FN(foo), &result, arg_values); // The ffi_arg 'result' now contains the unsigned char returned from foo(), // which can be accessed by a typecast. printf("result is %hhu", (unsigned char)result); return 0; } // The target function. unsigned char foo(unsigned int x, float y) { unsigned char result = x - y; return result; } .Ed .Sh SEE ALSO .Xr ffi 3 , .Xr ffi_prep_cif 3 0707010004c880000081a40000000000000000000000014dc9ebcb00000288000000b500010002ffffffffffffffff0000002400000000root/usr/local/share/man/man3/ffi.3.Dd February 15, 2008 .Dt FFI 3 .Sh NAME .Nm FFI .Nd Foreign Function Interface .Sh LIBRARY libffi, -lffi .Sh SYNOPSIS .In ffi.h .Ft ffi_status .Fo ffi_prep_cif .Fa "ffi_cif *cif" .Fa "ffi_abi abi" .Fa "unsigned int nargs" .Fa "ffi_type *rtype" .Fa "ffi_type **atypes" .Fc .Ft void .Fo ffi_call .Fa "ffi_cif *cif" .Fa "void (*fn)(void)" .Fa "void *rvalue" .Fa "void **avalue" .Fc .Sh DESCRIPTION The foreign function interface provides a mechanism by which a function can generate a call to another function at runtime without requiring knowledge of the called function's interface at compile time. .Sh SEE ALSO .Xr ffi_prep_cif 3 , .Xr ffi_call 3 0707010004c882000081a40000000000000000000000014dc9ebcb0000041d000000b500010002ffffffffffffffff0000002d00000000root/usr/local/share/man/man3/ffi_prep_cif.3.Dd February 15, 2008 .Dt ffi_prep_cif 3 .Sh NAME .Nm ffi_prep_cif .Nd Prepare a .Nm ffi_cif structure for use with .Nm ffi_call . .Sh SYNOPSIS .In ffi.h .Ft ffi_status .Fo ffi_prep_cif .Fa "ffi_cif *cif" .Fa "ffi_abi abi" .Fa "unsigned int nargs" .Fa "ffi_type *rtype" .Fa "ffi_type **atypes" .Fc .Sh DESCRIPTION The .Nm ffi_prep_cif function prepares a .Nm ffi_cif structure for use with .Nm ffi_call . .Fa abi specifies a set of calling conventions to use. .Fa atypes is an array of .Fa nargs pointers to .Nm ffi_type structs that describe the data type, size and alignment of each argument. .Fa rtype points to an .Nm ffi_type that describes the data type, size and alignment of the return value. .Sh RETURN VALUES Upon successful completion, .Nm ffi_prep_cif returns .Nm FFI_OK . It will return .Nm FFI_BAD_TYPEDEF if .Fa cif is .Nm NULL or .Fa atypes or .Fa rtype is malformed. If .Fa abi does not refer to a valid ABI, .Nm FFI_BAD_ABI will be returned. Available ABIs are defined in .Nm . .Sh SEE ALSO .Xr ffi 3 , .Xr ffi_call 3 0707010004c87b000041ed0000000000000000000000024dc9ec5000000000000000b500010002ffffffffffffffff0000001a00000000root/usr/local/share/info0707010004c87c000081a40000000000000000000000014dc9ebcb00001871000000b500010002ffffffffffffffff0000001e00000000root/usr/local/share/info/dirThis is the file .../info/dir, which contains the topmost node of the Info hierarchy, called (dir)Top. The first time you invoke Info you start off looking at this node.  File: dir, Node: Top This is the top of the INFO tree This (the Directory node) gives a menu of major topics. Typing "q" exits, "?" lists all Info commands, "d" returns here, "h" gives a primer for first-timers, "mEmacs" visits the Emacs manual, etc. In Emacs, you can click mouse button 2 on a menu item or cross reference to select it. * Menu: C++ libraries * autosprintf: (autosprintf). Support for printf format strings in C++. Development * libffi: (libffi). Portable foreign-function interface library. GNU Gettext Utilities * autopoint: (gettext)autopoint Invocation. Copy gettext infrastructure. * envsubst: (gettext)envsubst Invocation. Expand environment variables. * gettextize: (gettext)gettextize Invocation. Prepare a package for gettext. * gettext: (gettext). GNU gettext utilities. * ISO3166: (gettext)Country Codes. ISO 3166 country codes. * ISO639: (gettext)Language Codes. ISO 639 language codes. * msgattrib: (gettext)msgattrib Invocation. Select part of a PO file. * msgcat: (gettext)msgcat Invocation. Combine several PO files. * msgcmp: (gettext)msgcmp Invocation. Compare a PO file and template. * msgcomm: (gettext)msgcomm Invocation. Match two PO files. * msgconv: (gettext)msgconv Invocation. Convert PO file to encoding. * msgen: (gettext)msgen Invocation. Create an English PO file. * msgexec: (gettext)msgexec Invocation. Process a PO file. * msgfilter: (gettext)msgfilter Invocation. Pipe a PO file through a filter. * msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files. * msggrep: (gettext)msggrep Invocation. Select part of a PO file. * msginit: (gettext)msginit Invocation. Create a fresh PO file. * msgmerge: (gettext)msgmerge Invocation. Update a PO file from template. * msgunfmt: (gettext)msgunfmt Invocation. Uncompile MO file into PO file. * msguniq: (gettext)msguniq Invocation. Unify duplicates for PO file. * ngettext: (gettext)ngettext Invocation. Translate a message with plural. * xgettext: (gettext)xgettext Invocation. Extract strings into a PO file. GNU Packages * CVS: (cvs). Concurrent Versions System GNU Plotting Utilities * Appendices: (plotutils)Appendices. More info on the plotting utilities. * Plotting utilities: (plotutils). GNU plotting utilities. * graph: (plotutils)graph Invocation. Plot datasets, possibly in real time. * libplot: (plotutils)libplot. A library for 2-D vector graphics. * ode: (plotutils)ode Invocation. Integrate differential equations. * pic2plot: (plotutils)pic2plot Invocation. Convert files in the pic language * plot: (plotutils)plot Invocation. Convert and display plot files. * plotfont: (plotutils)plotfont Invocation. Plot character maps of fonts. * tek2plot: (plotutils)tek2plot Invocation. Translate legacy Tektronix data. * spline: (plotutils)spline Invocation. Interpolate between points in datasets. GNU Utilities * gpg: (gpg). OpenPGP encryption and signing tool (v1). Individual utilities * cvs: (cvs)CVS commands. Concurrent Versions System Math * GNUPLOT: (gnuplot). An Interactive Plotting Program Miscellaneous * jwhois: (jwhois). Whois client. Programming * cvsclient: (cvsclient). The CVS client/server protocol. Software libraries * GnuTLS: (gnutls). GNU Transport Layer Security Library. * libtasn1: (libtasn1). Library for Abstract Syntax Notation One (ASN.1). System Administration * certtool: (gnutls)Invoking certtool. Manipulate certificates and keys. * gnutls-cli: (gnutls)Invoking gnutls-cli. GnuTLS test client. * gnutls-cli-debug: (gnutls)Invoking gnutls-cli-debug. GnuTLS debug client. * gnutls-serv: (gnutls)Invoking gnutls-serv. GnuTLS test server. * psktool: (gnutls)Invoking psktool. Simple TLS-Pre-Shared-Keys manager. * srptool: (gnutls)Invoking srptool. Simple SRP password tool. Texinfo documentation system * Info: (info). How to use the documentation browsing system. * info standalone: (info-stnd). Read Info documents without Emacs. * infokey: (info-stnd)Invoking infokey. Compile Info customizations. * install-info: (texinfo)Invoking install-info. Update info/dir entries. * makeinfo: (texinfo)Invoking makeinfo. Translate Texinfo source. * pdftexi2dvi: (texinfo)PDF Output. PDF output for Texinfo. * texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. * texi2pdf: (texinfo)PDF Output. PDF output for Texinfo. * texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. * Texinfo: (texinfo). The GNU documentation format. Typesetting * Groff: (groff). The GNU troff document formatting system. 0707010004c87d000081a40000000000000000000000014dc9ebcb0000486d000000b500010002ffffffffffffffff0000002600000000root/usr/local/share/info/libffi.infoThis is ../libffi/doc/libffi.info, produced by makeinfo version 4.13 from ../libffi/doc/libffi.texi. This manual is for Libffi, a portable foreign-function interface library. Copyright (C) 2008 Red Hat, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. A copy of the license is included in the section entitled "GNU General Public License". INFO-DIR-SECTION Development START-INFO-DIR-ENTRY * libffi: (libffi). Portable foreign-function interface library. END-INFO-DIR-ENTRY  File: libffi.info, Node: Top, Next: Introduction, Up: (dir) libffi ****** This manual is for Libffi, a portable foreign-function interface library. Copyright (C) 2008 Red Hat, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. A copy of the license is included in the section entitled "GNU General Public License". * Menu: * Introduction:: What is libffi? * Using libffi:: How to use libffi. * Missing Features:: Things libffi can't do. * Index:: Index.  File: libffi.info, Node: Introduction, Next: Using libffi, Prev: Top, Up: Top 1 What is libffi? ***************** Compilers for high level languages generate code that follow certain conventions. These conventions are necessary, in part, for separate compilation to work. One such convention is the "calling convention". The calling convention is a set of assumptions made by the compiler about where function arguments will be found on entry to a function. A calling convention also specifies where the return value for a function is found. The calling convention is also sometimes called the "ABI" or "Application Binary Interface". Some programs may not know at the time of compilation what arguments are to be passed to a function. For instance, an interpreter may be told at run-time about the number and types of arguments used to call a given function. `Libffi' can be used in such programs to provide a bridge from the interpreter program to compiled code. The `libffi' library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The `libffi' library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. A layer must exist above `libffi' that handles type conversions for values passed between the two languages.  File: libffi.info, Node: Using libffi, Next: Missing Features, Prev: Introduction, Up: Top 2 Using libffi ************** * Menu: * The Basics:: The basic libffi API. * Simple Example:: A simple example. * Types:: libffi type descriptions. * Multiple ABIs:: Different passing styles on one platform. * The Closure API:: Writing a generic function.  File: libffi.info, Node: The Basics, Next: Simple Example, Up: Using libffi 2.1 The Basics ============== `Libffi' assumes that you have a pointer to the function you wish to call and that you know the number and types of arguments to pass it, as well as the return type of the function. The first thing you must do is create an `ffi_cif' object that matches the signature of the function you wish to call. This is a separate step because it is common to make multiple calls using a single `ffi_cif'. The "cif" in `ffi_cif' stands for Call InterFace. To prepare a call interface object, use the function `ffi_prep_cif'. -- Function: ffi_status ffi_prep_cif (ffi_cif *CIF, ffi_abi ABI, unsigned int NARGS, ffi_type *RTYPE, ffi_type **ARGTYPES) This initializes CIF according to the given parameters. ABI is the ABI to use; normally `FFI_DEFAULT_ABI' is what you want. *note Multiple ABIs:: for more information. NARGS is the number of arguments that this function accepts. `libffi' does not yet handle varargs functions; see *note Missing Features:: for more information. RTYPE is a pointer to an `ffi_type' structure that describes the return type of the function. *Note Types::. ARGTYPES is a vector of `ffi_type' pointers. ARGTYPES must have NARGS elements. If NARGS is 0, this argument is ignored. `ffi_prep_cif' returns a `libffi' status code, of type `ffi_status'. This will be either `FFI_OK' if everything worked properly; `FFI_BAD_TYPEDEF' if one of the `ffi_type' objects is incorrect; or `FFI_BAD_ABI' if the ABI parameter is invalid. To call a function using an initialized `ffi_cif', use the `ffi_call' function: -- Function: void ffi_call (ffi_cif *CIF, void *FN, void *RVALUE, void **AVALUES) This calls the function FN according to the description given in CIF. CIF must have already been prepared using `ffi_prep_cif'. RVALUE is a pointer to a chunk of memory that will hold the result of the function call. This must be large enough to hold the result and must be suitably aligned; it is the caller's responsibility to ensure this. If CIF declares that the function returns `void' (using `ffi_type_void'), then RVALUE is ignored. If RVALUE is `NULL', then the return value is discarded. AVALUES is a vector of `void *' pointers that point to the memory locations holding the argument values for a call. If CIF declares that the function has no arguments (i.e., NARGS was 0), then AVALUES is ignored.  File: libffi.info, Node: Simple Example, Next: Types, Prev: The Basics, Up: Using libffi 2.2 Simple Example ================== Here is a trivial example that calls `puts' a few times. #include #include int main() { ffi_cif cif; ffi_type *args[1]; void *values[1]; char *s; int rc; /* Initialize the argument info vectors */ args[0] = &ffi_type_pointer; values[0] = &s; /* Initialize the cif */ if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1, &ffi_type_uint, args) == FFI_OK) { s = "Hello World!"; ffi_call(&cif, puts, &rc, values); /* rc now holds the result of the call to puts */ /* values holds a pointer to the function's arg, so to call puts() again all we need to do is change the value of s */ s = "This is cool!"; ffi_call(&cif, puts, &rc, values); } return 0; }  File: libffi.info, Node: Types, Next: Multiple ABIs, Prev: Simple Example, Up: Using libffi 2.3 Types ========= * Menu: * Primitive Types:: Built-in types. * Structures:: Structure types. * Type Example:: Structure type example.  File: libffi.info, Node: Primitive Types, Next: Structures, Up: Types 2.3.1 Primitive Types --------------------- `Libffi' provides a number of built-in type descriptors that can be used to describe argument and return types: `ffi_type_void' The type `void'. This cannot be used for argument types, only for return values. `ffi_type_uint8' An unsigned, 8-bit integer type. `ffi_type_sint8' A signed, 8-bit integer type. `ffi_type_uint16' An unsigned, 16-bit integer type. `ffi_type_sint16' A signed, 16-bit integer type. `ffi_type_uint32' An unsigned, 32-bit integer type. `ffi_type_sint32' A signed, 32-bit integer type. `ffi_type_uint64' An unsigned, 64-bit integer type. `ffi_type_sint64' A signed, 64-bit integer type. `ffi_type_float' The C `float' type. `ffi_type_double' The C `double' type. `ffi_type_uchar' The C `unsigned char' type. `ffi_type_schar' The C `signed char' type. (Note that there is not an exact equivalent to the C `char' type in `libffi'; ordinarily you should either use `ffi_type_schar' or `ffi_type_uchar' depending on whether `char' is signed.) `ffi_type_ushort' The C `unsigned short' type. `ffi_type_sshort' The C `short' type. `ffi_type_uint' The C `unsigned int' type. `ffi_type_sint' The C `int' type. `ffi_type_ulong' The C `unsigned long' type. `ffi_type_slong' The C `long' type. `ffi_type_longdouble' On platforms that have a C `long double' type, this is defined. On other platforms, it is not. `ffi_type_pointer' A generic `void *' pointer. You should use this for all pointers, regardless of their real type. Each of these is of type `ffi_type', so you must take the address when passing to `ffi_prep_cif'.  File: libffi.info, Node: Structures, Next: Type Example, Prev: Primitive Types, Up: Types 2.3.2 Structures ---------------- Although `libffi' has no special support for unions or bit-fields, it is perfectly happy passing structures back and forth. You must first describe the structure to `libffi' by creating a new `ffi_type' object for it. -- ffi_type: The `ffi_type' has the following members: `size_t size' This is set by `libffi'; you should initialize it to zero. `unsigned short alignment' This is set by `libffi'; you should initialize it to zero. `unsigned short type' For a structure, this should be set to `FFI_TYPE_STRUCT'. `ffi_type **elements' This is a `NULL'-terminated array of pointers to `ffi_type' objects. There is one element per field of the struct.  File: libffi.info, Node: Type Example, Prev: Structures, Up: Types 2.3.3 Type Example ------------------ The following example initializes a `ffi_type' object representing the `tm' struct from Linux's `time.h'. Here is how the struct is defined: struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; /* Those are for future use. */ long int __tm_gmtoff__; __const char *__tm_zone__; }; Here is the corresponding code to describe this struct to `libffi': { ffi_type tm_type; ffi_type *tm_type_elements[12]; int i; tm_type.size = tm_type.alignment = 0; tm_type.elements = &tm_type_elements; for (i = 0; i < 9; i++) tm_type_elements[i] = &ffi_type_sint; tm_type_elements[9] = &ffi_type_slong; tm_type_elements[10] = &ffi_type_pointer; tm_type_elements[11] = NULL; /* tm_type can now be used to represent tm argument types and return types for ffi_prep_cif() */ }  File: libffi.info, Node: Multiple ABIs, Next: The Closure API, Prev: Types, Up: Using libffi 2.4 Multiple ABIs ================= A given platform may provide multiple different ABIs at once. For instance, the x86 platform has both `stdcall' and `fastcall' functions. `libffi' provides some support for this. However, this is necessarily platform-specific.  File: libffi.info, Node: The Closure API, Prev: Multiple ABIs, Up: Using libffi 2.5 The Closure API =================== `libffi' also provides a way to write a generic function - a function that can accept and decode any combination of arguments. This can be useful when writing an interpreter, or to provide wrappers for arbitrary functions. This facility is called the "closure API". Closures are not supported on all platforms; you can check the `FFI_CLOSURES' define to determine whether they are supported on the current platform. Because closures work by assembling a tiny function at runtime, they require special allocation on platforms that have a non-executable heap. Memory management for closures is handled by a pair of functions: -- Function: void *ffi_closure_alloc (size_t SIZE, void **CODE) Allocate a chunk of memory holding SIZE bytes. This returns a pointer to the writable address, and sets *CODE to the corresponding executable address. SIZE should be sufficient to hold a `ffi_closure' object. -- Function: void ffi_closure_free (void *WRITABLE) Free memory allocated using `ffi_closure_alloc'. The argument is the writable address that was returned. Once you have allocated the memory for a closure, you must construct a `ffi_cif' describing the function call. Finally you can prepare the closure function: -- Function: ffi_status ffi_prep_closure_loc (ffi_closure *CLOSURE, ffi_cif *CIF, void (*FUN) (ffi_cif *CIF, void *RET, void **ARGS, void *USER_DATA), void *USER_DATA, void *CODELOC) Prepare a closure function. CLOSURE is the address of a `ffi_closure' object; this is the writable address returned by `ffi_closure_alloc'. CIF is the `ffi_cif' describing the function parameters. USER_DATA is an arbitrary datum that is passed, uninterpreted, to your closure function. CODELOC is the executable address returned by `ffi_closure_alloc'. FUN is the function which will be called when the closure is invoked. It is called with the arguments: CIF The `ffi_cif' passed to `ffi_prep_closure_loc'. RET A pointer to the memory used for the function's return value. FUN must fill this, unless the function is declared as returning `void'. ARGS A vector of pointers to memory holding the arguments to the function. USER_DATA The same USER_DATA that was passed to `ffi_prep_closure_loc'. `ffi_prep_closure_loc' will return `FFI_OK' if everything went ok, and something else on error. After calling `ffi_prep_closure_loc', you can cast CODELOC to the appropriate pointer-to-function type. You may see old code referring to `ffi_prep_closure'. This function is deprecated, as it cannot handle the need for separate writable and executable addresses.  File: libffi.info, Node: Missing Features, Next: Index, Prev: Using libffi, Up: Top 3 Missing Features ****************** `libffi' is missing a few features. We welcome patches to add support for these. * There is no support for calling varargs functions. This may work on some platforms, depending on how the ABI is defined, but it is not reliable. * There is no support for bit fields in structures. * The closure API is * The "raw" API is undocumented.  File: libffi.info, Node: Index, Prev: Missing Features, Up: Top Index ***** [index] * Menu: * : Structures. (line 12) * ABI: Introduction. (line 13) * Application Binary Interface: Introduction. (line 13) * calling convention: Introduction. (line 13) * cif: The Basics. (line 14) * closure API: The Closure API. (line 13) * closures: The Closure API. (line 13) * FFI: Introduction. (line 31) * ffi_call: The Basics. (line 41) * ffi_closure_alloca: The Closure API. (line 19) * ffi_closure_free: The Closure API. (line 26) * FFI_CLOSURES: The Closure API. (line 13) * ffi_prep_cif: The Basics. (line 16) * ffi_prep_closure_loc: The Closure API. (line 34) * ffi_status <1>: The Closure API. (line 37) * ffi_status: The Basics. (line 18) * ffi_type: Structures. (line 11) * ffi_type_double: Primitive Types. (line 41) * ffi_type_float: Primitive Types. (line 38) * ffi_type_longdouble: Primitive Types. (line 71) * ffi_type_pointer: Primitive Types. (line 75) * ffi_type_schar: Primitive Types. (line 47) * ffi_type_sint: Primitive Types. (line 62) * ffi_type_sint16: Primitive Types. (line 23) * ffi_type_sint32: Primitive Types. (line 29) * ffi_type_sint64: Primitive Types. (line 35) * ffi_type_sint8: Primitive Types. (line 17) * ffi_type_slong: Primitive Types. (line 68) * ffi_type_sshort: Primitive Types. (line 56) * ffi_type_uchar: Primitive Types. (line 44) * ffi_type_uint: Primitive Types. (line 59) * ffi_type_uint16: Primitive Types. (line 20) * ffi_type_uint32: Primitive Types. (line 26) * ffi_type_uint64: Primitive Types. (line 32) * ffi_type_uint8: Primitive Types. (line 14) * ffi_type_ulong: Primitive Types. (line 65) * ffi_type_ushort: Primitive Types. (line 53) * ffi_type_void: Primitive Types. (line 10) * Foreign Function Interface: Introduction. (line 31) * void <1>: The Closure API. (line 20) * void: The Basics. (line 43)  Tag Table: Node: Top700 Node: Introduction1436 Node: Using libffi3072 Node: The Basics3507 Node: Simple Example6114 Node: Types7141 Node: Primitive Types7424 Node: Structures9244 Node: Type Example10104 Node: Multiple ABIs11327 Node: The Closure API11698 Node: Missing Features14618 Node: Index15111  End Tag Table 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!