libffi merge

Andreas Tobler andreast-list@fgznet.ch
Fri Jun 5 17:24:00 GMT 2009


Andrew Haley wrote:

> Index: libffi.call/closure_loc_fn0.c
> ===================================================================
> --- libffi.call/closure_loc_fn0.c	(revision 0)
> +++ libffi.call/closure_loc_fn0.c	(revision 0)
> @@ -0,0 +1,95 @@
> +/* Area:	closure_call
> +   Purpose:	Check multiple values passing from different type.
> +		Also, exceed the limit of gpr and fpr registers on PowerPC
> +		Darwin.
> +   Limitations:	none.
> +   PR:		none.
> +   Originator:	<andreast@gcc.gnu.org> 20030828	 */
> +

The above is not from me, I know, nitpicking.

> Index: lib/libffi-dg.exp
> ===================================================================
> --- lib/libffi-dg.exp	(revision 148170)
> +++ lib/libffi-dg.exp	(working copy)
> @@ -16,7 +16,7 @@
> 
>  proc load_gcc_lib { filename } {
>      global srcdir
> -    load_file $srcdir/../../gcc/testsuite/lib/$filename
> +    load_file $srcdir/lib/$filename
>  }
> 
>  load_lib dg.exp
> @@ -94,7 +94,6 @@
>      global srcdir
>      global blddirffi
>      global objdir
> -    global blddircxx
>      global TOOL_OPTIONS
>      global tool
>      global libffi_include
> @@ -102,10 +101,8 @@
>      global tool_root_dir
>      global ld_library_path
> 
> -    set blddirffi [lookfor_file [get_multilibs] libffi]
> +    set blddirffi [pwd]/..
>      verbose "libffi $blddirffi"
> -    set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
> -    verbose "libstdc++ $blddircxx"
> 
>      set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
>      if {$gccdir != ""} {
> @@ -132,8 +129,6 @@
>      }
>      # add the library path for libffi.
>      append ld_library_path ":${blddirffi}/.libs"
> -    # add the library path for libstdc++ as well.
> -    append ld_library_path ":${blddircxx}/src/.libs"
> 
>      verbose "ld_library_path: $ld_library_path"
> 
> @@ -146,7 +141,6 @@
>      if { $libffi_dir != "" } {
>  	set libffi_dir [file dirname ${libffi_dir}]
>  	set libffi_link_flags "-L${libffi_dir}/.libs"
> -	lappend libffi_link_flags "-L${blddircxx}/src/.libs"
>      }
> 
>      set_ld_library_path_env_vars


Do we really want that? As I remember we wanted to test against the 
built libraries from gcc. Also, we have multilib configs in gcc which 
will no longer be tested with the above, or not correctly.

> Index: Makefile.am
> ===================================================================
> --- Makefile.am	(revision 148170)
> +++ Makefile.am	(working copy)
> @@ -14,3 +14,58 @@
>  AM_RUNTESTFLAGS =
> 
>  CLEANFILES = *.exe core* *.log *.sum
> +
> +EXTRA_DIST = config/default.exp lib/libffi-dg.exp			\
> + lib/target-libpath.exp lib/wrapper.exp libffi.call/call.exp		\
> + libffi.call/closure_fn0.c libffi.call/closure_fn1.c			\
> + libffi.call/closure_fn2.c libffi.call/closure_fn3.c			\
> + libffi.call/closure_fn4.c libffi.call/closure_fn5.c			\
> + libffi.call/closure_fn6.c libffi.call/closure_stdcall.c		\
> + libffi.call/cls_1_1byte.c libffi.call/cls_12byte.c			\
> + libffi.call/cls_16byte.c libffi.call/cls_18byte.c			\
> + libffi.call/cls_19byte.c libffi.call/cls_20byte1.c			\
> + libffi.call/cls_20byte.c libffi.call/cls_24byte.c			\
> + libffi.call/cls_2byte.c libffi.call/cls_3_1byte.c			\
> + libffi.call/cls_3byte1.c libffi.call/cls_3byte2.c			\
> + libffi.call/cls_4_1byte.c libffi.call/cls_4byte.c			\
> + libffi.call/cls_5_1_byte.c libffi.call/cls_5byte.c			\
> + libffi.call/cls_6_1_byte.c libffi.call/cls_64byte.c			\
> + libffi.call/cls_6byte.c libffi.call/cls_7_1_byte.c			\
> + libffi.call/cls_7byte.c libffi.call/cls_8byte.c			\
> + libffi.call/cls_9byte1.c libffi.call/cls_9byte2.c			\
> + libffi.call/cls_align_double.c libffi.call/cls_align_float.c		\
> + libffi.call/cls_align_longdouble.c libffi.call/cls_align_pointer.c	\
> + libffi.call/cls_align_sint16.c libffi.call/cls_align_sint32.c		\
> + libffi.call/cls_align_sint64.c libffi.call/cls_align_uint16.c		\
> + libffi.call/cls_align_uint32.c libffi.call/cls_align_uint64.c		\
> + libffi.call/cls_double.c libffi.call/cls_float.c			\
> + libffi.call/cls_multi_schar.c libffi.call/cls_multi_sshort.c		\
> + libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_uchar.c	\
> + libffi.call/cls_multi_ushort.c libffi.call/cls_multi_ushortchar.c	\
> + libffi.call/cls_schar.c libffi.call/cls_sint.c				\
> + libffi.call/cls_sshort.c libffi.call/cls_uchar.c			\
> + libffi.call/cls_uint.c libffi.call/cls_ulonglong.c			\
> + libffi.call/cls_ushort.c libffi.call/ffitest.h libffi.call/float1.c	\
> + libffi.call/float2.c libffi.call/float3.c libffi.call/float4.c		\
> + libffi.call/float.c libffi.call/many.c libffi.call/many_win32.c	\
> + libffi.call/negint.c libffi.call/nested_struct10.c			\
> + libffi.call/nested_struct1.c libffi.call/nested_struct2.c		\
> + libffi.call/nested_struct3.c libffi.call/nested_struct4.c		\
> + libffi.call/nested_struct5.c libffi.call/nested_struct6.c		\
> + libffi.call/nested_struct7.c libffi.call/nested_struct8.c		\
> + libffi.call/nested_struct9.c libffi.call/nested_struct.c		\
> + libffi.call/problem1.c libffi.call/promotion.c				\
> + libffi.call/pyobjc-tc.c libffi.call/return_dbl1.c			\
> + libffi.call/return_dbl2.c libffi.call/return_dbl.c			\
> + libffi.call/return_fl1.c libffi.call/return_fl2.c			\
> + libffi.call/return_fl3.c libffi.call/return_fl.c			\
> + libffi.call/return_ldl.c libffi.call/return_ll1.c			\
> + libffi.call/return_ll.c libffi.call/return_sc.c			\
> + libffi.call/return_sl.c libffi.call/return_uc.c			\
> + libffi.call/return_ul.c libffi.call/strlen.c				\
> + libffi.call/strlen_win32.c libffi.call/struct1.c			\
> + libffi.call/struct2.c libffi.call/struct3.c libffi.call/struct4.c	\
> + libffi.call/struct5.c libffi.call/struct6.c libffi.call/struct7.c	\
> + libffi.call/struct8.c libffi.call/struct9.c				\
> + libffi.special/ffitestcxx.h libffi.special/special.exp			\
> + libffi.special/unwindtest.cc libffi.special/unwindtest_ffi_call.cc

Hm, do we distribute other testfiles with gcc when we install it?

My 2Rp.

Thanks for doing the work Andrew!

Andreas



More information about the Java-patches mailing list