changeset 946:b4d06891fe1a

Fix a thumb build problem, and switch to arm-elf-gcc -mthumb rather than thumb-elf-gcc
author bartv
date Tue, 15 Apr 2003 10:14:54 +0000
parents 3b9afa204d69
children cf8d8ca2ed1d
files packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/src/vectors.S packages/hal/arm/cma230/current/ChangeLog packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl packages/hal/arm/integrator/current/ChangeLog packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl packages/hal/arm/pid/current/ChangeLog packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl
diffstat 8 files changed, 38 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog
+++ b/packages/hal/arm/arch/current/ChangeLog
@@ -1,3 +1,7 @@
+2003-04-13  Bart Veer  <bartv@ecoscentric.com>
+
+	* src/vectors.S (start): fix build problem with -mthumb
+
 2003-03-11  Mark Salter  <msalter@redhat.com>
 
 	* src/redboot_linux_exec.c (do_exec): Call eth_drv_stop as necessary.
--- a/packages/hal/arm/arch/current/src/vectors.S
+++ b/packages/hal/arm/arch/current/src/vectors.S
@@ -463,7 +463,8 @@ 2:
         
         // This starts up the eCos kernel
 #ifdef CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK
-        ldr     sp,.__startup_stack
+        ldr     r1,=__startup_stack
+        mov     sp,r1
 #endif        
         bl      cyg_start
 _start_hang:
--- a/packages/hal/arm/cma230/current/ChangeLog
+++ b/packages/hal/arm/cma230/current/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-11  Bart Veer  <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_cma230.cdl: building for thumb now involves
+	arm-elf-gcc -mthumb, not thumb-elf-gcc
+
 2002-08-06  Gary Thomas  <gary@chez-thomas.org>
 2002-08-06  Motoya Kurotsu <kurotsu@allied-telesis.co.jp>	
 
--- a/packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl
+++ b/packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl
@@ -184,7 +184,7 @@ cdl_package CYGPKG_HAL_ARM_CMA230 {
             display "Global command prefix"
             flavor  data
             no_define
-            default_value { CYGHWR_THUMB ? "thumb-elf" : "arm-elf" }
+            default_value { "arm-elf" }
             description "
                 This option specifies the command prefix used when
                 invoking the build tools."
@@ -194,8 +194,9 @@ cdl_package CYGPKG_HAL_ARM_CMA230 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
+            default_value { (CYGHWR_THUMB ? "-mthumb " : "-mcpu=arm7tdmi ") .
+		            (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") .
+		            "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -228,8 +229,9 @@ cdl_package CYGPKG_HAL_ARM_CMA230 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-g -nostdlib -Wl,--gc-sections -Wl,-static -mthumb-interwork" :
-            "-mcpu=arm7tdmi -g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value { (CYGHWR_THUMB ? "-mthumb " : "-mcpu=arm7tdmi ") .
+		            (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") .
+                            "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/integrator/current/ChangeLog
+++ b/packages/hal/arm/integrator/current/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-11  Bart Veer  <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_integrator.cdl: thumb is not supported so the
+	reference to thumb-elf was spurious.
+
 2002-05-27  Jesper Skov  <jskov@redhat.com>
 
 	* cdl/hal_arm_integrator.cdl: Don't run cache tests.
--- a/packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl
+++ b/packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl
@@ -219,7 +219,7 @@ cdl_package CYGPKG_HAL_ARM_INTEGRATOR {
             display "Global command prefix"
             flavor  data
             no_define
-            default_value { CYGHWR_THUMB ? "thumb-elf" : "arm-elf" }
+            default_value { "arm-elf" }
             description "
                 This option specifies the command prefix used when
                 invoking the build tools."
--- a/packages/hal/arm/pid/current/ChangeLog
+++ b/packages/hal/arm/pid/current/ChangeLog
@@ -1,3 +1,8 @@
+2003-04-11  Bart Veer  <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_pid.cdl: building for thumb now involves arm-elf-gcc
+	-mthumb, not thumb-elf-gcc
+
 2003-02-05  Nick Garnett  <nickg@calivar.com>
 
 	* include/plf_io.h (CYGARC_PHYSICAL_ADDRESS): Added this
--- a/packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl
+++ b/packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl
@@ -218,7 +218,7 @@ cdl_package CYGPKG_HAL_ARM_PID {
             display "Global command prefix"
             flavor  data
             no_define
-            default_value { CYGHWR_THUMB ? "thumb-elf" : "arm-elf" }
+            default_value { "arm-elf" }
             description "
                 This option specifies the command prefix used when
                 invoking the build tools."
@@ -228,12 +228,10 @@ cdl_package CYGPKG_HAL_ARM_PID {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGBLD_ARM_ENABLE_THUMB_INTERWORK && CYGHWR_HAL_ARM_BIGENDIAN) ? "-mthumb-interwork -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") && CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm9 -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") && ! CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY != "ARM9") && CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" :
-            "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
+	    default_value { (CYGHWR_THUMB ? "-mthumb " : ((CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") ? "-mcpu=arm9 " : "-mcpu=arm7tdmi ")) .
+		            (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") .
+		            (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") .
+		            "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default.
@@ -245,12 +243,10 @@ cdl_package CYGPKG_HAL_ARM_PID {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { ((CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) && CYGHWR_HAL_ARM_BIGENDIAN) ? "-mthumb-interwork -mbig-endian -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-            (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) ? "-mthumb-interwork -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") && CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm9 -mbig-endian -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") && ! CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm9 -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-            (CYGHWR_HAL_ARM_CPU_FAMILY != "ARM9") && CYGHWR_HAL_ARM_BIGENDIAN ? "-mcpu=arm7tdmi -mbig-endian -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-            "-mcpu=arm7tdmi -g -nostdlib -Wl,--gc-sections -Wl,-static" }
+	    default_value { (CYGHWR_THUMB ? "-mthumb " : ((CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9") ? "-mcpu=arm9 " : "-mcpu=arm7tdmi ")) .
+		            ((CYGBLD_ARM_ENABLE_THUMB_INTERWORK || CYGSEM_HAL_ROM_MONITOR) ? "-mthumb-interwork " : "") .
+		            (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") .
+		            "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."