changeset 2749:82f1df43f011

Update compiler flags
author bartv
date Mon, 02 Feb 2009 19:16:08 +0000
parents 644d2e82078f
children 3b9ce76ce56c
files packages/hal/arm/aeb/current/ChangeLog packages/hal/arm/aeb/current/cdl/hal_arm_aeb.cdl packages/hal/arm/aim711/current/ChangeLog packages/hal/arm/aim711/current/cdl/hal_arm_aim711.cdl packages/hal/arm/arm9/aaed2000/current/ChangeLog packages/hal/arm/arm9/aaed2000/current/cdl/hal_arm_arm9_aaed2000.cdl packages/hal/arm/arm9/excalibur/current/ChangeLog packages/hal/arm/arm9/excalibur/current/cdl/hal_arm_arm9_excalibur.cdl packages/hal/arm/arm9/innovator/current/ChangeLog packages/hal/arm/arm9/innovator/current/cdl/hal_arm_arm9_innovator.cdl packages/hal/arm/arm9/smdk2410/current/ChangeLog packages/hal/arm/arm9/smdk2410/current/cdl/hal_arm_arm9_smdk2410.cdl packages/hal/arm/at91/at91sam7s/current/ChangeLog packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl packages/hal/arm/at91/eb40/current/ChangeLog packages/hal/arm/at91/eb40/current/cdl/hal_arm_at91_eb40.cdl packages/hal/arm/at91/eb40a/current/ChangeLog packages/hal/arm/at91/eb40a/current/cdl/hal_arm_at91_eb40a.cdl packages/hal/arm/at91/eb42/current/ChangeLog packages/hal/arm/at91/eb42/current/cdl/hal_arm_at91_eb42.cdl packages/hal/arm/at91/eb55/current/ChangeLog packages/hal/arm/at91/eb55/current/cdl/hal_arm_at91_eb55.cdl packages/hal/arm/at91/jtst/current/ChangeLog packages/hal/arm/at91/jtst/current/cdl/hal_arm_at91_jtst.cdl packages/hal/arm/at91/phycore/current/ChangeLog packages/hal/arm/at91/phycore/current/cdl/hal_arm_at91_phycore.cdl packages/hal/arm/cma230/current/ChangeLog packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl packages/hal/arm/e7t/current/ChangeLog packages/hal/arm/e7t/current/cdl/hal_arm_e7t.cdl packages/hal/arm/ebsa285/current/ChangeLog packages/hal/arm/ebsa285/current/cdl/hal_arm_ebsa285.cdl packages/hal/arm/edb7xxx/current/ChangeLog packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl packages/hal/arm/gps4020/current/ChangeLog packages/hal/arm/gps4020/current/cdl/hal_arm_gps4020.cdl packages/hal/arm/integrator/current/ChangeLog packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl packages/hal/arm/lpc24xx/ea2468/current/ChangeLog packages/hal/arm/lpc24xx/ea2468/current/cdl/hal_arm_lpc24xx_ea2468.cdl packages/hal/arm/lpc2xxx/lpcmt/current/ChangeLog packages/hal/arm/lpc2xxx/lpcmt/current/cdl/hal_arm_lpc2xxx_lpcmt.cdl packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl packages/hal/arm/lpc2xxx/olpce2294/current/ChangeLog packages/hal/arm/lpc2xxx/olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl packages/hal/arm/lpc2xxx/olpch2294/current/ChangeLog packages/hal/arm/lpc2xxx/olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl packages/hal/arm/lpc2xxx/olpcl2294/current/ChangeLog packages/hal/arm/lpc2xxx/olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl packages/hal/arm/lpc2xxx/p2106/current/ChangeLog packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl packages/hal/arm/lpc2xxx/phycore229x/current/ChangeLog packages/hal/arm/lpc2xxx/phycore229x/current/cdl/hal_arm_lpc2xxx_phycore229x.cdl packages/hal/arm/mac7100/mac7100evb/current/ChangeLog packages/hal/arm/mac7100/mac7100evb/current/cdl/hal_arm_mac7100_mac7100evb.cdl packages/hal/arm/mac7100/mace1/current/ChangeLog packages/hal/arm/mac7100/mace1/current/cdl/hal_arm_mac7100_mace1.cdl packages/hal/arm/pid/current/ChangeLog packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl packages/hal/arm/sa11x0/assabet/current/ChangeLog packages/hal/arm/sa11x0/assabet/current/cdl/hal_arm_sa11x0_assabet.cdl packages/hal/arm/sa11x0/brutus/current/ChangeLog packages/hal/arm/sa11x0/brutus/current/cdl/hal_arm_sa11x0_brutus.cdl packages/hal/arm/sa11x0/cerf/current/ChangeLog packages/hal/arm/sa11x0/cerf/current/cdl/hal_arm_sa11x0_cerf.cdl packages/hal/arm/sa11x0/cerfpda/current/ChangeLog packages/hal/arm/sa11x0/cerfpda/current/cdl/hal_arm_sa11x0_cerfpda.cdl packages/hal/arm/sa11x0/flexanet/current/ChangeLog packages/hal/arm/sa11x0/flexanet/current/cdl/hal_arm_sa11x0_flexanet.cdl packages/hal/arm/sa11x0/ipaq/current/ChangeLog packages/hal/arm/sa11x0/ipaq/current/cdl/hal_arm_sa11x0_ipaq.cdl packages/hal/arm/sa11x0/nano/current/ChangeLog packages/hal/arm/sa11x0/nano/current/cdl/hal_arm_sa11x0_nano.cdl packages/hal/arm/sa11x0/sa1100mm/current/ChangeLog packages/hal/arm/sa11x0/sa1100mm/current/cdl/hal_arm_sa11x0_sa1100mm.cdl packages/hal/arm/snds/current/ChangeLog packages/hal/arm/snds/current/cdl/hal_arm_snds.cdl packages/hal/arm/xscale/grg/current/ChangeLog packages/hal/arm/xscale/grg/current/cdl/hal_arm_xscale_grg.cdl packages/hal/arm/xscale/iop310/current/ChangeLog packages/hal/arm/xscale/iop310/current/cdl/hal_arm_xscale_iop310.cdl packages/hal/arm/xscale/iq80321/current/ChangeLog packages/hal/arm/xscale/iq80321/current/cdl/hal_arm_xscale_iq80321.cdl packages/hal/arm/xscale/ixdp425/current/ChangeLog packages/hal/arm/xscale/ixdp425/current/cdl/hal_arm_xscale_ixdp425.cdl packages/hal/arm/xscale/mpc50/current/ChangeLog packages/hal/arm/xscale/mpc50/current/cdl/hal_arm_xscale_mpc50.cdl packages/hal/arm/xscale/picasso/current/ChangeLog packages/hal/arm/xscale/picasso/current/cdl/hal_arm_xscale_picasso.cdl packages/hal/arm/xscale/prpmc1100/current/ChangeLog packages/hal/arm/xscale/prpmc1100/current/cdl/hal_arm_xscale_prpmc1100.cdl packages/hal/arm/xscale/uE250/current/ChangeLog packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl packages/hal/arm/xscale/xsengine/current/ChangeLog packages/hal/arm/xscale/xsengine/current/cdl/hal_arm_xscale_xsengine.cdl
diffstat 96 files changed, 356 insertions(+), 146 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/arm/aeb/current/ChangeLog
+++ b/packages/hal/arm/aeb/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_aeb.cdl: update compiler flags for recent gcc
+
 2009-01-08  John Dallaway  <john@dallaway.org.uk>
 
 	* src/flash_cksum.tcl: Specify script interpreter via /usr/bin/env.
