The below should ensure that VECTOR_DIAG cannot be disabled on targets that have guaranteed vector support, such as the SH MPC target. However, I can disable the option without getting any complaints, even though the option to check for valid config after each change was set. cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT { display "Enable use of virtual vector calling interface" active_if CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT requires { (0 == CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_GUARANTEED) || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG } calculated 1 description " Virtual vector support allows the HAL to let the ROM monitor handle certain operations. The virtual vector table defines a calling interface between applications running in RAM and the ROM monitor." compile hal_if.c hal_misc.c cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG { display "Do diagnostic IO via virtual vector table" default_value { CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT_GUARANTEED } description " All HAL IO happens via the virtual vector table / comm tables on targets that guarantee that service. On other targets, it can be optionally enabled if the ROM monitor is known to have virtual vectors - note that output may disappear if the ROM monitor does not provided the necessary services and this option is enabled. When it is not enabled (on older targets) the IO is always done using functions compiled into the application image." }
This bug has moved to http://bugs.ecos.sourceware.org/show_bug.cgi?id=23402