--- Begin Message ---
Package: gcc-4.1
Severity: wishlist
Tags: patch
User: debian-arm@lists.debian.org
Usertags: eabi
Please add basic support for arm eabi[1] port. If includes fix for
pr28516, defaulting for armv4t, and disabling java/objc and fortran
for now on eabi.
[1] http://wiki.debian.org/ArmEabiPort
diff -urN gcc-4.1-4.1.1ds2.orig/debian/patches/arm-pr28516.dpatch gcc-4.1-4.1.1ds2/debian/patches/arm-pr28516.dpatch
--- gcc-4.1-4.1.1ds2.orig/debian/patches/arm-pr28516.dpatch 1970-01-01 00:00:00.000000000 +0000
+++ gcc-4.1-4.1.1ds2/debian/patches/arm-pr28516.dpatch 2007-01-12 23:08:24.000000000 +0000
@@ -0,0 +1,43 @@
+#! /bin/sh -e
+
+# DP: Fix PR28516 on ARM
+
+dir=
+if [ $# -eq 3 -a "$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
+
+--- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055
++++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056
+@@ -15415,6 +15415,15 @@
+ /* Move from sp to reg. */
+ asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
+ }
++ else if (GET_CODE (e1) == PLUS
++ && GET_CODE (XEXP (e1, 0)) == REG
++ && REGNO (XEXP (e1, 0)) == SP_REGNUM
++ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
++ {
++ /* Set reg to offset from sp. */
++ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
++ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
++ }
+ else
+ abort ();
+ break;
diff -urN gcc-4.1-4.1.1ds2.orig/debian/patches/arm-unbreak-eabi-armv4t.dpatch gcc-4.1-4.1.1ds2/debian/patches/arm-unbreak-eabi-armv4t.dpatch
--- gcc-4.1-4.1.1ds2.orig/debian/patches/arm-unbreak-eabi-armv4t.dpatch 1970-01-01 00:00:00.000000000 +0000
+++ gcc-4.1-4.1.1ds2/debian/patches/arm-unbreak-eabi-armv4t.dpatch 2007-01-12 23:08:24.000000000 +0000
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+
+# DP: Fix armv4t build on ARM
+
+dir=
+if [ $# -eq 3 -a "$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
+
+diff -urN gcc-4.1.1/gcc/config/arm/linux-eabi.h gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h
+--- gcc-4.1.1/gcc/config/arm/linux-eabi.h 2006-10-22 11:11:49.000000000 -0700
++++ gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h 2006-10-24 21:34:01.000000000 -0700
+@@ -45,7 +45,7 @@
+ The ARM10TDMI core is the default for armv5t, so set
+ SUBTARGET_CPU_DEFAULT to achieve this. */
+ #undef SUBTARGET_CPU_DEFAULT
+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+
+ #undef SUBTARGET_EXTRA_LINK_SPEC
+ #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
diff -urN gcc-4.1-4.1.1ds2.orig/debian/rules.defs gcc-4.1-4.1.1ds2/debian/rules.defs
--- gcc-4.1-4.1.1ds2.orig/debian/rules.defs 2007-01-13 00:34:13.000000000 +0000
+++ gcc-4.1-4.1.1ds2/debian/rules.defs 2007-01-13 00:30:16.000000000 +0000
@@ -288,7 +288,7 @@
with_java := yes
endif
-java_no_cpus := #mips mipsel
+java_no_cpus := armeb armel #mips mipsel
java_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
gcj_native_archs = alpha amd64 i386 ia64 mips mipsel powerpc s390 sparc
@@ -383,7 +383,7 @@
# libffi -------------------
ifeq ($(with_common_libs),yes)
with_libffi := yes
- no_ffi_cpus :=
+ no_ffi_cpus := armeb armel
no_ffi_systems := netbsdelf-gnu
ifneq ($(with_java),yes)
ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(no_ffi_cpus)))
@@ -408,7 +408,7 @@
with_fortran := yes
endif
-f95_no_cpus :=
+f95_no_cpus := armeb armel
ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(f95_no_cpus)))
with_fortran := disabled for architecure $(DEB_TARGET_ARCH_CPU)
endif
@@ -468,7 +468,7 @@
endif
# these CPUs are not yet tested
-pascal_no_cpus := alpha amd64 arm m68k mips mipsel s390
+pascal_no_cpus := alpha amd64 arm armeb armel m68k mips mipsel s390
pascal_no_systems := netbsdelf-gnu
ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(pascal_no_cpus)))
with_pascal := disabled for architecture $(DEB_TARGET_ARCH_CPU)
@@ -503,7 +503,7 @@
with_objc_gc := yes
# disable ObjC garbage collection library (needs libgc)
-libgc_no_cpus := avr alpha amd64 arm armeb hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
+libgc_no_cpus := avr alpha amd64 arm armeb armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
libgc_no_systems := knetbsd-gnu
ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(libgc_no_cpus)))
with_objc_gc := disabled for architecture $(DEB_TARGET_ARCH_CPU)
@@ -517,9 +517,7 @@
with_objc := disabled for cross compiler package
endif
endif
-ifeq (objc, $(findstring objc,$(WITHOUT_LANG)))
with_objc := disabled by environment
-endif
ifneq ($(with_objc),yes)
with_objc_gc := $(with_objc)
@@ -564,7 +562,7 @@
endif
with_libgnat := yes
-ada_no_cpus := arm armeb m32r m68k sh3 sh3eb sh4 sh4eb
+ada_no_cpus := arm armeb armel m32r m68k sh3 sh3eb sh4 sh4eb
ada_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus)))
with_ada := disabled for architecure $(DEB_TARGET_ARCH_CPU)
@@ -662,7 +660,7 @@
ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems)))
with_check := disabled for $(DEB_TARGET_GNU_SYSTEM)
endif
-check_no_cpus := #m68k
+check_no_cpus := armeb armel #m68k
ifeq ($(DEB_TARGET_ARCH_CPU), $(findstring $(DEB_TARGET_ARCH_CPU),$(check_no_cpus)))
with_check := disabled for architecure $(DEB_TARGET_ARCH_CPU)
endif
diff -urN gcc-4.1-4.1.1ds2.orig/debian/rules.patch gcc-4.1-4.1.1ds2/debian/rules.patch
--- gcc-4.1-4.1.1ds2.orig/debian/rules.patch 2007-01-13 00:34:13.000000000 +0000
+++ gcc-4.1-4.1.1ds2/debian/rules.patch 2007-01-12 23:08:25.000000000 +0000
@@ -50,6 +50,8 @@
alpha-no-ev4-directive \
arm-libffi \
arm-gij \
+ arm-pr28516 \
+ arm-unbreak-eabi-armv4t \
hppa-cbranch \
hppa-cbranch2 \
m68k-fjump \
--- End Message ---
--- Begin Message ---
- To: Riku Voipio <riku.voipio@iki.fi>, 408807-done@bugs.debian.org
- Subject: Re: Bug#408807: please add armel/arm eabi support
- From: Matthias Klose <doko@cs.tu-berlin.de>
- Date: Sun, 20 May 2007 12:09:05 +0200
- Message-id: <18000.7745.902406.685233@gargle.gargle.HOWL>
- In-reply-to: <20070128135320.GA6561@kos.to>
- References: <20070128135320.GA6561@kos.to>
rejecting the report; please update and recheck with the current
svn/gcc-4.1_4.1.2-8
Riku Voipio writes:
> Package: gcc-4.1
> Severity: wishlist
> Tags: patch
> User: debian-arm@lists.debian.org
> Usertags: eabi
>
> Please add basic support for arm eabi[1] port. If includes fix for
> pr28516, defaulting for armv4t, and disabling java/objc and fortran
> for now on eabi.
>
> [1] http://wiki.debian.org/ArmEabiPort
>
> diff -urN gcc-4.1-4.1.1ds2.orig/debian/patches/arm-pr28516.dpatch gcc-4.1-4.1.1ds2/debian/patches/arm-pr28516.dpatch
> --- gcc-4.1-4.1.1ds2.orig/debian/patches/arm-pr28516.dpatch 1970-01-01 00:00:00.000000000 +0000
> +++ gcc-4.1-4.1.1ds2/debian/patches/arm-pr28516.dpatch 2007-01-12 23:08:24.000000000 +0000
> @@ -0,0 +1,43 @@
> +#! /bin/sh -e
> +
> +# DP: Fix PR28516 on ARM
> +
> +dir=
> +if [ $# -eq 3 -a "$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
> +
> +--- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055
> ++++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056
> +@@ -15415,6 +15415,15 @@
> + /* Move from sp to reg. */
> + asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
> + }
> ++ else if (GET_CODE (e1) == PLUS
> ++ && GET_CODE (XEXP (e1, 0)) == REG
> ++ && REGNO (XEXP (e1, 0)) == SP_REGNUM
> ++ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
> ++ {
> ++ /* Set reg to offset from sp. */
> ++ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
> ++ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
> ++ }
> + else
> + abort ();
> + break;
> diff -urN gcc-4.1-4.1.1ds2.orig/debian/patches/arm-unbreak-eabi-armv4t.dpatch gcc-4.1-4.1.1ds2/debian/patches/arm-unbreak-eabi-armv4t.dpatch
> --- gcc-4.1-4.1.1ds2.orig/debian/patches/arm-unbreak-eabi-armv4t.dpatch 1970-01-01 00:00:00.000000000 +0000
> +++ gcc-4.1-4.1.1ds2/debian/patches/arm-unbreak-eabi-armv4t.dpatch 2007-01-12 23:08:24.000000000 +0000
> @@ -0,0 +1,37 @@
> +#! /bin/sh -e
> +
> +# DP: Fix armv4t build on ARM
> +
> +dir=
> +if [ $# -eq 3 -a "$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
> +
> +diff -urN gcc-4.1.1/gcc/config/arm/linux-eabi.h gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h
> +--- gcc-4.1.1/gcc/config/arm/linux-eabi.h 2006-10-22 11:11:49.000000000 -0700
> ++++ gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h 2006-10-24 21:34:01.000000000 -0700
> +@@ -45,7 +45,7 @@
> + The ARM10TDMI core is the default for armv5t, so set
> + SUBTARGET_CPU_DEFAULT to achieve this. */
> + #undef SUBTARGET_CPU_DEFAULT
> +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
> ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
> +
> + #undef SUBTARGET_EXTRA_LINK_SPEC
> + #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
> diff -urN gcc-4.1-4.1.1ds2.orig/debian/rules.defs gcc-4.1-4.1.1ds2/debian/rules.defs
> --- gcc-4.1-4.1.1ds2.orig/debian/rules.defs 2007-01-13 00:34:13.000000000 +0000
> +++ gcc-4.1-4.1.1ds2/debian/rules.defs 2007-01-13 00:30:16.000000000 +0000
> @@ -288,7 +288,7 @@
> with_java := yes
> endif
>
> -java_no_cpus := #mips mipsel
> +java_no_cpus := armeb armel #mips mipsel
> java_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
> gcj_native_archs = alpha amd64 i386 ia64 mips mipsel powerpc s390 sparc
>
> @@ -383,7 +383,7 @@
> # libffi -------------------
> ifeq ($(with_common_libs),yes)
> with_libffi := yes
> - no_ffi_cpus :=
> + no_ffi_cpus := armeb armel
> no_ffi_systems := netbsdelf-gnu
> ifneq ($(with_java),yes)
> ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(no_ffi_cpus)))
> @@ -408,7 +408,7 @@
> with_fortran := yes
> endif
>
> -f95_no_cpus :=
> +f95_no_cpus := armeb armel
> ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(f95_no_cpus)))
> with_fortran := disabled for architecure $(DEB_TARGET_ARCH_CPU)
> endif
> @@ -468,7 +468,7 @@
> endif
>
> # these CPUs are not yet tested
> -pascal_no_cpus := alpha amd64 arm m68k mips mipsel s390
> +pascal_no_cpus := alpha amd64 arm armeb armel m68k mips mipsel s390
> pascal_no_systems := netbsdelf-gnu
> ifneq (,$(filter $(DEB_TARGET_ARCH_CPU),$(pascal_no_cpus)))
> with_pascal := disabled for architecture $(DEB_TARGET_ARCH_CPU)
> @@ -503,7 +503,7 @@
> with_objc_gc := yes
>
> # disable ObjC garbage collection library (needs libgc)
> -libgc_no_cpus := avr alpha amd64 arm armeb hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
> +libgc_no_cpus := avr alpha amd64 arm armeb armel hppa i386 ia64 m68k mips mipsel powerpc s390 sparc
> libgc_no_systems := knetbsd-gnu
> ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(libgc_no_cpus)))
> with_objc_gc := disabled for architecture $(DEB_TARGET_ARCH_CPU)
> @@ -517,9 +517,7 @@
> with_objc := disabled for cross compiler package
> endif
> endif
> -ifeq (objc, $(findstring objc,$(WITHOUT_LANG)))
> with_objc := disabled by environment
> -endif
huh? for all archs?
> ifneq ($(with_objc),yes)
> with_objc_gc := $(with_objc)
> @@ -564,7 +562,7 @@
> endif
>
> with_libgnat := yes
> -ada_no_cpus := arm armeb m32r m68k sh3 sh3eb sh4 sh4eb
> +ada_no_cpus := arm armeb armel m32r m68k sh3 sh3eb sh4 sh4eb
> ada_no_systems := hurd-i386 knetbsd-gnu netbsdelf-gnu
> ifneq (, $(filter $(DEB_TARGET_ARCH_CPU),$(ada_no_cpus)))
> with_ada := disabled for architecure $(DEB_TARGET_ARCH_CPU)
> @@ -662,7 +660,7 @@
> ifneq (, $(filter $(DEB_TARGET_GNU_SYSTEM),$(check_no_systems)))
> with_check := disabled for $(DEB_TARGET_GNU_SYSTEM)
> endif
> -check_no_cpus := #m68k
> +check_no_cpus := armeb armel #m68k
> ifeq ($(DEB_TARGET_ARCH_CPU), $(findstring $(DEB_TARGET_ARCH_CPU),$(check_no_cpus)))
> with_check := disabled for architecure $(DEB_TARGET_ARCH_CPU)
> endif
> diff -urN gcc-4.1-4.1.1ds2.orig/debian/rules.patch gcc-4.1-4.1.1ds2/debian/rules.patch
> --- gcc-4.1-4.1.1ds2.orig/debian/rules.patch 2007-01-13 00:34:13.000000000 +0000
> +++ gcc-4.1-4.1.1ds2/debian/rules.patch 2007-01-12 23:08:25.000000000 +0000
> @@ -50,6 +50,8 @@
> alpha-no-ev4-directive \
> arm-libffi \
> arm-gij \
> + arm-pr28516 \
> + arm-unbreak-eabi-armv4t \
> hppa-cbranch \
> hppa-cbranch2 \
> m68k-fjump \
--- End Message ---