Package: gcc-3.4 Version: 3.4.3-1 Severity: wishlist We're building Debian M32R (http://www.linux-m32r.org/). Could you please include following patches?
* debian/rules.patch: Added M32R support. * debian/rules.defs: Disable Java and Ada for M32R. * debian/patches/m32r-{fixes,gotoff,libffi,limits,stack}.dpatch: New files. * debian/patches/autoreconf.dpatch: Enable again. -- NIIBE Yutaka <[EMAIL PROTECTED]> Wed, 24 Nov 2004 18:10:14 +0900 diff -u gcc-3.4-3.4.3/debian/patches/autoreconf.dpatch gcc-3.4-3.4.3/debian/patches/autoreconf.dpatch --- gcc-3.4-3.4.3/debian/patches/autoreconf.dpatch +++ gcc-3.4-3.4.3/debian/patches/autoreconf.dpatch @@ -12,11 +12,13 @@ fi case "$1" in -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 for i in libf2c libjava/libltdl libobjc libstdc++-v3 zlib; do (cd ${dir}/${i} ; autoreconf --force) done ;; -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 echo unable to unpatch autoreconf. ;; *) @@ -26,0 +29,12 @@ + +--- libtool.m4~ 2004-09-09 19:06:00.000000000 +0900 ++++ libtool.m4 2004-09-09 19:10:12.000000000 +0900 +@@ -680,7 +680,7 @@ + # This must be Linux ELF. + linux-gnu*) + case $host_cpu in +- alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* | sh* ) ++ alpha* | m32r* | mips* | hppa* | i*86 | ia64* | powerpc* | sh* | sparc* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM diff -u gcc-3.4-3.4.3/debian/rules.patch gcc-3.4-3.4.3/debian/rules.patch --- gcc-3.4-3.4.3/debian/rules.patch +++ gcc-3.4-3.4.3/debian/rules.patch @@ -79,6 +79,9 @@ ifeq ($(DEB_TARGET_ARCH),amd64) debian_patches += amd64-biarch # amd64-multilib endif +ifeq ($(DEB_TARGET_GNU_CPU),m32r) + debian_patches += autoreconf m32r-gotoff m32r-stack m32r-libffi m32r-fixes m32r-limits +endif ifeq ($(DEB_TARGET_GNU_CPU),alpha) debian_patches += # alpha-ieee endif diff -u gcc-3.4-3.4.3/debian/rules.defs gcc-3.4-3.4.3/debian/rules.defs --- gcc-3.4-3.4.3/debian/rules.defs +++ gcc-3.4-3.4.3/debian/rules.defs @@ -210,7 +210,7 @@ endif java_no_cpus := mips mipsel -java_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu +java_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu m32r-linux ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(java_no_cpus))) with_java := disabled for architecture $(DEB_TARGET_GNU_CPU) endif @@ -416,7 +420,7 @@ endif with_libgnat := yes -ada_no_cpus := arm m68k +ada_no_cpus := arm m68k m32r ada_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(ada_no_cpus))) with_ada := disabled for architecure $(DEB_TARGET_GNU_CPU) @@ -441,7 +445,7 @@ ifeq ($(with_ada),yes) enabled_languages += ada - libada_no_cpus := alpha mips mipsel powerpc s390 sparc + libada_no_cpus := alpha mips mipsel powerpc s390 sparc m32r ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(libada_no_cpus))) with_libgnat := disabled for architecure $(DEB_TARGET_GNU_CPU) endif only in patch2: unchanged: --- gcc-3.4-3.4.3.orig/debian/patches/m32r-gotoff.dpatch +++ gcc-3.4-3.4.3/debian/patches/m32r-gotoff.dpatch @@ -0,0 +1,76 @@ +#! /bin/sh -e +# +# +# DP: Bug fix of static variable access with GOTOFF + +if [ $# -eq 3 ] && [ "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- gcc-3.4.1/gcc/config/m32r/m32r.c.orig 2004-09-09 18:26:50.000000000 +0900 ++++ gcc-3.4.1/gcc/config/m32r/m32r.c 2004-09-09 18:27:30.000000000 +0900 +@@ -2207,6 +2207,15 @@ + else + address = reg; + ++ current_function_uses_pic_offset_table = 1; ++ if (GET_CODE (orig) == LABEL_REF ++ || GET_CODE (orig) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (orig)) ++ { ++ emit_insn (gen_gotoff_load_addr (reg, orig)); ++ emit_insn (gen_addsi3 (reg, reg, pic_offset_table_rtx)); ++ return reg; ++ } ++ + emit_insn (gen_pic_load_addr (address, orig)); + + emit_insn (gen_addsi3 (address, address, pic_offset_table_rtx)); +@@ -2214,8 +2223,7 @@ + + RTX_UNCHANGING_P (pic_ref) = 1; + insn = emit_move_insn (reg, pic_ref); +- current_function_uses_pic_offset_table = 1; + #if 0 + /* Put a REG_EQUAL note on this insn, so that it can be optimized + by loop. */ + +--- gcc-3.4.1/gcc/config/m32r/m32r.md.orig 2004-09-09 18:26:50.000000000 +0900 ++++ gcc-3.4.1/gcc/config/m32r/m32r.md 2004-09-09 18:27:30.000000000 +0900 +@@ -31,7 +31,8 @@ + [(UNSPEC_LOAD_SDA_BASE 2) + (UNSPEC_SET_CBIT 3) + (UNSPEC_PIC_LOAD_ADDR 4) +- (UNSPEC_GET_PC 5)]) ++ (UNSPEC_GET_PC 5) ++ (UNSPEC_GOTOFF 6)]) + + ;; Insn type. Used to default other attribute values. + (define_attr "type" +@@ -2711,7 +2712,15 @@ + "ld24 %0,%#%1" + [(set_attr "type" "int4")]) + ++(define_insn "gotoff_load_addr" ++ [(set (match_operand:SI 0 "register_operand" "=r") ++ (unspec:SI [(match_operand 1 "" "")] UNSPEC_GOTOFF))] ++ "flag_pic" ++ "seth %0,%#shigh([EMAIL PROTECTED])\;add3 %0,%0,low([EMAIL PROTECTED])" ++ [(set_attr "type" "int4") ++ (set_attr "length" "8")]) ++ + ;; Load program counter insns. + + (define_insn "get_pc" only in patch2: unchanged: --- gcc-3.4-3.4.3.orig/debian/patches/m32r-fixes.dpatch +++ gcc-3.4-3.4.3/debian/patches/m32r-fixes.dpatch @@ -0,0 +1,89 @@ +#! /bin/sh -e +# +# +# DP: fix for shared libgcc + +if [ $# -eq 3 ] && [ "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $pdir -f --no-backup-if-mismatch -p2 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p2 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- gcc-3.4-3.4.2/src/gcc/config.gcc.orig 2004-04-22 00:12:35.000000000 +0900 ++++ gcc-3.4-3.4.2/src/gcc/config.gcc 2004-11-17 21:23:21.000000000 +0900 +@@ -1304,7 +1304,7 @@ + m32r-*-linux*) + tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" +- tmake_file="m32r/t-linux" ++ tmake_file="t-slibgcc-elf-ver m32r/t-linux" + gnu_ld=yes + use_fixproto=yes + if test x$enable_threads = xyes; then +@@ -1314,7 +1314,7 @@ + m32rle-*-linux*) + tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" +- tmake_file="m32r/t-linux" ++ tmake_file="t-slibgcc-elf-ver m32r/t-linux" + gnu_ld=yes + use_fixproto=yes + if test x$enable_threads = xyes; then +--- gcc-3.4-3.4.2/src/gcc/config/m32r/t-linux.orig 2003-12-31 19:33:02.000000000 +0900 ++++ gcc-3.4-3.4.2/src/gcc/config/m32r/t-linux 2004-11-17 21:18:50.000000000 +0900 +@@ -23,7 +23,6 @@ + # to produce a shared library, but since we don't know ahead of time when + # we will be doing that, we just always use -fpic when compiling the + # routines in initfini.c. +-# -fpic currently isn't supported for the m32r. + + CRTSTUFF_T_CFLAGS_S = -fPIC + +@@ -40,3 +39,12 @@ + CROSS_LIBGCC1 = + LIBGCC1_TEST = + ++# Override t-slibgcc-elf-ver to export some libgcc symbols with ++# the symbol versions that glibc used. ++SHLIB_MAPFILES += $(srcdir)/libgcc-std.ver \ ++ $(srcdir)/config/m32r/libgcc-glibc.ver ++ ++# Use unwind-dw2-fde-glibc ++LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \ ++ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c ++LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c gthr-gnat.c +--- /dev/null 2004-11-01 19:04:23.000000000 +0900 ++++ gcc-3.4-3.4.2/src/gcc/config/m32r/libgcc-glibc.ver 2004-11-17 21:11:56.000000000 +0900 +@@ -0,0 +1,21 @@ ++# In order to work around the very problems that force us to now generally ++# create a libgcc.so, glibc reexported a number of routines from libgcc.a. ++# By now choosing the same version tags for these specific routines, we ++# maintain enough binary compatibility to allow future versions of glibc ++# to defer implementation of these routines to libgcc.so via DT_AUXILIARY. ++ ++# Note that we cannot use the default libgcc-glibc.ver file on m32r, ++# because GLIBC_2.0 does not exist on this architecture, as the first ++# ever glibc release on the platform was GLIBC_2.3. ++ ++%inherit GCC_3.0 GLIBC_2.3 ++GLIBC_2.3 { ++ __register_frame ++ __register_frame_table ++ __deregister_frame ++ __register_frame_info ++ __deregister_frame_info ++ __frame_state_for ++ __register_frame_info_table ++} ++ only in patch2: unchanged: --- gcc-3.4-3.4.3.orig/debian/patches/m32r-libffi.dpatch +++ gcc-3.4-3.4.3/debian/patches/m32r-libffi.dpatch @@ -0,0 +1,873 @@ +#! /bin/sh -e +# +# +# DP: Author: Kazuhiro Inaoka +# DP: libffi implementation + +if [ $# -eq 3 ] && [ "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p1 < $0 + cd ${dir}libffi && autoconf + ;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- gcc-3.4.1/libffi/Makefile.am.orig 2004-11-02 22:25:42.000000000 +0900 ++++ gcc-3.4.1/libffi/Makefile.am 2004-11-12 12:20:22.000000000 +0900 +@@ -9,6 +9,7 @@ EXTRA_DIST = LICENSE ChangeLog.v1 \ + src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \ + src/mips/ffi.c src/mips/n32.S src/mips/o32.S \ + src/mips/ffitarget.h \ ++ src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h \ + src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \ + src/pa/ffi.c src/pa/linux.S src/pa/ffitarget.h \ + src/powerpc/ffi.c src/powerpc/sysv.S \ +@@ -25,7 +26,6 @@ EXTRA_DIST = LICENSE ChangeLog.v1 \ + src/x86/ffi.c src/x86/sysv.S src/x86/win32.S \ + src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h + +- + VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@ + + ## ################################################################ +@@ -105,6 +105,7 @@ TARGET_SRC_S390 = src/s390/sysv.S src/s + TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S + TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c + TARGET_SRC_SH64 = src/sh64/sysv.S src/sh64/ffi.c ++TARGET_SRC_M32R = src/m32r/sysv.S src/m32r/ffi.c + + ##libffi_la_SOURCES = src/debug.c src/prep_cif.c src/types.c $([EMAIL PROTECTED]@) + ## Work around automake deficiency +@@ -178,6 +179,10 @@ if PA + libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA) + libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA) + endif ++if M32R ++libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M32R) ++libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M32R) ++endif + + AM_CFLAGS = -Wall -g -fexceptions + +--- gcc-3.4.1/libffi/Makefile.in.orig 2004-11-12 16:52:34.000000000 +0900 ++++ gcc-3.4.1/libffi/Makefile.in 2004-11-12 16:57:15.000000000 +0900 +@@ -95,26 +95,7 @@ AUTOMAKE_OPTIONS = cygnus + + SUBDIRS = include testsuite + +-EXTRA_DIST = LICENSE ChangeLog.v1 \ +- src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \ +- src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \ +- src/mips/ffi.c src/mips/n32.S src/mips/o32.S \ +- src/mips/ffitarget.h \ +- src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h \ +- src/pa/ffi.c src/pa/linux.S src/pa/ffitarget.h \ +- src/powerpc/ffi.c src/powerpc/sysv.S \ +- src/powerpc/linux64.S src/powerpc/linux64_closure.S \ +- src/powerpc/ppc_closure.S src/powerpc/asm.h \ +- src/powerpc/aix.S src/powerpc/darwin.S \ +- src/powerpc/aix_closure.S src/powerpc/darwin_closure.S \ +- src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h \ +- src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h \ +- src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h \ +- src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \ +- src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \ +- src/sparc/ffi.c \ +- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S \ +- src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h ++EXTRA_DIST = LICENSE ChangeLog.v1 src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h src/mips/ffi.c src/mips/n32.S src/mips/o32.S src/mips/ffitarget.h src/m32r/ffi.c src/m32r/sysv.S src/m32r/ffitarget.h src/m68k/ffi.c src/m68k/sysv.S src/m68k/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/ffitarget.h src/powerpc/ffi.c src/powerpc/sysv.S src/powerpc/linux64.S src/powerpc/linux64_closure.S src/powerpc/ppc_closure.S src/powerpc/asm.h src/powerpc/aix.S src/powerpc/darwin.S src/powerpc/aix_closure.S src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c src/powerpc/ffitarget.h src/s390/ffi.c src/s390/sysv.S src/s390/ffitarget.h src/sh/ffi.c src/sh/sysv.S src/sh/ffitarget.h src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h src/sparc/ffi.c src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h + + + VPATH = @srcdir@:@srcdir@/src:@srcdir@/src/@TARGETDIR@ +@@ -122,41 +103,7 @@ VPATH = @srcdir@:@srcdir@/src:@srcdir@/s + # Work around what appears to be a GNU make bug handling MAKEFLAGS + # values defined in terms of make variables, as is the case for CC and + # friends when we are called from the top level Makefile. +-AM_MAKEFLAGS = \ +- "AR_FLAGS=$(AR_FLAGS)" \ +- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ +- "CFLAGS=$(CFLAGS)" \ +- "CXXFLAGS=$(CXXFLAGS)" \ +- "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ +- "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ +- "INSTALL=$(INSTALL)" \ +- "INSTALL_DATA=$(INSTALL_DATA)" \ +- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ +- "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ +- "JC1FLAGS=$(JC1FLAGS)" \ +- "LDFLAGS=$(LDFLAGS)" \ +- "LIBCFLAGS=$(LIBCFLAGS)" \ +- "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ +- "MAKE=$(MAKE)" \ +- "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ +- "PICFLAG=$(PICFLAG)" \ +- "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ +- "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ +- "SHELL=$(SHELL)" \ +- "exec_prefix=$(exec_prefix)" \ +- "infodir=$(infodir)" \ +- "libdir=$(libdir)" \ +- "prefix=$(prefix)" \ +- "AR=$(AR)" \ +- "AS=$(AS)" \ +- "CC=$(CC)" \ +- "CXX=$(CXX)" \ +- "LD=$(LD)" \ +- "LIBCFLAGS=$(LIBCFLAGS)" \ +- "NM=$(NM)" \ +- "PICFLAG=$(PICFLAG)" \ +- "RANLIB=$(RANLIB)" \ +- "DESTDIR=$(DESTDIR)" ++AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "JC1FLAGS=$(JC1FLAGS)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "RUNTESTFLAGS=$(RUNTESTFLAGS)" "SHELL=$(SHELL)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "prefix=$(prefix)" "AR=$(AR)" "AS=$(AS)" "CC=$(CC)" "CXX=$(CXX)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "NM=$(NM)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "DESTDIR=$(DESTDIR)" + + + MAKEOVERRIDES = +@@ -189,44 +136,46 @@ TARGET_SRC_S390 = src/s390/sysv.S src/s3 + TARGET_SRC_X86_64 = src/x86/ffi64.c src/x86/unix64.S src/x86/ffi.c src/x86/sysv.S + TARGET_SRC_SH = src/sh/sysv.S src/sh/ffi.c + TARGET_SRC_SH64 = src/sh64/sysv.S src/sh64/ffi.c ++TARGET_SRC_M32R = src/m32r/sysv.S src/m32r/ffi.c + +-libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c \ +- src/raw_api.c src/java_raw_api.c ++libffi_la_common_SOURCES = src/debug.c src/prep_cif.c src/types.c src/raw_api.c src/java_raw_api.c + [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SPARC) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_IA64) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_M68K) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_PA) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_ARM) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_S390) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86_64) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SH) [EMAIL PROTECTED]@libffi_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SH64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SPARC) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_IA64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_M68K) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_PA) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_ARM) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_S390) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_X86_64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SH) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = @[EMAIL PROTECTED](libffi_la_common_SOURCES) $(TARGET_SRC_SH64) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA) [EMAIL PROTECTED]@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M32R) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA) [EMAIL PROTECTED]@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M32R) + + AM_CFLAGS = -Wall -g -fexceptions + +@@ -246,122 +195,43 @@ LDFLAGS = @LDFLAGS@ + LIBS = @LIBS@ + libffi_convenience_la_LDFLAGS = + libffi_convenience_la_LIBADD = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/x86/ffi64.lo src/x86/unix64.lo \ [EMAIL PROTECTED]@src/x86/ffi.lo src/x86/sysv.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/m68k/ffi.lo src/m68k/sysv.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \ [EMAIL PROTECTED]@src/powerpc/darwin.lo \ [EMAIL PROTECTED]@src/powerpc/darwin_closure.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/alpha/ffi.lo src/alpha/osf.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/arm/sysv.lo src/arm/ffi.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/pa/ffi.lo src/pa/linux.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \ [EMAIL PROTECTED]@src/powerpc/aix.lo src/powerpc/aix_closure.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/powerpc/ffi.lo \ [EMAIL PROTECTED]@src/powerpc/sysv.lo src/powerpc/ppc_closure.lo \ [EMAIL PROTECTED]@src/powerpc/linux64.lo src/powerpc/linux64_closure.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \ [EMAIL PROTECTED]@src/sh/ffi.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/sparc/ffi.lo src/sparc/v8.lo \ [EMAIL PROTECTED]@src/sparc/v9.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/sh64/sysv.lo src/sh64/ffi.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/s390/sysv.lo src/s390/ffi.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo \ [EMAIL PROTECTED]@src/prep_cif.lo src/types.lo src/raw_api.lo \ [EMAIL PROTECTED]@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \ [EMAIL PROTECTED]@src/mips/n32.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/x86/ffi.lo src/x86/sysv.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/ia64/ffi.lo src/ia64/unix.lo [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = [EMAIL PROTECTED]@libffi_convenience_la_OBJECTS = + libffi_la_LIBADD = [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffi.lo \ [EMAIL PROTECTED]@src/x86/sysv.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/m68k/ffi.lo src/m68k/sysv.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/powerpc/ffi_darwin.lo src/powerpc/darwin.lo \ [EMAIL PROTECTED]@src/powerpc/darwin_closure.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/alpha/ffi.lo src/alpha/osf.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \ [EMAIL PROTECTED]@src/raw_api.lo src/java_raw_api.lo src/arm/sysv.lo \ [EMAIL PROTECTED]@src/arm/ffi.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \ [EMAIL PROTECTED]@src/raw_api.lo src/java_raw_api.lo src/pa/linux.lo \ [EMAIL PROTECTED]@src/pa/ffi.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/powerpc/ffi_darwin.lo src/powerpc/aix.lo \ [EMAIL PROTECTED]@src/powerpc/aix_closure.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/powerpc/ffi.lo src/powerpc/sysv.lo \ [EMAIL PROTECTED]@src/powerpc/ppc_closure.lo src/powerpc/linux64.lo \ [EMAIL PROTECTED]@src/powerpc/linux64_closure.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/mips/ffi.lo src/mips/o32.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \ [EMAIL PROTECTED]@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \ [EMAIL PROTECTED]@src/sh/ffi.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/x86/ffi.lo src/x86/win32.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/sh64/sysv.lo src/sh64/ffi.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/s390/sysv.lo src/s390/ffi.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \ [EMAIL PROTECTED]@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \ [EMAIL PROTECTED]@src/x86/sysv.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \ [EMAIL PROTECTED]@src/types.lo src/raw_api.lo src/java_raw_api.lo \ [EMAIL PROTECTED]@src/ia64/ffi.lo src/ia64/unix.lo [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = [EMAIL PROTECTED]@libffi_la_OBJECTS = + CFLAGS = @CFLAGS@ + COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) + LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +@@ -526,7 +396,7 @@ maintainer-clean-recursive: + dot_seen=no; \ + rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ + rev="$$subdir $$rev"; \ +- test "$$subdir" = "." && dot_seen=yes; \ ++ test "$$subdir" != "." || dot_seen=yes; \ + done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ +@@ -568,7 +438,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCE + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)fficonfig.h.in$$unique$(LISP)$$tags" \ +- || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags fficonfig.h.in $$unique $(LISP) -o $$here/TAGS) ++ || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags fficonfig.h.in $$unique $(LISP)) + + mostlyclean-tags: + +@@ -618,9 +488,10 @@ distdir: $(DISTFILES) + mkdir $(distdir) + -chmod 777 $(distdir) + $(mkinstalldirs) $(distdir)/src/alpha $(distdir)/src/arm \ +- $(distdir)/src/m68k $(distdir)/src/mips $(distdir)/src/pa \ +- $(distdir)/src/powerpc $(distdir)/src/s390 $(distdir)/src/sh \ +- $(distdir)/src/sh64 $(distdir)/src/sparc $(distdir)/src/x86 ++ $(distdir)/src/m32r $(distdir)/src/m68k $(distdir)/src/mips \ ++ $(distdir)/src/pa $(distdir)/src/powerpc $(distdir)/src/s390 \ ++ $(distdir)/src/sh $(distdir)/src/sh64 $(distdir)/src/sparc \ ++ $(distdir)/src/x86 + @for file in $(DISTFILES); do \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ +--- gcc-3.4.1/libffi/configure.in.orig 2004-11-02 22:25:28.000000000 +0900 ++++ gcc-3.4.1/libffi/configure.in 2004-11-12 12:14:04.000000000 +0900 +@@ -88,6 +88,7 @@ x86_64-*-linux*) TARGET=X86_64; TARGETDI + sh-*-linux* | sh[[34]]*-*-linux*) TARGET=SH; TARGETDIR=sh;; + sh64-*-linux* | sh5*-*-linux*) TARGET=SH64; TARGETDIR=sh64;; + hppa-*-linux* | parisc-*-linux*) TARGET=PA; TARGETDIR=pa;; ++m32r*-*-linux* ) TARGET=M32R; TARGETDIR=m32r;; + esac + + AC_SUBST(AM_RUNTESTFLAGS) +@@ -113,6 +114,7 @@ AM_CONDITIONAL(X86_64, test x$TARGET = x + AM_CONDITIONAL(SH, test x$TARGET = xSH) + AM_CONDITIONAL(SH64, test x$TARGET = xSH64) + AM_CONDITIONAL(PA, test x$TARGET = xPA) ++AM_CONDITIONAL(M32R, test x$TARGET = xM32R) + + case x$TARGET in + xMIPS*) TARGET=MIPS ;; +--- gcc-3.4.1/libffi/src/m32r/ffi.c 1970-01-01 09:00:00.000000000 +0900 ++++ gcc-3.4.1/libffi/src/m32r/ffi.c 2004-10-22 11:16:10.000000000 +0900 +@@ -0,0 +1,246 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2004 Renesas Technology ++ ++ M32R Foreign Function Interface ++ ++ 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 CYGNUS SOLUTIONS 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. ++ ----------------------------------------------------------------------- */ ++ ++#include <ffi.h> ++#include <ffi_common.h> ++ ++#include <stdlib.h> ++ ++/* ffi_prep_args is called by the assembly routine once stack space ++ has been allocated for the function's arguments */ ++ ++/[EMAIL PROTECTED]@*/ ++void ffi_prep_args(char *stack, extended_cif *ecif) ++/[EMAIL PROTECTED]@*/ ++{ ++ register unsigned int i; ++ register int tmp; ++ register unsigned int avn; ++ register void **p_argv; ++ register char *argp; ++ register ffi_type **p_arg; ++ ++ tmp = 0; ++ argp = stack; ++ ++ if ( ecif->cif->rtype->type == FFI_TYPE_STRUCT && ecif->cif->rtype->size > 8 ) { ++ *(void **) argp = ecif->rvalue; ++ argp += 4; ++ } ++ ++ avn = ecif->cif->nargs; ++ p_argv = ecif->avalue; ++ ++ for (i = ecif->cif->nargs, p_arg = ecif->cif->arg_types; ++ (i != 0) && (avn != 0); ++ i--, p_arg++) ++ { ++ size_t z; ++ ++ /* Align if necessary */ ++ if (((*p_arg)->alignment - 1) & (unsigned) argp) { ++ argp = (char *) ALIGN(argp, (*p_arg)->alignment); ++ } ++ ++ if (avn != 0) ++ { ++ avn--; ++ z = (*p_arg)->size; ++ if (z < sizeof(int)) ++ { ++ z = sizeof(int); ++ switch ((*p_arg)->type) ++ { ++ case FFI_TYPE_SINT8: ++ *(signed int *) argp = (signed int)*(SINT8 *)(* p_argv); ++ break; ++ ++ case FFI_TYPE_UINT8: ++ *(unsigned int *) argp = (unsigned int)*(UINT8 *)(* p_argv); ++ break; ++ ++ case FFI_TYPE_SINT16: ++ *(signed int *) argp = (signed int)*(SINT16 *)(* p_argv); ++ break; ++ ++ case FFI_TYPE_UINT16: ++ *(unsigned int *) argp = (unsigned int)*(UINT16 *)(* p_argv); ++ break; ++ ++ case FFI_TYPE_STRUCT: ++ z = (*p_arg)->size; ++ if ( (*p_arg)->alignment != 1 ) ++ memcpy(argp, *p_argv, z); ++ else ++ memcpy(argp + 4 - z, *p_argv, z); ++ z = sizeof(int); ++ break; ++ ++ default: ++ FFI_ASSERT(0); ++ } ++ } ++ else if (z == sizeof(int)) ++ { ++ *(unsigned int *) argp = (unsigned int)*(UINT32 *)(* p_argv); ++ } ++ else ++ { ++ if ( (*p_arg)->type == FFI_TYPE_STRUCT ) ++ { ++ if ( z > 8 ) ++ { ++ *(unsigned int *) argp = (unsigned int)(void *)(* p_argv); ++ z = sizeof(void *); ++ } ++ else ++ { ++ memcpy(argp, *p_argv, z); ++ z = 8; ++ } ++ } ++ else ++ { /* double or long long 64bit */ ++ memcpy(argp, *p_argv, z); ++ } ++ } ++ p_argv++; ++ argp += z; ++ } ++ } ++ ++ return; ++} ++ ++/* Perform machine dependent cif processing */ ++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) ++{ ++ /* Set the return type flag */ ++ switch (cif->rtype->type) ++ { ++ case FFI_TYPE_VOID: ++ cif->flags = (unsigned) cif->rtype->type; ++ break; ++ ++ case FFI_TYPE_STRUCT: ++ if (cif->rtype->size <= 4) ++ { ++ cif->flags = FFI_TYPE_INT; ++ } ++ else if (cif->rtype->size <= 8) ++ { ++ cif->flags = FFI_TYPE_DOUBLE; ++ } ++ else ++ { ++ cif->flags = (unsigned) cif->rtype->type; ++ } ++ break; ++ ++ case FFI_TYPE_SINT64: ++ case FFI_TYPE_UINT64: ++ case FFI_TYPE_DOUBLE: ++ cif->flags = FFI_TYPE_DOUBLE; ++ break; ++ ++ case FFI_TYPE_FLOAT: ++ default: ++ cif->flags = FFI_TYPE_INT; ++ break; ++ } ++ ++ return FFI_OK; ++} ++ ++/[EMAIL PROTECTED]@*/ ++/[EMAIL PROTECTED]@*/ ++extern void ffi_call_SYSV(void (*)(char *, extended_cif *), ++ /[EMAIL PROTECTED]@*/ extended_cif *, ++ unsigned, unsigned, ++ /[EMAIL PROTECTED]@*/ unsigned *, ++ void (*fn)()); ++/[EMAIL PROTECTED]@*/ ++/[EMAIL PROTECTED]@*/ ++ ++void ffi_call(/[EMAIL PROTECTED]@*/ ffi_cif *cif, ++ void (*fn)(), ++ /[EMAIL PROTECTED]@*/ void *rvalue, ++ /[EMAIL PROTECTED]@*/ void **avalue) ++{ ++ extended_cif ecif; ++ ++ ecif.cif = cif; ++ ecif.avalue = avalue; ++ ++ /* If the return value is a struct and we don't have a return */ ++ /* value address then we need to make one */ ++ ++ if ((rvalue == NULL) && ++ (cif->rtype->type == FFI_TYPE_STRUCT)) ++ { ++ /[EMAIL PROTECTED]@*/ ++ ecif.rvalue = alloca(cif->rtype->size); ++ /[EMAIL PROTECTED]@*/ ++ } ++ else ++ ecif.rvalue = rvalue; ++ ++ ++ switch (cif->abi) ++ { ++ case FFI_SYSV: ++ /[EMAIL PROTECTED]@*/ ++ ffi_call_SYSV(ffi_prep_args, &ecif, cif->bytes, ++ cif->flags, ecif.rvalue, fn); ++ if ( cif->rtype->type == FFI_TYPE_STRUCT ) ++ { ++ int size = cif->rtype->size; ++ int align = cif->rtype->alignment; ++ if (size < 4) ++ { ++ if ( align == 1 ) ++ *(unsigned long *)(ecif.rvalue) <<= (4 - size)*8; ++ } ++ else if ( 4 < size && size < 8 ) ++ { ++ if ( align == 1 ) ++ { ++ memcpy(ecif.rvalue, ecif.rvalue + 8-size, size); ++ } ++ else if (align == 2) ++ { ++ if (size & 1) size += 1; ++ if (size != 8) ++ memcpy(ecif.rvalue, ecif.rvalue + 8-size, size); ++ } ++ } ++ } ++ /[EMAIL PROTECTED]@*/ ++ break; ++ default: ++ FFI_ASSERT(0); ++ break; ++ } ++} +--- gcc-3.4.1/libffi/src/m32r/ffitarget.h 1970-01-01 09:00:00.000000000 +0900 ++++ gcc-3.4.1/libffi/src/m32r/ffitarget.h 2004-10-22 10:22:24.000000000 +0900 +@@ -0,0 +1,48 @@ ++/* -----------------------------------------------------------------*-C-*- ++ ffitarget.h - Copyright (c) 2004 Renesas Technology. ++ Target configuration macros for M32R. ++ ++ 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 CYGNUS SOLUTIONS 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 ++ ++/* ---- Generic type definitions ----------------------------------------- */ ++ ++#ifndef LIBFFI_ASM ++typedef unsigned long ffi_arg; ++typedef signed long ffi_sarg; ++ ++typedef enum ffi_abi { ++ FFI_FIRST_ABI = 0, ++ FFI_SYSV, ++ FFI_DEFAULT_ABI = FFI_SYSV, ++ FFI_LAST_ABI = FFI_DEFAULT_ABI + 1 ++} ffi_abi; ++#endif ++ ++#define FFI_CLOSURES 1 ++#define FFI_TRAMPOLINE_SIZE 24 ++#define FFI_NATIVE_RAW_API 0 ++ ++#endif ++ +--- gcc-3.4.1/libffi/src/m32r/sysv.S 1970-01-01 09:00:00.000000000 +0900 ++++ gcc-3.4.1/libffi/src/m32r/sysv.S 2004-10-22 10:22:24.000000000 +0900 +@@ -0,0 +1,122 @@ ++/* ----------------------------------------------------------------------- ++ sysv.S - Copyright (c) 2004 Renesas Technology ++ ++ M32R Foreign Function Interface ++ ++ 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 CYGNUS SOLUTIONS 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. ++ ----------------------------------------------------------------------- */ ++ ++#define LIBFFI_ASM ++#include <fficonfig.h> ++#include <ffi.h> ++#ifdef HAVE_MACHINE_ASM_H ++#include <machine/asm.h> ++#else ++/* XXX these lose for some platforms, I'm sure. */ ++#define CNAME(x) x ++#define ENTRY(x) .globl CNAME(x)! .type CNAME(x),%function! CNAME(x): ++#endif ++ ++.text ++ ++ /* R0: ffi_prep_args */ ++ /* R1: &ecif */ ++ /* R2: cif->bytes */ ++ /* R3: fig->flags */ ++ /* sp+0: ecif.rvalue */ ++ /* sp+4: fn */ ++ ++ /* This assumes we are using gas. */ ++ENTRY(ffi_call_SYSV) ++ /* Save registers */ ++ push fp ++ push lr ++ push r3 ++ push r2 ++ push r1 ++ push r0 ++ mv fp, sp ++ ++ /* Make room for all of the new args. */ ++ sub sp, r2 ++ ++ /* Place all of the ffi_prep_args in position */ ++ mv lr, r0 ++ mv r0, sp ++ /* R1 already set */ ++ ++ /* And call */ ++ jl lr ++ ++ /* move first 4 parameters in registers */ ++ ld r0, @(0,sp) ++ ld r1, @(4,sp) ++ ld r2, @(8,sp) ++ ld r3, @(12,sp) ++ ++ /* and adjust stack */ ++ ld lr, @(8,fp) ++ cmpi lr, #16 ++ bc adjust_stack ++ ldi lr, #16 ++adjust_stack: ++ add sp, lr ++ ++ /* call function */ ++ ld lr, @(28,fp) ++ jl lr ++ ++ /* Remove the space we pushed for the args */ ++ mv sp, fp ++ ++ /* Load R2 with the pointer to storage for the return value */ ++ ld r2, @(24,sp) ++ ++ /* Load R3 with the return type code */ ++ ld r3, @(12,sp) ++ ++ /* If the return value pointer is NULL, assume no return value. */ ++ beqz r2, epilogue ++ ++/* return INT */ ++ ldi r4, #FFI_TYPE_INT ++ bne r3, r4, return_double ++ st r0, @r2 ++ bra epilogue ++ ++return_double: ++/* return DOUBLE or LONGDOUBLE */ ++ ldi r4, #FFI_TYPE_DOUBLE ++ bne r3, r4, epilogue ++ st r0, @r2 ++ st r1, @(4,r2) ++ ++epilogue: ++ pop r0 ++ pop r1 ++ pop r2 ++ pop r3 ++ pop lr ++ pop fp ++ jmp lr ++ ++.ffi_call_SYSV_end: ++ .size CNAME(ffi_call_SYSV),.ffi_call_SYSV_end-CNAME(ffi_call_SYSV) ++ +--- gcc-3.4.1/libffi/src/types.c 2004-03-12 10:35:31.000000000 +0900 ++++ gcc-3.4.1/libffi/src/types.c 2004-10-22 10:22:24.000000000 +0900 +@@ -53,7 +53,7 @@ FFI_INTEGRAL_TYPEDEF(pointer, 4, 4, FFI_ + + #endif + +-#if defined X86 || defined X86_WIN32 || defined ARM || defined M68K ++#if defined X86 || defined X86_WIN32 || defined ARM || defined M68K || defined M32R + + FFI_INTEGRAL_TYPEDEF(uint64, 8, 4, FFI_TYPE_UINT64); + FFI_INTEGRAL_TYPEDEF(sint64, 8, 4, FFI_TYPE_SINT64); +@@ -76,7 +76,7 @@ FFI_INTEGRAL_TYPEDEF(sint64, 8, 8, FFI_T + FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE); + FFI_INTEGRAL_TYPEDEF(longdouble, 12, 4, FFI_TYPE_LONGDOUBLE); + +-#elif defined ARM || defined SH || defined POWERPC_AIX || defined POWERPC_DARWIN ++#elif defined ARM || defined SH || defined M32R || defined POWERPC_AIX || defined POWERPC_DARWIN + + FFI_INTEGRAL_TYPEDEF(double, 8, 4, FFI_TYPE_DOUBLE); + FFI_INTEGRAL_TYPEDEF(longdouble, 8, 4, FFI_TYPE_LONGDOUBLE); only in patch2: unchanged: --- gcc-3.4-3.4.3.orig/debian/patches/m32r-stack.dpatch +++ gcc-3.4-3.4.3/debian/patches/m32r-stack.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh -e +# +# +# DP: Author: NIIBE Yutaka +# DP: Status: Not yet in CVS +# DP: Stack protection support + +if [ $# -eq 3 ] && [ "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +2004-11-12 NIIBE Yutaka <[EMAIL PROTECTED]> + + * config/m32r/linux.h (TARGET_ASM_FILE_END): Defined for stack + protection. + +--- gcc-3.4.2/gcc/config/m32r/linux.h.orig 2003-12-31 19:33:02.000000000 +0900 ++++ gcc-3.4.2/gcc/config/m32r/linux.h 2004-11-12 11:32:02.000000000 +0900 +@@ -102,3 +102,4 @@ + + #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS() + ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack only in patch2: unchanged: --- gcc-3.4-3.4.3.orig/debian/patches/m32r-limits.dpatch +++ gcc-3.4-3.4.3/debian/patches/m32r-limits.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh -e +# +# +# DP: Author: NIIBE Yutaka <[EMAIL PROTECTED]> +# DP: Status: experimental, only tested for Debian m32r + +if [ $# -eq 3 ] && [ "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- gcc-3.4.3/gcc/config/m32r/t-linux~ 2004-11-24 22:17:07.000000000 +0900 ++++ gcc-3.4.3/gcc/config/m32r/t-linux 2004-11-24 22:18:51.000000000 +0900 +@@ -48,3 +48,6 @@ SHLIB_MAPFILES += $(srcdir)/config/m32r/ + LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \ + $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c + LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c gthr-gnat.c ++ ++# We're GNU system, where GNU C library is native C library. ++CROSS_SYSTEM_HEADER_DIR = $(gcc_tooldir)/include