ARM arch update.
authorPanu Matilainen <pmatilai@redhat.com>
Thu, 21 Jun 2007 12:13:04 +0000 (15:13 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Thu, 21 Jun 2007 12:13:04 +0000 (15:13 +0300)
Adds more ARM sub-archs, and adds some bits to deal properly with the new
ARM ABI (EABI). Patch from  Lennert Buytenhek.

Makefile.am
configure.ac
installplatform
lib/rpmts.c
macros.in
rpmrc.in

index c9d89b6..af0efe7 100644 (file)
@@ -159,6 +159,12 @@ install-data-local:
                $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/athlon ;;\
        alpha*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alpha ;\
                $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/alphaev6 ;;\
+       arm*)   $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv3l ;\
+               $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4l ;\
+               $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv4tl ;\
+               $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tel ;\
+               $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv5tejl ;\
+               $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/armv6l ;;\
        sparc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparc ;\
                $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv8 ;\
                $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/sparcv9 ;\
index d00484f..45cadff 100644 (file)
@@ -1134,6 +1134,9 @@ fi
 if echo "$build_os" | grep '.*-gnulibc1' > /dev/null ; then
        build_os=`echo "${build_os}" | sed 's/-gnulibc1$//'`
 fi
+if echo "$build_os" | grep '.*-gnueabi' > /dev/null ; then
+       build_os=`echo "${build_os}" | sed 's/-gnueabi$//'`
+fi
 if echo "$build_os" | grep '.*-gnu' > /dev/null ; then
        build_os=`echo "${build_os}" | sed 's/-gnu$//'`
 fi
@@ -1205,10 +1208,7 @@ s390x*)          RPMCANONCOLOR=3; RPMCANONARCH=s390x ;;
 s390*)         RPMCANONCOLOR=0; RPMCANONARCH=s390 ;;
 powerpc64*|ppc64*)     RPMCANONCOLOR=3; RPMCANONARCH=ppc64 ;;
 powerpc*|ppc*) RPMCANONCOLOR=0; RPMCANONARCH=ppc ;;
-armv3l*)       RPMCANONCOLOR=0; RPMCANONARCH=armv3l ;;
-armv4l*)       RPMCANONCOLOR=0; RPMCANONARCH=armv4l ;;
-armv4b*)       RPMCANONCOLOR=0; RPMCANONARCH=armv4b ;;
-arm*)          RPMCANONCOLOR=0; RPMCANONARCH="${build_cpu}" ;;
+arm*)          RPMCANONCOLOR=0; RPMCANONARCH=arm ;;
 mipsel*)       RPMCANONCOLOR=0; RPMCANONARCH=mipsel ;;
 mips*)         RPMCANONCOLOR=0; RPMCANONARCH=mips ;;
 m68k*)         RPMCANONCOLOR=0; RPMCANONARCH=m68k ;;
index d7647dd..4298aff 100755 (executable)
@@ -21,7 +21,7 @@ E_O_F
 
 RPM="./rpm --rcfile $TEMPRC"
 
-canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_\(powerpc\|ppc\)[^-]*_ppc_'
+canonarch_sed='s_i.86_i386_;s_pentium[34]_i386_;s_athlon_i386_;s_sparc[^-]*_sparc_;s_alpha[^-]*_alpha_;s_arm[^-]*_arm_;s_\(powerpc\|ppc\)[^-]*_ppc_'
 arch="`$RPM --eval '%{_arch}'|sed -e "$canonarch_sed"`"
 VENDOR="`$RPM --eval '%{_vendor}'`"
 OS="`$RPM --eval '%{_os}'`"
@@ -32,6 +32,7 @@ target="`$RPM --eval '%{_target}'|sed -e "$canonarch_sed"`"
 case "$arch" in
   i[3456]86|pentium[34]|athlon) SUBSTS='s_i386_i386_ s_i386_i486_ s_i386_i586_ s_i386_i686_ s_i386_pentium3_ s_i386_pentium4_ s_i386_athlon_' ;;
   alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
+  arm*) SUBSTS='s_arm_armv3l_ s_arm_arm4l_ s_arm_armv4tl_ s_arm_armv5tel_ s_arm_armv5tejl_ s_arm_armv6l_' ;;
   sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
   powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
   s390*) SUBSTS='s_s390x_s390_ s_s390\([^x]\|$\)_s390x\1_' ;;