--- a/packages/hal/arm/aeb/current/cdl/hal_arm_aeb.cdl
+++ b/packages/hal/arm/aeb/current/cdl/hal_arm_aeb.cdl
@@ -177,7 +177,8 @@ cdl_package CYGPKG_HAL_ARM_AEB {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=arm7di -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                "-mcpu=arm7di -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -188,7 +189,7 @@ cdl_package CYGPKG_HAL_ARM_AEB {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=arm7di -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7di -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/aim711/current/ChangeLog
+++ b/packages/hal/arm/aim711/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_aim711.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_aim711.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/aim711/current/cdl/hal_arm_aim711.cdl
+++ b/packages/hal/arm/aim711/current/cdl/hal_arm_aim711.cdl
@@ -215,10 +215,8 @@ cdl_package CYGPKG_HAL_ARM_AIM711 {
             flavor  data
             no_define
 
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "-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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -229,10 +227,7 @@ cdl_package CYGPKG_HAL_ARM_AIM711 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "-mcpu=arm7tdmi ") .
-                            (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") .
-                            (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") .
-                            "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -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/arm9/aaed2000/current/ChangeLog
+++ b/packages/hal/arm/arm9/aaed2000/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_arm9_aaed2000.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_arm9_aaed2000.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/arm9/aaed2000/current/cdl/hal_arm_arm9_aaed2000.cdl
+++ b/packages/hal/arm/arm9/aaed2000/current/cdl/hal_arm_arm9_aaed2000.cdl
@@ -351,7 +351,8 @@ cdl_package CYGPKG_HAL_ARM_ARM9_AAED2000
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                "-mcpu=arm9 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -362,7 +363,7 @@ cdl_package CYGPKG_HAL_ARM_ARM9_AAED2000
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm9 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/arm9/excalibur/current/ChangeLog
+++ b/packages/hal/arm/arm9/excalibur/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_arm9_excalibur.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_arm9_excalibur.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/arm9/excalibur/current/cdl/hal_arm_arm9_excalibur.cdl
+++ b/packages/hal/arm/arm9/excalibur/current/cdl/hal_arm_arm9_excalibur.cdl
@@ -236,7 +236,8 @@ cdl_package CYGPKG_HAL_ARM_ARM9_EXCALIBU
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm9 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -247,7 +248,7 @@ cdl_package CYGPKG_HAL_ARM_ARM9_EXCALIBU
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "--no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm9 --no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/arm9/innovator/current/ChangeLog
+++ b/packages/hal/arm/arm9/innovator/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_arm9_innovator.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_arm9_innovator.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/arm9/innovator/current/cdl/hal_arm_arm9_innovator.cdl
+++ b/packages/hal/arm/arm9/innovator/current/cdl/hal_arm_arm9_innovator.cdl
@@ -246,7 +246,8 @@ cdl_package CYGPKG_HAL_ARM_ARM9_INNOVATO
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm9 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -257,7 +258,7 @@ cdl_package CYGPKG_HAL_ARM_ARM9_INNOVATO
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "--no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm9 --no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/arm9/smdk2410/current/ChangeLog
+++ b/packages/hal/arm/arm9/smdk2410/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_arm9_smdk2410.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_arm9_smdk2410.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/arm9/smdk2410/current/cdl/hal_arm_arm9_smdk2410.cdl
+++ b/packages/hal/arm/arm9/smdk2410/current/cdl/hal_arm_arm9_smdk2410.cdl
@@ -236,7 +236,8 @@ cdl_package CYGPKG_HAL_ARM_ARM9_SMDK2410
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm9 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -247,7 +248,7 @@ cdl_package CYGPKG_HAL_ARM_ARM9_SMDK2410
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "--no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm9 --no-target-default-spec -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/at91sam7s/current/ChangeLog
+++ b/packages/hal/arm/at91/at91sam7s/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91sam7s.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91sam7s.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl
+++ b/packages/hal/arm/at91/at91sam7s/current/cdl/hal_arm_at91sam7s.cdl
@@ -468,7 +468,8 @@ cdl_package CYGPKG_HAL_ARM_AT91SAM7 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -479,7 +480,7 @@ cdl_package CYGPKG_HAL_ARM_AT91SAM7 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/eb40/current/ChangeLog
+++ b/packages/hal/arm/at91/eb40/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_eb40.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_eb40.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/eb40/current/cdl/hal_arm_at91_eb40.cdl
+++ b/packages/hal/arm/at91/eb40/current/cdl/hal_arm_at91_eb40.cdl
@@ -250,7 +250,8 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB40 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -261,7 +262,7 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB40 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/eb40a/current/ChangeLog
+++ b/packages/hal/arm/at91/eb40a/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_eb40a.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_eb40a.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/eb40a/current/cdl/hal_arm_at91_eb40a.cdl
+++ b/packages/hal/arm/at91/eb40a/current/cdl/hal_arm_at91_eb40a.cdl
@@ -248,7 +248,8 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB40A {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -259,7 +260,7 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB40A {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/eb42/current/ChangeLog
+++ b/packages/hal/arm/at91/eb42/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_eb42.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_eb42.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/eb42/current/cdl/hal_arm_at91_eb42.cdl
+++ b/packages/hal/arm/at91/eb42/current/cdl/hal_arm_at91_eb42.cdl
@@ -248,7 +248,8 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB42 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -259,7 +260,7 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB42 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/eb55/current/ChangeLog
+++ b/packages/hal/arm/at91/eb55/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_eb55.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_eb55.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/eb55/current/cdl/hal_arm_at91_eb55.cdl
+++ b/packages/hal/arm/at91/eb55/current/cdl/hal_arm_at91_eb55.cdl
@@ -248,7 +248,8 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB55 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -259,7 +260,7 @@ cdl_package CYGPKG_HAL_ARM_AT91_EB55 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/jtst/current/ChangeLog
+++ b/packages/hal/arm/at91/jtst/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_jtst.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_jtst.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/jtst/current/cdl/hal_arm_at91_jtst.cdl
+++ b/packages/hal/arm/at91/jtst/current/cdl/hal_arm_at91_jtst.cdl
@@ -248,7 +248,8 @@ cdl_component CYGNUM_HAL_RTC_CONSTANTS {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used 
                 to compile all packages by default. Individual packages may 
@@ -259,7 +260,7 @@ cdl_component CYGNUM_HAL_RTC_CONSTANTS {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/at91/phycore/current/ChangeLog
+++ b/packages/hal/arm/at91/phycore/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_at91_phycore.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_at91_phycore.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/at91/phycore/current/cdl/hal_arm_at91_phycore.cdl
+++ b/packages/hal/arm/at91/phycore/current/cdl/hal_arm_at91_phycore.cdl
@@ -249,7 +249,8 @@ cdl_package CYGPKG_HAL_ARM_AT91_PHYCORE 
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -260,7 +261,7 @@ cdl_package CYGPKG_HAL_ARM_AT91_PHYCORE 
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/cma230/current/ChangeLog
+++ b/packages/hal/arm/cma230/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_cma230.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_cma230.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl
+++ b/packages/hal/arm/cma230/current/cdl/hal_arm_cma230.cdl
@@ -193,9 +193,8 @@ cdl_package CYGPKG_HAL_ARM_CMA230 {
             display "Global compiler flags"
             flavor  data
             no_define
-            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" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                           "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -228,9 +227,7 @@ cdl_package CYGPKG_HAL_ARM_CMA230 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "-mcpu=arm7tdmi ") .
-		            (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") .
-                            "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -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/e7t/current/ChangeLog
+++ b/packages/hal/arm/e7t/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_e7t.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_e7t.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/e7t/current/cdl/hal_arm_e7t.cdl
+++ b/packages/hal/arm/e7t/current/cdl/hal_arm_e7t.cdl
@@ -176,7 +176,8 @@ cdl_package CYGPKG_HAL_ARM_E7T {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -187,7 +188,7 @@ cdl_package CYGPKG_HAL_ARM_E7T {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/ebsa285/current/ChangeLog
+++ b/packages/hal/arm/ebsa285/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_ebsa285.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_ebsa285.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/ebsa285/current/cdl/hal_arm_ebsa285.cdl
+++ b/packages/hal/arm/ebsa285/current/cdl/hal_arm_ebsa285.cdl
@@ -218,7 +218,8 @@ cdl_package CYGPKG_HAL_ARM_EBSA285 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -229,7 +230,7 @@ cdl_package CYGPKG_HAL_ARM_EBSA285 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/edb7xxx/current/ChangeLog
+++ b/packages/hal/arm/edb7xxx/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_edb7xxx.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_edb7xxx.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl
+++ b/packages/hal/arm/edb7xxx/current/cdl/hal_arm_edb7xxx.cdl
@@ -334,8 +334,10 @@ CL-PS7111 and EP7xxx based development b
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_EDB7XXX_VARIANT == "CL_PS7111" ? "-mcpu=arm710c -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            (CYGHWR_HAL_ARM_EDB7XXX_VARIANT == "CL_PS7111" ? "-mcpu=arm710c" : "-mcpu=arm7tdmi") .
+                            " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions "
+            }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -346,7 +348,9 @@ CL-PS7111 and EP7xxx based development b
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_EDB7XXX_VARIANT == "CL_PS7111" ? "-mcpu=arm710c -Wl,--gc-sections -Wl,-static -g -nostdlib" : "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib"}
+            default_value { CYGBLD_ARCH_LDFLAGS .
+                           (CYGHWR_HAL_ARM_EDB7XXX_VARIANT == "CL_PS7111" ? "-mcpu=arm710c" : "-mcpu=arm7tdmi" ) .
+                           " -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/gps4020/current/ChangeLog
+++ b/packages/hal/arm/gps4020/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_gps4020.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_gps4020.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/gps4020/current/cdl/hal_arm_gps4020.cdl
+++ b/packages/hal/arm/gps4020/current/cdl/hal_arm_gps4020.cdl
@@ -165,7 +165,8 @@ cdl_package CYGPKG_HAL_ARM_GPS4020 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -176,7 +177,7 @@ cdl_package CYGPKG_HAL_ARM_GPS4020 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             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,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_integrator.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_integrator.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl
+++ b/packages/hal/arm/integrator/current/cdl/hal_arm_integrator.cdl
@@ -228,10 +228,10 @@ cdl_package CYGPKG_HAL_ARM_INTEGRATOR {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { 
-		CYGPKG_HAL_ARM_INTEGRATOR_ARM9 ? "-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" :
-		 "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-schedule-insns -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-	     }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                           (CYGPKG_HAL_ARM_INTEGRATOR_ARM9 ? "-mcpu=arm9" : "-mcpu=arm7tdmi  -fno-schedule-insns") .
+                           " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions "
+            }
 		 
             description   "
                 This option controls the global compiler flags which are used to
@@ -243,9 +243,9 @@ cdl_package CYGPKG_HAL_ARM_INTEGRATOR {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value {
-		CYGPKG_HAL_ARM_INTEGRATOR_ARM9 ? "-Wl,-Map,map -mcpu=arm9 -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-		"-Wl,-Map,map -mcpu=arm7tdmi -g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value { CYGBLD_ARCH_LDFLAGS .
+                            (CYGPKG_HAL_ARM_INTEGRATOR_ARM9 ? "-mcpu=arm9" : "-mcpu=arm7tdmi") .
+                            " -Wl,-Map,map -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/lpc24xx/ea2468/current/ChangeLog
+++ b/packages/hal/arm/lpc24xx/ea2468/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc24xx_ea2468.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_lpc24xx_ea2468.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/lpc24xx/ea2468/current/cdl/hal_arm_lpc24xx_ea2468.cdl
+++ b/packages/hal/arm/lpc24xx/ea2468/current/cdl/hal_arm_lpc24xx_ea2468.cdl
@@ -205,7 +205,8 @@ cdl_package CYGPKG_HAL_ARM_LPC24XX_EA246
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default. Individual
@@ -217,7 +218,7 @@ cdl_package CYGPKG_HAL_ARM_LPC24XX_EA246
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global
--- a/packages/hal/arm/lpc2xxx/lpcmt/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/lpcmt/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_lpcmt.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_lpc2xxx_lpcmt.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/lpc2xxx/lpcmt/current/cdl/hal_arm_lpc2xxx_lpcmt.cdl
+++ b/packages/hal/arm/lpc2xxx/lpcmt/current/cdl/hal_arm_lpc2xxx_lpcmt.cdl
@@ -167,7 +167,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_LPCMT
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -178,7 +179,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_LPCMT
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/mcb2100/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_mcb2100.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_lpc2xxx_mcb2100.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl
+++ b/packages/hal/arm/lpc2xxx/mcb2100/current/cdl/hal_arm_lpc2xxx_mcb2100.cdl
@@ -171,7 +171,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_MCB21
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -182,7 +183,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_MCB21
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/lpc2xxx/olpce2294/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/olpce2294/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_olpce2294.cdl: update compiler flags for gcc 4.x
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
--- a/packages/hal/arm/lpc2xxx/olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl
+++ b/packages/hal/arm/lpc2xxx/olpce2294/current/cdl/hal_arm_lpc2xxx_olpce2294.cdl
@@ -181,7 +181,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCE
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default. Individual
@@ -193,7 +194,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCE
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global
--- a/packages/hal/arm/lpc2xxx/olpch2294/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/olpch2294/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_olpch2294.cdl: update compiler flags for gcc 4.x
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
--- a/packages/hal/arm/lpc2xxx/olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl
+++ b/packages/hal/arm/lpc2xxx/olpch2294/current/cdl/hal_arm_lpc2xxx_olpch2294.cdl
@@ -174,7 +174,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCH
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default. Individual
@@ -186,7 +187,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCH
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global
--- a/packages/hal/arm/lpc2xxx/olpcl2294/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/olpcl2294/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_olpcl2294.cdl: update compiler flags for gcc 4.x
+
 2008-12-03  Sergei Gavrikov <sergei.gavrikov@gmail.com>
 
 	* misc/redboot_*.ecm: Rebuilt since target uses flash_olpcx2294_v2
--- a/packages/hal/arm/lpc2xxx/olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl
+++ b/packages/hal/arm/lpc2xxx/olpcl2294/current/cdl/hal_arm_lpc2xxx_olpcl2294.cdl
@@ -175,7 +175,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCL
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default. Individual
@@ -187,7 +188,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_OLPCL
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global
--- a/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/p2106/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_p2106.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_lpc2xxx_p2106.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl
+++ b/packages/hal/arm/lpc2xxx/p2106/current/cdl/hal_arm_lpc2xxx_p2106.cdl
@@ -167,7 +167,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_P2106
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -178,7 +179,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_P2106
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/lpc2xxx/phycore229x/current/ChangeLog
+++ b/packages/hal/arm/lpc2xxx/phycore229x/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_lpc2xxx_phycore229x.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_lpc2xxx_phycore229x.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/lpc2xxx/phycore229x/current/cdl/hal_arm_lpc2xxx_phycore229x.cdl
+++ b/packages/hal/arm/lpc2xxx/phycore229x/current/cdl/hal_arm_lpc2xxx_phycore229x.cdl
@@ -309,7 +309,8 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_PHYCO
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default. Individual
@@ -321,7 +322,7 @@ cdl_package CYGPKG_HAL_ARM_LPC2XXX_PHYCO
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global
--- a/packages/hal/arm/mac7100/mac7100evb/current/ChangeLog
+++ b/packages/hal/arm/mac7100/mac7100evb/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_mac7100_mac7100evb.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_mac7100_mac7100evb.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/mac7100/mac7100evb/current/cdl/hal_arm_mac7100_mac7100evb.cdl
+++ b/packages/hal/arm/mac7100/mac7100evb/current/cdl/hal_arm_mac7100_mac7100evb.cdl
@@ -327,7 +327,8 @@ cdl_package CYGPKG_HAL_ARM_MAC7100_MAC71
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -gdwarf-2 -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -gdwarf-2 -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by
@@ -340,7 +341,7 @@ cdl_package CYGPKG_HAL_ARM_MAC7100_MAC71
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -mbig-endian -Wl,--gc-sections -Wl,-static -gdwarf-2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -gdwarf-2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/mac7100/mace1/current/ChangeLog
+++ b/packages/hal/arm/mac7100/mace1/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_mac7100_mace1.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_mac7100_mace1.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/mac7100/mace1/current/cdl/hal_arm_mac7100_mace1.cdl
+++ b/packages/hal/arm/mac7100/mace1/current/cdl/hal_arm_mac7100_mace1.cdl
@@ -327,7 +327,8 @@ cdl_package CYGPKG_HAL_ARM_MAC7100_MACE1
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -mbig-endian -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -gdwarf-2 -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=arm7tdmi -gdwarf-2 -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by
@@ -340,7 +341,7 @@ cdl_package CYGPKG_HAL_ARM_MAC7100_MACE1
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . "-mcpu=arm7tdmi -mbig-endian -Wl,--gc-sections -Wl,-static -gdwarf-2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -gdwarf-2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/pid/current/ChangeLog
+++ b/packages/hal/arm/pid/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_pid.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_pid.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl
+++ b/packages/hal/arm/pid/current/cdl/hal_arm_pid.cdl
@@ -227,10 +227,9 @@ cdl_package CYGPKG_HAL_ARM_PID {
             display "Global compiler flags"
             flavor  data
             no_define
-	    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" }
+	    default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                        (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9" ? "-mcpu=arm9 " : "-mcpu=arm7tdmi ") .
+       		            " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by default.
@@ -242,10 +241,8 @@ cdl_package CYGPKG_HAL_ARM_PID {
             display "Global linker flags"
             flavor  data
             no_define
-	    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 " : "") .
-		            "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
+	    default_value { CYGBLD_ARCH_LDFLAGS . (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9" ? "-mcpu=arm9 " : "-mcpu=arm7tdmi ") .
+		                "-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/sa11x0/assabet/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/assabet/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_assabet.cdl: update compiler flags for
+	recent gcc
+
 2003-09-21  Gary Thomas  <gary@mlbassoc.com>
 
 	* misc/redboot_RAM.ecm: 
--- a/packages/hal/arm/sa11x0/assabet/current/cdl/hal_arm_sa11x0_assabet.cdl
+++ b/packages/hal/arm/sa11x0/assabet/current/cdl/hal_arm_sa11x0_assabet.cdl
@@ -176,7 +176,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_ASSABE
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -187,7 +188,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_ASSABE
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/brutus/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/brutus/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_brutus.cdl: update compiler flags for
+	recent gcc
+
 2003-02-13  Patrick Doyle  <wpd@delcomsys.com>
 	* src/brutus_misc.c: Replaced explicit prototype of memset with
 	#include <string.h>.
--- a/packages/hal/arm/sa11x0/brutus/current/cdl/hal_arm_sa11x0_brutus.cdl
+++ b/packages/hal/arm/sa11x0/brutus/current/cdl/hal_arm_sa11x0_brutus.cdl
@@ -169,7 +169,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_BRUTUS
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -180,7 +181,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_BRUTUS
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/cerf/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/cerf/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_cerf.cdl: update compiler flags for
+ 	recent gcc
+
 2003-11-01  Gary Thomas  <gary@mlbassoc.com>
 
 	* cdl/hal_arm_sa11x0_cerf.cdl: Make port 1 (uart3) be default
--- a/packages/hal/arm/sa11x0/cerf/current/cdl/hal_arm_sa11x0_cerf.cdl
+++ b/packages/hal/arm/sa11x0/cerf/current/cdl/hal_arm_sa11x0_cerf.cdl
@@ -185,7 +185,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_CERF {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -196,7 +197,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_CERF {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/cerfpda/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/cerfpda/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_cerfpda.cdl: update compiler flags for
+          recent gcc
+
 2003-11-19  Jani Monoses  <jani@iv.ro>
 	
 	* src/cerfpda_misc.c: Map DRAM as cacheable, it increases performance.
--- a/packages/hal/arm/sa11x0/cerfpda/current/cdl/hal_arm_sa11x0_cerfpda.cdl
+++ b/packages/hal/arm/sa11x0/cerfpda/current/cdl/hal_arm_sa11x0_cerfpda.cdl
@@ -184,7 +184,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_CERFPD
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -195,7 +196,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_CERFPD
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/flexanet/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/flexanet/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_flexanet.cdl: update compiler flags for
+	recent gcc
+
 2003-02-13  Patrick Doyle  <wpd@delcomsys.com>
 	* src/flexanet_misc.c: Replaced explicit prototype of memset with
 	#include <string.h>.
--- a/packages/hal/arm/sa11x0/flexanet/current/cdl/hal_arm_sa11x0_flexanet.cdl
+++ b/packages/hal/arm/sa11x0/flexanet/current/cdl/hal_arm_sa11x0_flexanet.cdl
@@ -177,7 +177,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_FLEXAN
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -188,7 +189,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_FLEXAN
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/ipaq/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/ipaq/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_ipaq.cdl: update compiler flags for
+          recent gcc
+
 2003-09-21  Gary Thomas  <gary@mlbassoc.com>
 
 	* misc/redboot_RAM.ecm: 
--- a/packages/hal/arm/sa11x0/ipaq/current/cdl/hal_arm_sa11x0_ipaq.cdl
+++ b/packages/hal/arm/sa11x0/ipaq/current/cdl/hal_arm_sa11x0_ipaq.cdl
@@ -215,7 +215,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_IPAQ {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -226,7 +227,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_IPAQ {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/nano/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/nano/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_nano.cdl: update compiler flags for
+          recent gcc
+
 2003-09-21  Gary Thomas  <gary@mlbassoc.com>
 
 	* misc/redboot_POST.ecm: 
--- a/packages/hal/arm/sa11x0/nano/current/cdl/hal_arm_sa11x0_nano.cdl
+++ b/packages/hal/arm/sa11x0/nano/current/cdl/hal_arm_sa11x0_nano.cdl
@@ -205,7 +205,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_NANO {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -216,7 +217,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_NANO {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/sa11x0/sa1100mm/current/ChangeLog
+++ b/packages/hal/arm/sa11x0/sa1100mm/current/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_sa11x0_sa1100mm.cdl: update compiler flags for
+          recent gcc
+
 2003-02-13  Patrick Doyle  <wpd@delcomsys.com>
 	* src/sa1100mm_misc.c: Replaced explicit prototype of memset with
 	#include <string.h>.
--- a/packages/hal/arm/sa11x0/sa1100mm/current/cdl/hal_arm_sa11x0_sa1100mm.cdl
+++ b/packages/hal/arm/sa11x0/sa1100mm/current/cdl/hal_arm_sa11x0_sa1100mm.cdl
@@ -176,7 +176,8 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_SA1100
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=strongarm1100 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=strongarm1100 -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -187,7 +188,7 @@ cdl_package CYGPKG_HAL_ARM_SA11X0_SA1100
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=strongarm1100 -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/snds/current/ChangeLog
+++ b/packages/hal/arm/snds/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_snds.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_snds.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/snds/current/cdl/hal_arm_snds.cdl
+++ b/packages/hal/arm/snds/current/cdl/hal_arm_snds.cdl
@@ -205,19 +205,9 @@ cdl_package CYGPKG_HAL_ARM_SNDS {
             display "Global compiler flags"
             flavor  data
             no_define
-            if {1} {
-                 default_value { (CYGHWR_THUMB && 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" :
-                   CYGHWR_THUMB ? "-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" }
-            } else { 
-                default_value { (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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9" ? "-mcpu=arm9" : "-mcpu=arm7tdmi") .
+                " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -228,19 +218,9 @@ cdl_package CYGPKG_HAL_ARM_SNDS {
             display "Global linker flags"
             flavor  data
             no_define
-            if {1} {
-                 default_value { (CYGHWR_THUMB && CYGHWR_HAL_ARM_BIGENDIAN) ? "-mthumb-interwork -mbig-endian -g -nostdlib -Wl,--gc-sections -Wl,-static" :
-                   CYGHWR_THUMB ? "-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" }
-            } else { 
-                default_value { (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 { CYGBLD_ARCH_LDFLAGS .
+                            (CYGHWR_HAL_ARM_CPU_FAMILY == "ARM9" ? "-mcpu=arm9" : "-mcpu=arm7tdmi") .
+                            " -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/xscale/grg/current/ChangeLog
+++ b/packages/hal/arm/xscale/grg/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_grg.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_grg.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/grg/current/cdl/hal_arm_xscale_grg.cdl
+++ b/packages/hal/arm/xscale/grg/current/cdl/hal_arm_xscale_grg.cdl
@@ -112,8 +112,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_GRG {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian -mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -mapcs-frame" :
-	                    "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -124,8 +124,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_GRG {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian -mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" :
-	                    "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/iop310/current/ChangeLog
+++ b/packages/hal/arm/xscale/iop310/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_iop310.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_iop310.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/iop310/current/cdl/hal_arm_xscale_iop310.cdl
+++ b/packages/hal/arm/xscale/iop310/current/cdl/hal_arm_xscale_iop310.cdl
@@ -233,7 +233,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IOP310
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -244,7 +245,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IOP310
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/iq80321/current/ChangeLog
+++ b/packages/hal/arm/xscale/iq80321/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_iq80321.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_iq80321.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/iq80321/current/cdl/hal_arm_xscale_iq80321.cdl
+++ b/packages/hal/arm/xscale/iq80321/current/cdl/hal_arm_xscale_iq80321.cdl
@@ -189,7 +189,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IQ8032
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -200,7 +201,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IQ8032
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/ixdp425/current/ChangeLog
+++ b/packages/hal/arm/xscale/ixdp425/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_ixdp425.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_ixdp425.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/ixdp425/current/cdl/hal_arm_xscale_ixdp425.cdl
+++ b/packages/hal/arm/xscale/ixdp425/current/cdl/hal_arm_xscale_ixdp425.cdl
@@ -129,8 +129,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IXDP42
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian -mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -mapcs-frame" :
-	                    "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -141,8 +141,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_IXDP42
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian -mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" :
-	                    "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib " }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/mpc50/current/ChangeLog
+++ b/packages/hal/arm/xscale/mpc50/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_mpc50.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_mpc50.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/mpc50/current/cdl/hal_arm_xscale_mpc50.cdl
+++ b/packages/hal/arm/xscale/mpc50/current/cdl/hal_arm_xscale_mpc50.cdl
@@ -150,7 +150,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_MPC50 
 			display "Global compiler flags"
 			flavor  data
 			no_define
-            default_value { "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS . "-mcpu=xscale -g -O2 -fno-rtti -fno-exceptions -mapcs-frame" }
 			description   "
 				This option controls the global compiler flags which are used to
 				compile all packages by default. Individual packages may define
@@ -161,7 +161,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_MPC50 
 			display "Global linker flags"
 			flavor  data
 			no_define
-			default_value { "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+			default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
 			description   "
 				This option controls the global linker flags. Individual
 				packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/picasso/current/ChangeLog
+++ b/packages/hal/arm/xscale/picasso/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_picasso.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_picasso.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/picasso/current/cdl/hal_arm_xscale_picasso.cdl
+++ b/packages/hal/arm/xscale/picasso/current/cdl/hal_arm_xscale_picasso.cdl
@@ -239,7 +239,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_PICASS
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame -fno-builtin" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame -fno-builtin" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -250,7 +251,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_PICASS
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/prpmc1100/current/ChangeLog
+++ b/packages/hal/arm/xscale/prpmc1100/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_prpmc1100.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_prpmc1100.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/prpmc1100/current/cdl/hal_arm_xscale_prpmc1100.cdl
+++ b/packages/hal/arm/xscale/prpmc1100/current/cdl/hal_arm_xscale_prpmc1100.cdl
@@ -50,6 +50,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_PRPMC1
     display       "Motorola PrPMC1100 Processor PMC"
     parent        CYGPKG_HAL_ARM_XSCALE
     implements    CYGINT_HAL_ARM_BIGENDIAN
+    requires      CYGHWR_HAL_ARM_BIGENDIAN
     hardware
     include_dir   cyg/hal
     define_header hal_arm_xscale_prpmc1100.h
@@ -109,7 +110,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_PRPMC1
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -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 -mapcs-frame" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS . "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -120,7 +121,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_PRPMC1
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-mcpu=xscale -mbig-endian -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/uE250/current/ChangeLog
+++ b/packages/hal/arm/xscale/uE250/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_uE250.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_uE250.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl
+++ b/packages/hal/arm/xscale/uE250/current/cdl/hal_arm_xscale_uE250.cdl
@@ -248,7 +248,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250 
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame -fno-builtin" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            " -mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame -fno-builtin" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -259,7 +260,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_UE250 
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
--- a/packages/hal/arm/xscale/xsengine/current/ChangeLog
+++ b/packages/hal/arm/xscale/xsengine/current/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-31  Bart Veer <bartv@ecoscentric.com>
+
+	* cdl/hal_arm_xscale_xsengine.cdl: update compiler flags for gcc 4.x
+
 2009-01-24  Bart Veer <bartv@ecoscentric.com>
 
 	* cdl/hal_arm_xscale_xsengine.cdl: switch from arm-elf-gcc to
--- a/packages/hal/arm/xscale/xsengine/current/cdl/hal_arm_xscale_xsengine.cdl
+++ b/packages/hal/arm/xscale/xsengine/current/cdl/hal_arm_xscale_xsengine.cdl
@@ -173,7 +173,8 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_XSENGI
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame -fno-builtin" }
+            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame -fno-builtin" }
             description   "
                 This option controls the global compiler flags which are used to
                 compile all packages by default. Individual packages may define
@@ -184,7 +185,7 @@ cdl_package CYGPKG_HAL_ARM_XSCALE_XSENGI
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
+            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."