This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
[Bug 1001607] Cortex-M4F architectural Floating Point Support
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: ecos-patches at ecos dot sourceware dot org
- Date: Sun, 12 Aug 2012 12:05:20 +0100
- Subject: [Bug 1001607] Cortex-M4F architectural Floating Point Support
- Auto-submitted: auto-generated
- References: <bug-1001607-104@http.bugs.ecos.sourceware.org/>
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001607
--- Comment #26 from Ilija Kocho <ilijak@siva.com.mk> 2012-08-12 12:05:05 BST ---
(In reply to comment #24)
[snip]
>
> 1) Cortex-M4/M3 selector is removed, and CYGBLD_ARCH_XFLAGS added, with comment
> regarding GCC issue. Anti-flags (4) moved to CYGINT_HAL_CORTEXM_FPU and
> CYGINT_HAL_FPV4_SP_D16 (respecting FPU abstraction). There is, however a
> problem with unresolved conflicts when I click on CYGHWR_HAL_CORTEXM_FPU.
> Funny, but it resolves when I right-click RESOLVE in conflict window.
It seems that is_substr() expressions are executed concurrently rather than
sequentially. Following snippets, although less elegant, produce correct
behavior.
cdl_interface CYGINT_HAL_FPV4_SP_D16 {
flavor bool
display "FPU is FPv4-SP-D16"
implements CYGINT_HAL_CORTEXM_FPU
requires { !CYGHWR_HAL_CORTEXM_FPU implies
!is_substr(CYGBLD_GLOBAL_CFLAGS, "-mfpu=fpv4-sp-d16") &&
!is_substr(CYGBLD_GLOBAL_CFLAGS, "-mfloat-abi=hard")
}
requires { !CYGHWR_HAL_CORTEXM_FPU implies
!is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mfpu=fpv4-sp-d16") &&
!is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mfloat-abi=hard")
}
requires { (CYGHWR_HAL_CORTEXM_FPU && !CYGINT_HAL_FPV4_SP_D16)
implies
!is_substr(CYGBLD_GLOBAL_CFLAGS, "-mfpu=fpv4-sp-d16")
}
requires { (CYGHWR_HAL_CORTEXM_FPU && !CYGINT_HAL_FPV4_SP_D16)
implies
!is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mfpu=fpv4-sp-d16")
}
}
cdl_component CYGHWR_HAL_CORTEXM_FPU {
display "Use hardware FPU"
flavor bool
active_if (CYGINT_HAL_CORTEXM_FPU )
default_value 0; #{ CYGINT_HAL_CORTEXM_FPU }
compile cortexm_fpu.c
}
}
cdl_component CYGHWR_HAL_FPV4_SP_D16 {
flavor none
active_if CYGINT_HAL_FPV4_SP_D16 && CYGHWR_HAL_CORTEXM_FPU
display "FPv4-SP-D16"
no_define
compile fpv4_sp_d16.c
requires {
is_substr(CYGBLD_GLOBAL_CFLAGS, " -mcpu=cortex-m4") &&
is_substr(CYGBLD_GLOBAL_CFLAGS, " -mfloat-abi=hard") &&
is_substr(CYGBLD_GLOBAL_CFLAGS, " -mfpu=fpv4-sp-d16") &&
!is_substr(CYGBLD_GLOBAL_CFLAGS, "-mcpu=cortex-m3")
}
requires {
is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mcpu=cortex-m4") &&
is_substr(CYGBLD_GLOBAL_LDFLAGS," -mfloat-abi=hard") &&
is_substr(CYGBLD_GLOBAL_LDFLAGS, " -mfpu=fpv4-sp-d16") &&
!is_substr(CYGBLD_GLOBAL_LDFLAGS, "-mcpu=cortex-m3")
}
}
}
Ilija
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.