index ef26613..32f83e5 100644 (file)
@@ -236,7 +236,7 @@ static int isArch(const char * arch)
        "m68k",
        "rs6000",
        "ia64",
-       "armv3l", "armv4b", "armv4l",
+       "armv3l", "armv4b", "armv4l", "armv4tl", "armv5tel", "armv5tejl", "armv6l",
        "s390", "i370", "s390x",
        "sh", "xtensa",
        "noarch",
index 867a328..ba401c6 100644 (file)
--- a/macros.in
+++ b/macros.in
@@ -1190,6 +1190,10 @@ done \
 #
 %ix86   i386 i486 i586 i686 pentium3 pentium4 athlon
 
+#------------------------------------------------------------------------------
+# arch macro for all supported ARM processors
+%arm   armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l
+
 #------------------------------------------------------------------------
 # Use in %install to generate locale specific file lists. For example,
 #
index 98a4f08..82f2918 100644 (file)
--- a/rpmrc.in
+++ b/rpmrc.in
@@ -58,9 +58,13 @@ optflags: hppa2.0 -O2 -g -mpa-risc-1-0
 optflags: mips -O2 -g
 optflags: mipsel -O2 -g
 
-optflags: armv3l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv3
-optflags: armv4b -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
-optflags: armv4l -O2 -g -fsigned-char -fomit-frame-pointer -march=armv4
+optflags: armv3l -O2 -g -march=armv3
+optflags: armv4b -O2 -g -march=armv4
+optflags: armv4l -O2 -g -march=armv4
+optflags: armv4tl -O2 -g -march=armv4t
+optflags: armv5tel -O2 -g -march=armv5te
+optflags: armv5tejl -O2 -g -march=armv5te
+optflags: armv6l -O2 -g -march=armv6
 
 optflags: atarist -O2 -g -fomit-frame-pointer
 optflags: atariste -O2 -g -fomit-frame-pointer
@@ -124,6 +128,9 @@ arch_canon: mipsel: mipsel  11
 arch_canon:    armv3l: armv3l  12
 arch_canon:     armv4b:        armv4b  12
 arch_canon:     armv4l:        armv4l  12
+arch_canon:     armv5tel: armv5tel     12
+arch_canon:     armv5tejl: armv5tejl   12
+arch_canon:     armv6l: armv6l         12
 
 arch_canon:    m68kmint: m68kmint      13
 arch_canon:    atarist: m68kmint       13
@@ -218,6 +225,14 @@ buildarchtranslate: ppcpseries: ppc
 buildarchtranslate: ppc64iseries: ppc64
 buildarchtranslate: ppc64pseries: ppc64
 
+buildarchtranslate: armv3l: armv3l
+buildarchtranslate: armv4b: armv4b
+buildarchtranslate: armv4l: armv4l
+buildarchtranslate: armv4tl: armv4tl
+buildarchtranslate: armv5tel: armv5tel
+buildarchtranslate: armv5tejl: armv4tejl
+buildarchtranslate: armv6l: armv6l
+
 buildarchtranslate: atarist: m68kmint
 buildarchtranslate: atariste: m68kmint
 buildarchtranslate: ataritt: m68kmint
@@ -291,6 +306,10 @@ arch_compat: hppa1.0: parisc
 arch_compat: parisc: noarch
 
 arch_compat: armv4b: noarch
+arch_compat: armv6l: armv5tejl
+arch_compat: armv5tejl: armv5tel
+arch_compat: armv5tel: armv4tl
+arch_compat: armv4tl: armv4l
 arch_compat: armv4l: armv3l
 arch_compat: armv3l: noarch
 
@@ -381,9 +400,13 @@ buildarch_compat: ppc64iseries: ppc64
 buildarch_compat: mips: noarch
 buildarch_compat: mipsel: noarch
 
-buildarch_compat: armv3l: noarch
 buildarch_compat: armv4b: noarch
-buildarch_compat: armv4l: noarch
+buildarch_compat: armv6l: armv5tejl
+buildarch_compat: armv5tejl: armv5tel
+buildarch_compat: armv5tel: armv4tl
+buildarch_compat: armv4tl: armv4l
+buildarch_compat: armv4l: armv3l
+buildarch_compat: armv3l: noarch
 
 buildarch_compat: hppa2.0: hppa1.2
 buildarch_compat: hppa1.2: hppa1.1