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


Reply via email to