Index: Rules.make =================================================================== RCS file: /var/cvs/uClinux-2.4.x/Rules.make,v retrieving revision 1.3 diff -u -3 -p -r1.3 Rules.make --- Rules.make 2001/05/01 00:14:42 1.3 +++ Rules.make 2002/08/07 12:43:01 @@ -93,7 +93,7 @@ ifdef O_TARGET $(O_TARGET): $(obj-y) rm -f $@ ifneq "$(strip $(obj-y))" "" - $(LD) $(EXTRA_LDFLAGS) -r -o $@ $(filter $(obj-y), $^) + $(LD) $(LDFLAGS) $(EXTRA_LDFLAGS) -r -o $@ $(filter $(obj-y), $^) else $(AR) rcs $@ endif Index: Documentation/Configure.help =================================================================== RCS file: /var/cvs/uClinux-2.4.x/Documentation/Configure.help,v retrieving revision 1.11 diff -u -3 -p -r1.11 Configure.help --- Documentation/Configure.help 2002/04/11 01:31:39 1.11 +++ Documentation/Configure.help 2002/08/07 12:43:06 @@ -2247,6 +2247,13 @@ CONFIG_CPU_LITTLE_ENDIAN byte order. These modes require different kernels. Say Y if your machine is little endian, N if it's a big endian machine. +Generate big endian code +CONFIG_CPU_BIG_ENDIAN + Some ARM machines can be configured for either little or big endian + byte order. These modes require different kernels. Say Y if your + machine is big endian (like the ARM7TDMI based S3C3410x from + Samsung), N if it's a little endian machine. + Use power LED as a heartbeat CONFIG_HEARTBEAT Use the power-on LED on your machine as a load meter. The exact Index: arch/armnommu/Makefile =================================================================== RCS file: /var/cvs/uClinux-2.4.x/arch/armnommu/Makefile,v retrieving revision 1.10 diff -u -3 -p -r1.10 Makefile --- arch/armnommu/Makefile 2002/04/11 01:31:40 1.10 +++ arch/armnommu/Makefile 2002/08/07 12:43:06 @@ -46,6 +46,13 @@ tune-$(CONFIG_CPU_ARM920T) :=-mtune=arm9 tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110 tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100 +ifeq ($(CONFIG_CPU_BIG_ENDIAN),y) +CFLAGS += -mbig-endian +AFLAGS += -mbig-endian +LINKFLAGS += -EB +LDFLAGS += -EB +endif + CFLAGS += $(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float AFLAGS += $(apcs-y) $(proc-y) -msoft-float -mno-fpu @@ -157,11 +164,11 @@ TEXTADDR = 0x00008000 endif ifeq ($(CONFIG_ARCH_SAMSUNG),y) -TEXTADDR = 0x00008000 -MACHINE = samsung +TEXTADDR = 0x00008000 +MACHINE = samsung endif -export LIBGCC MACHINE PROCESSOR TEXTADDR GZFLAGS +export LDFLAGS LIBGCC MACHINE PROCESSOR TEXTADDR GZFLAGS # Only set INCDIR if its not already defined above # Grr, ?= doesn't work as all the other assignment operators do. Make bug? Index: arch/armnommu/config.in =================================================================== RCS file: /var/cvs/uClinux-2.4.x/arch/armnommu/config.in,v retrieving revision 1.16 diff -u -3 -p -r1.16 config.in --- arch/armnommu/config.in 2002/05/14 06:57:25 1.16 +++ arch/armnommu/config.in 2002/08/07 12:43:06 @@ -48,6 +48,8 @@ choice 'ARM system type' \ Samsung CONFIG_ARCH_SAMSUNG \ Atmel CONFIG_ARCH_ATMEL" TI-DSC21 +bool 'Generate big endian code' CONFIG_CPU_BIG_ENDIAN + if [ "$CONFIG_ARCH_CNXT" = "y" ]; then choice ' Conexant/Mindspeed architecture' \ " P52xxCtrl CONFIG_ARCH_P52 \