Package: apex
Version: 3.7.2
Severity: normal
Tags: patch
Usertags: armel

To build apex on a system of the armel architecture, which is a
prerequisite for building debian-installer for armel, some trivial
architecture name changes are needed. apex also needs to link with
libgcc.a on armel, unlike on arm, for the __aeabi_uidiv symbol. I've
hacked in some ugly Makefile code to do that; there's probably a better
way, but this builds.

(I haven't tested yet if it boots..)

-- 
see shy jo
Binary files old/apex-1.4.7/.Makefile.swp and apex-1.4.7/.Makefile.swp differ
diff -ur --new-file old/apex-1.4.7/Makefile apex-1.4.7/Makefile
--- old/apex-1.4.7/Makefile	2006-10-22 20:53:06.000000000 +0000
+++ apex-1.4.7/Makefile	2007-01-25 21:02:55.000000000 +0000
@@ -641,6 +641,11 @@
 apex-all  := $(apex-init) $(apex-main)
 apex-lds  := src/arch-$(ARCH)/entry/apex.lds
 
+ifeq "$(shell dpkg-architecture -qDEB_BUILD_ARCH)" "armel"
+# On armel, apex needs to link to libcc.
+apex-main := $(apex-main) $(shell gcc -print-libgcc-file-name)
+endif
+
 # Rule to link apex - also used during CONFIG_KALLSYMS
 # May be overridden by arch/$(ARCH)/Makefile
 quiet_cmd_apex__ ?= LD      $@
diff -ur --new-file old/apex-1.4.7/debian/control apex-1.4.7/debian/control
--- old/apex-1.4.7/debian/control	2006-08-15 00:09:52.000000000 +0000
+++ apex-1.4.7/debian/control	2007-01-25 19:00:11.000000000 +0000
@@ -6,7 +6,7 @@
 Build-Depends: perl
 
 Package: apex-nslu2
-Architecture: arm armeb
+Architecture: arm armeb armel
 Depends:
 Description: APEX Boot Loader for Linksys NSLU2 
  The APEX Boot Loader is a modular and retargetable firmware loader
diff -ur --new-file old/apex-1.4.7/debian/rules apex-1.4.7/debian/rules
--- old/apex-1.4.7/debian/rules	2006-08-12 18:33:45.000000000 +0000
+++ apex-1.4.7/debian/rules	2007-01-25 20:25:54.000000000 +0000
@@ -21,6 +21,9 @@
 ifeq (arm,$(DEB_BUILD_ARCH))
  ENDIAN:=l
 endif
+ifeq (armel,$(DEB_BUILD_ARCH))
+ ENDIAN:=l
+endif
 ifeq (armeb,$(DEB_BUILD_ARCH))
  ENDIAN:=b
 endif
Binary files old/apex-1.4.7/src/lib/.env.c.swp and apex-1.4.7/src/lib/.env.c.swp differ
diff -ur --new-file old/apex-1.4.7/src/mach-ixp42x/debian-nslu2-armel_config apex-1.4.7/src/mach-ixp42x/debian-nslu2-armel_config
--- old/apex-1.4.7/src/mach-ixp42x/debian-nslu2-armel_config	1970-01-01 00:00:00.000000000 +0000
+++ apex-1.4.7/src/mach-ixp42x/debian-nslu2-armel_config	2007-01-25 19:03:15.000000000 +0000
@@ -0,0 +1,129 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 
+# Sun Oct 22 14:17:09 2006
+#
+CONFIG_ARM=y
+CONFIG_CPU_ARMV5=y
+CONFIG_CPU_XSCALE=y
+# CONFIG_ARCH_LH7952X is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_IXP42X=y
+# CONFIG_ARCH_S3C2410 is not set
+CONFIG_EXPERIMENTAL=y
+# CONFIG_SMALL is not set
+
+#
+# General Setup
+#
+CONFIG_CROSS_COMPILE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
+# CONFIG_CC_NO_OPTIMIZATION is not set
+CONFIG_STARTUP_UART=y
+# CONFIG_DEBUG_LL is not set
+CONFIG_SPINNER=y
+CONFIG_ATAG=y
+CONFIG_MMU=y
+# CONFIG_FORCE_WRITETHROUGH_DCACHE is not set
+CONFIG_DISABLE_MMU_AT_BOOT=y
+# CONFIG_INTERRUPTS is not set
+CONFIG_SDRAMBOOT_REPORT=y
+CONFIG_STACK_SIZE=0x1000
+CONFIG_STACKLIMIT=y
+CONFIG_ATAG_PHYS=0x00000100
+CONFIG_ARCH_NUMBER=597
+CONFIG_APEX_VMA=0x00200000
+CONFIG_KERNEL_LMA=0x00008000
+CONFIG_USE_RAMDISK=y
+CONFIG_RAMDISK_LMA=0x01000000
+CONFIG_SDRAM_BANK0=y
+# CONFIG_SDRAM_BANK1 is not set
+CONFIG_NOR_BUSWIDTH=16
+CONFIG_NOR_BANK0=y
+CONFIG_NOR_BANK0_START=0x50000000
+CONFIG_NOR_BANK0_LENGTH=0x00800000
+CONFIG_ENV_STARTUP=""
+CONFIG_MACH="ixp42x"
+CONFIG_RAMDISK_SIZE=0x00400000
+CONFIG_MACH_NSLU2=y
+# CONFIG_MACH_AVILA2347 is not set
+# CONFIG_USER_DEFAULTENDIAN is not set
+# CONFIG_USER_BIGENDIAN is not set
+CONFIG_USER_LITTLEENDIAN=y
+
+#
+# Platform Setup
+#
+CONFIG_SDRAM_BANK_LENGTH=0x02000000
+# CONFIG_DISABLE_SECOND_UART_INIT is not set
+CONFIG_ARCH_IXP420=y
+
+#
+# Commands
+#
+CONFIG_ALLHELP=y
+CONFIG_ALPHABETIZE_COMMANDS=y
+CONFIG_DEL_IS_BS=y
+CONFIG_ANSI_KEYS=y
+CONFIG_COMMAND_HISTORY=y
+CONFIG_COMMAND_EDITING=y
+CONFIG_CMD_ALIAS=y
+CONFIG_CMD_CHECKSUM=y
+CONFIG_CMD_COPY=y
+CONFIG_CMD_COMPARE=y
+CONFIG_CMD_DRVINFO=y
+CONFIG_CMD_DUMP=y
+CONFIG_CMD_ENV=y
+# CONFIG_CMD_ERASEENV is not set
+CONFIG_CMD_SETENV=y
+CONFIG_CMD_ERASE=y
+CONFIG_CMD_FILL=y
+CONFIG_CMD_GO=y
+CONFIG_CMD_INFO=y
+# CONFIG_CMD_PAUSE is not set
+CONFIG_CMD_WAIT=y
+CONFIG_CMD_XRECEIVE=y
+# CONFIG_CMD_MEMLIMIT is not set
+
+#
+# Generic Drivers
+#
+# CONFIG_DRIVER_FAT is not set
+# CONFIG_DRIVER_EXT2 is not set
+# CONFIG_DRIVER_JFFS2 is not set
+CONFIG_DRIVER_FIS=y
+CONFIG_DRIVER_FIS_BLOCKDEVICE="nor:0x7e0000+4k"
+CONFIG_DRIVER_NOR_CFI=y
+# CONFIG_DRIVER_NOR_CFI_NO_BUFFERED is not set
+CONFIG_USES_NOR_CFI=y
+CONFIG_USES_PATHNAME_PARSER=y
+
+#
+# Environment
+#
+CONFIG_ENV=y
+# CONFIG_NO_BOOTSTRAP is not set
+CONFIG_NOR_BOOT=y
+# CONFIG_NAND_BOOT is not set
+# CONFIG_COMPANION_EVT1_BOOT is not set
+# CONFIG_COMPANION_EVT2_BOOT is not set
+CONFIG_AUTOBOOT=y
+CONFIG_AUTOBOOT_DELAY=10
+CONFIG_ENV_MUTABLE=y
+CONFIG_ENV_LINK=y
+CONFIG_ENV_REGION="nor:0x7c000+15k"
+CONFIG_ENV_CHECK_LEN=1024
+CONFIG_ENV_STARTUP_KERNEL_COPY=y
+CONFIG_ENV_REGION_KERNEL="fis://kernel"
+CONFIG_ENV_REGION_KERNEL_SWAP=y
+CONFIG_ENV_STARTUP_RAMDISK_COPY=y
+CONFIG_ENV_REGION_RAMDISK="fis://ramdisk"
+CONFIG_ENV_REGION_RAMDISK_SWAP=y
+CONFIG_ENV_DEFAULT_CMDLINE_OVERRIDE=y
+CONFIG_ENV_DEFAULT_CMDLINE="console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug"
+# CONFIG_ENV_DEFAULT_STARTUP_OVERRIDE is not set
+CONFIG_USES_NOR_BOOTFLASH=y
+CONFIG_LITTLEENDIAN=y
+CONFIG_CLEAR_STACKS=y
+CONFIG_ALIASES=y

Attachment: signature.asc
Description: Digital signature

Reply via email to