Bug#282880: gcc-3.4: [Patch] M32R support
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 <gniibe@fsij.org> 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(%1@GOTOFF)\;add3 %0,%0,low(%1@GOTOFF)"
++ [(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 $(TARGET_SRC_@TARGET@)
+ ## 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
+
+-@MIPS_IRIX_TRUE@libffi_la_SOURCES = @MIPS_IRIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX)
+-@MIPS_LINUX_TRUE@libffi_la_SOURCES = @MIPS_LINUX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
+-@X86_TRUE@libffi_la_SOURCES = @X86_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
+-@X86_WIN32_TRUE@libffi_la_SOURCES = @X86_WIN32_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
+-@SPARC_TRUE@libffi_la_SOURCES = @SPARC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
+-@ALPHA_TRUE@libffi_la_SOURCES = @ALPHA_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
+-@IA64_TRUE@libffi_la_SOURCES = @IA64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
+-@M68K_TRUE@libffi_la_SOURCES = @M68K_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
+-@PA_TRUE@libffi_la_SOURCES = @PA_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_PA)
+-@POWERPC_TRUE@libffi_la_SOURCES = @POWERPC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
+-@POWERPC_AIX_TRUE@libffi_la_SOURCES = @POWERPC_AIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
+-@POWERPC_DARWIN_TRUE@libffi_la_SOURCES = @POWERPC_DARWIN_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
+-@ARM_TRUE@libffi_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
+-@S390_TRUE@libffi_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
+-@X86_64_TRUE@libffi_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
+-@SH_TRUE@libffi_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
+-@SH64_TRUE@libffi_la_SOURCES = @SH64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
+-@MIPS_IRIX_TRUE@libffi_convenience_la_SOURCES = @MIPS_IRIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX)
+-@MIPS_LINUX_TRUE@libffi_convenience_la_SOURCES = @MIPS_LINUX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
+-@X86_TRUE@libffi_convenience_la_SOURCES = @X86_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
+-@X86_WIN32_TRUE@libffi_convenience_la_SOURCES = @X86_WIN32_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
+-@SPARC_TRUE@libffi_convenience_la_SOURCES = @SPARC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
+-@ALPHA_TRUE@libffi_convenience_la_SOURCES = @ALPHA_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
+-@IA64_TRUE@libffi_convenience_la_SOURCES = @IA64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
+-@M68K_TRUE@libffi_convenience_la_SOURCES = @M68K_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
+-@PA_TRUE@libffi_convenience_la_SOURCES = @PA_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_PA)
+-@POWERPC_TRUE@libffi_convenience_la_SOURCES = @POWERPC_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
+-@POWERPC_AIX_TRUE@libffi_convenience_la_SOURCES = @POWERPC_AIX_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
+-@POWERPC_DARWIN_TRUE@libffi_convenience_la_SOURCES = @POWERPC_DARWIN_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
+-@ARM_TRUE@libffi_convenience_la_SOURCES = @ARM_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
+-@S390_TRUE@libffi_convenience_la_SOURCES = @S390_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
+-@X86_64_TRUE@libffi_convenience_la_SOURCES = @X86_64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
+-@SH_TRUE@libffi_convenience_la_SOURCES = @SH_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
+-@SH64_TRUE@libffi_convenience_la_SOURCES = @SH64_TRUE@$(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
++@MIPS_IRIX_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX)
++@MIPS_LINUX_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
++@X86_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
++@X86_WIN32_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
++@SPARC_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
++@ALPHA_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
++@IA64_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
++@M68K_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
++@POWERPC_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
++@POWERPC_AIX_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
++@POWERPC_DARWIN_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
++@ARM_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
++@S390_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
++@X86_64_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
++@SH_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
++@SH64_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
++@PA_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA)
++@M32R_TRUE@libffi_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M32R)
++@MIPS_IRIX_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_IRIX)
++@MIPS_LINUX_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_MIPS_LINUX)
++@X86_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86)
++@X86_WIN32_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_WIN32)
++@SPARC_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SPARC)
++@ALPHA_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ALPHA)
++@IA64_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_IA64)
++@M68K_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_M68K)
++@POWERPC_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC)
++@POWERPC_AIX_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_AIX)
++@POWERPC_DARWIN_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_POWERPC_DARWIN)
++@ARM_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_ARM)
++@S390_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_S390)
++@X86_64_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_X86_64)
++@SH_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH)
++@SH64_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_SH64)
++@PA_TRUE@libffi_convenience_la_SOURCES = $(libffi_la_common_SOURCES) $(TARGET_SRC_PA)
++@M32R_TRUE@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 =
+-@X86_64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@X86_64_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@X86_64_TRUE@src/java_raw_api.lo src/x86/ffi64.lo src/x86/unix64.lo \
+-@X86_64_TRUE@src/x86/ffi.lo src/x86/sysv.lo
+-@M68K_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
+-@POWERPC_DARWIN_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@POWERPC_DARWIN_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@POWERPC_DARWIN_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
+-@POWERPC_DARWIN_TRUE@src/powerpc/darwin.lo \
+-@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
+-@ALPHA_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@ALPHA_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@ALPHA_TRUE@src/java_raw_api.lo src/alpha/ffi.lo src/alpha/osf.lo
+-@ARM_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@ARM_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@ARM_TRUE@src/arm/sysv.lo src/arm/ffi.lo
+-@PA_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@PA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@PA_TRUE@src/pa/ffi.lo src/pa/linux.lo
+-@POWERPC_AIX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@POWERPC_AIX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@POWERPC_AIX_TRUE@src/java_raw_api.lo src/powerpc/ffi_darwin.lo \
+-@POWERPC_AIX_TRUE@src/powerpc/aix.lo src/powerpc/aix_closure.lo
+-@POWERPC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@POWERPC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@POWERPC_TRUE@src/java_raw_api.lo src/powerpc/ffi.lo \
+-@POWERPC_TRUE@src/powerpc/sysv.lo src/powerpc/ppc_closure.lo \
+-@POWERPC_TRUE@src/powerpc/linux64.lo src/powerpc/linux64_closure.lo
+-@MIPS_LINUX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@MIPS_LINUX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@MIPS_LINUX_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo
+-@SH_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@SH_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
+-@SH_TRUE@src/sh/ffi.lo
+-@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@X86_WIN32_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@X86_WIN32_TRUE@src/java_raw_api.lo src/x86/ffi.lo src/x86/win32.lo
+-@SPARC_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@SPARC_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@SPARC_TRUE@src/java_raw_api.lo src/sparc/ffi.lo src/sparc/v8.lo \
+-@SPARC_TRUE@src/sparc/v9.lo
+-@SH64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@SH64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@SH64_TRUE@src/sh64/sysv.lo src/sh64/ffi.lo
+-@S390_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
+-@MIPS_IRIX_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo \
+-@MIPS_IRIX_TRUE@src/prep_cif.lo src/types.lo src/raw_api.lo \
+-@MIPS_IRIX_TRUE@src/java_raw_api.lo src/mips/ffi.lo src/mips/o32.lo \
+-@MIPS_IRIX_TRUE@src/mips/n32.lo
+-@X86_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@X86_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@X86_TRUE@src/x86/ffi.lo src/x86/sysv.lo
+-@IA64_TRUE@libffi_convenience_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
++@SH_TRUE@libffi_convenience_la_OBJECTS =
++@IA64_TRUE@libffi_convenience_la_OBJECTS =
++@X86_TRUE@libffi_convenience_la_OBJECTS =
++@POWERPC_TRUE@libffi_convenience_la_OBJECTS =
++@MIPS_IRIX_TRUE@libffi_convenience_la_OBJECTS =
++@MIPS_LINUX_TRUE@libffi_convenience_la_OBJECTS =
++@SPARC_TRUE@libffi_convenience_la_OBJECTS =
++@POWERPC_AIX_TRUE@libffi_convenience_la_OBJECTS =
++@ARM_TRUE@libffi_convenience_la_OBJECTS =
++@ALPHA_TRUE@libffi_convenience_la_OBJECTS =
++@M32R_TRUE@libffi_convenience_la_OBJECTS =
++@S390_TRUE@libffi_convenience_la_OBJECTS =
++@PA_TRUE@libffi_convenience_la_OBJECTS =
++@M68K_TRUE@libffi_convenience_la_OBJECTS =
++@SH64_TRUE@libffi_convenience_la_OBJECTS =
++@X86_WIN32_TRUE@libffi_convenience_la_OBJECTS =
++@X86_64_TRUE@libffi_convenience_la_OBJECTS =
++@POWERPC_DARWIN_TRUE@libffi_convenience_la_OBJECTS =
+ libffi_la_LIBADD =
+-@X86_64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@X86_64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@X86_64_TRUE@src/x86/ffi64.lo src/x86/unix64.lo src/x86/ffi.lo \
+-@X86_64_TRUE@src/x86/sysv.lo
+-@M68K_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@M68K_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@M68K_TRUE@src/m68k/ffi.lo src/m68k/sysv.lo
+-@POWERPC_DARWIN_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@POWERPC_DARWIN_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@POWERPC_DARWIN_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/darwin.lo \
+-@POWERPC_DARWIN_TRUE@src/powerpc/darwin_closure.lo
+-@ALPHA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@ALPHA_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@ALPHA_TRUE@src/alpha/ffi.lo src/alpha/osf.lo
+-@ARM_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-@ARM_TRUE@src/raw_api.lo src/java_raw_api.lo src/arm/sysv.lo \
+-@ARM_TRUE@src/arm/ffi.lo
+-@PA_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-@PA_TRUE@src/raw_api.lo src/java_raw_api.lo src/pa/linux.lo \
+-@PA_TRUE@src/pa/ffi.lo
+-@POWERPC_AIX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@POWERPC_AIX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@POWERPC_AIX_TRUE@src/powerpc/ffi_darwin.lo src/powerpc/aix.lo \
+-@POWERPC_AIX_TRUE@src/powerpc/aix_closure.lo
+-@POWERPC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@POWERPC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@POWERPC_TRUE@src/powerpc/ffi.lo src/powerpc/sysv.lo \
+-@POWERPC_TRUE@src/powerpc/ppc_closure.lo src/powerpc/linux64.lo \
+-@POWERPC_TRUE@src/powerpc/linux64_closure.lo
+-@MIPS_LINUX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@MIPS_LINUX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@MIPS_LINUX_TRUE@src/mips/ffi.lo src/mips/o32.lo
+-@SH_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-@SH_TRUE@src/raw_api.lo src/java_raw_api.lo src/sh/sysv.lo \
+-@SH_TRUE@src/sh/ffi.lo
+-@X86_WIN32_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@X86_WIN32_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@X86_WIN32_TRUE@src/x86/ffi.lo src/x86/win32.lo
+-@SPARC_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@SPARC_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@SPARC_TRUE@src/sparc/ffi.lo src/sparc/v8.lo src/sparc/v9.lo
+-@SH64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@SH64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@SH64_TRUE@src/sh64/sysv.lo src/sh64/ffi.lo
+-@S390_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@S390_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@S390_TRUE@src/s390/sysv.lo src/s390/ffi.lo
+-@MIPS_IRIX_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@MIPS_IRIX_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@MIPS_IRIX_TRUE@src/mips/ffi.lo src/mips/o32.lo src/mips/n32.lo
+-@X86_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo src/types.lo \
+-@X86_TRUE@src/raw_api.lo src/java_raw_api.lo src/x86/ffi.lo \
+-@X86_TRUE@src/x86/sysv.lo
+-@IA64_TRUE@libffi_la_OBJECTS = src/debug.lo src/prep_cif.lo \
+-@IA64_TRUE@src/types.lo src/raw_api.lo src/java_raw_api.lo \
+-@IA64_TRUE@src/ia64/ffi.lo src/ia64/unix.lo
++@SH_TRUE@libffi_la_OBJECTS =
++@IA64_TRUE@libffi_la_OBJECTS =
++@X86_TRUE@libffi_la_OBJECTS =
++@POWERPC_TRUE@libffi_la_OBJECTS =
++@MIPS_IRIX_TRUE@libffi_la_OBJECTS =
++@MIPS_LINUX_TRUE@libffi_la_OBJECTS =
++@SPARC_TRUE@libffi_la_OBJECTS =
++@POWERPC_AIX_TRUE@libffi_la_OBJECTS =
++@ARM_TRUE@libffi_la_OBJECTS =
++@ALPHA_TRUE@libffi_la_OBJECTS =
++@M32R_TRUE@libffi_la_OBJECTS =
++@S390_TRUE@libffi_la_OBJECTS =
++@PA_TRUE@libffi_la_OBJECTS =
++@M68K_TRUE@libffi_la_OBJECTS =
++@SH64_TRUE@libffi_la_OBJECTS =
++@X86_WIN32_TRUE@libffi_la_OBJECTS =
++@X86_64_TRUE@libffi_la_OBJECTS =
++@POWERPC_DARWIN_TRUE@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 */
++
++/*@-exportheader@*/
++void ffi_prep_args(char *stack, extended_cif *ecif)
++/*@=exportheader@*/
++{
++ 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;
++}
++
++/*@-declundef@*/
++/*@-exportheader@*/
++extern void ffi_call_SYSV(void (*)(char *, extended_cif *),
++ /*@out@*/ extended_cif *,
++ unsigned, unsigned,
++ /*@out@*/ unsigned *,
++ void (*fn)());
++/*@=declundef@*/
++/*@=exportheader@*/
++
++void ffi_call(/*@dependent@*/ ffi_cif *cif,
++ void (*fn)(),
++ /*@out@*/ void *rvalue,
++ /*@dependent@*/ 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))
++ {
++ /*@-sysunrecog@*/
++ ecif.rvalue = alloca(cif->rtype->size);
++ /*@=sysunrecog@*/
++ }
++ else
++ ecif.rvalue = rvalue;
++
++
++ switch (cif->abi)
++ {
++ case FFI_SYSV:
++ /*@-usedef@*/
++ 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);
++ }
++ }
++ }
++ /*@=usedef@*/
++ 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 <gniibe@fsij.org>
+
+ * 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 <gniibe@fsij.org>
+# 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
Reply to: