Mercurial > ecos
changeset 2845:4597dc41d041
* cdl/hal_arm.cdl: Merge goals for CYGHWR_THUMB and
CYGBLD_ARM_ENABLE_THUMB_INTERWORK to allow selective application
of CDL solutions within the eCos Configuration Tool.
| author | jld |
|---|---|
| date | Fri, 06 Mar 2009 16:43:30 +0000 |
| parents | defb62be5b44 |
| children | 9a56db249d3d |
| files | packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/cdl/hal_arm.cdl |
| diffstat | 2 files changed, 40 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,3 +1,9 @@ +2009-03-06 John Dallaway <john@dallaway.org.uk> + + * cdl/hal_arm.cdl: Merge goals for CYGHWR_THUMB and + CYGBLD_ARM_ENABLE_THUMB_INTERWORK to allow selective application + of CDL solutions within the eCos Configuration Tool. + 2009-02-14 Jonathan Larmour <jifl@eCosCentric.com> * src/vectors.S: Use .type xxx, function everywhere where
--- a/packages/hal/arm/arch/current/cdl/hal_arm.cdl +++ b/packages/hal/arm/arch/current/cdl/hal_arm.cdl @@ -135,18 +135,24 @@ cdl_package CYGPKG_HAL_ARM { parent CYGBLD_GLOBAL_OPTIONS flavor data no_define - calculated { (CYGHWR_THUMB ? "-mthumb " : "") . - (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "-mno-thumb-interwork ") . - (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") + calculated { (CYGHWR_THUMB ? " -mthumb " : "") . + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? " -mthumb-interwork " : " -mno-thumb-interwork ") . + (CYGHWR_HAL_ARM_BIGENDIAN ? " -mbig-endian " : "") } - requires { CYGHWR_THUMB implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb ") } - requires { !CYGHWR_THUMB implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb ") } - requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb-interwork") } - requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mno-thumb-interwork") } - requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mthumb-interwork") } - requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mno-thumb-interwork") } - requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_CFLAGS, "-mbig-endian") } - requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_CFLAGS, "-mbig-endian") } + requires { CYGHWR_THUMB && CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb ") && + is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb-interwork ") && + !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mno-thumb-interwork ") } + requires { !CYGHWR_THUMB && CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb ") && + is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb-interwork ") && + !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mno-thumb-interwork ") } + requires { CYGHWR_THUMB && !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb ") && + !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb-interwork ") && + is_substr(CYGBLD_GLOBAL_CFLAGS, " -mno-thumb-interwork ") } + requires { !CYGHWR_THUMB && !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb ") && + !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mthumb-interwork ") && + is_substr(CYGBLD_GLOBAL_CFLAGS, " -mno-thumb-interwork ") } + requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_CFLAGS, " -mbig-endian ") } + requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_CFLAGS, " -mbig-endian ") } } cdl_option CYGBLD_ARCH_LDFLAGS { @@ -154,18 +160,24 @@ cdl_package CYGPKG_HAL_ARM { parent CYGBLD_GLOBAL_OPTIONS flavor data no_define - calculated { (CYGHWR_THUMB ? "-mthumb " : "") . - (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "-mno-thumb-interwork ") . - (CYGHWR_HAL_ARM_BIGENDIAN ? "-mbig-endian " : "") + calculated { (CYGHWR_THUMB ? " -mthumb " : "") . + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? " -mthumb-interwork " : " -mno-thumb-interwork ") . + (CYGHWR_HAL_ARM_BIGENDIAN ? " -mbig-endian " : "") } - requires { CYGHWR_THUMB implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb ") } - requires { !CYGHWR_THUMB implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb ") } - requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb-interwork") } - requires { CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mno-thumb-interwork") } - requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mthumb-interwork") } - requires { !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mno-thumb-interwork") } - requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mbig-endian") } - requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mbig-endian") } + requires { CYGHWR_THUMB && CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb ") && + is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb-interwork ") && + !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mno-thumb-interwork ") } + requires { !CYGHWR_THUMB && CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb ") && + is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb-interwork ") && + !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mno-thumb-interwork ") } + requires { CYGHWR_THUMB && !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb ") && + !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb-interwork ") && + is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mno-thumb-interwork ") } + requires { !CYGHWR_THUMB && !CYGBLD_ARM_ENABLE_THUMB_INTERWORK implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb ") && + !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mthumb-interwork ") && + is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mno-thumb-interwork ") } + requires { CYGHWR_HAL_ARM_BIGENDIAN implies is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mbig-endian ") } + requires { !CYGHWR_HAL_ARM_BIGENDIAN implies !is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mbig-endian ") } } cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
