diff options
Diffstat (limited to 'extra')
29 files changed, 303 insertions, 205 deletions
diff --git a/extra/Configs/Config.alpha b/extra/Configs/Config.alpha index fd2d7a8e5..3f1fe659e 100644 --- a/extra/Configs/Config.alpha +++ b/extra/Configs/Config.alpha @@ -7,6 +7,10 @@ config TARGET_ARCH string default "alpha" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -17,3 +21,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm index 2b91a34d3..8f2c07166 100644 --- a/extra/Configs/Config.arm +++ b/extra/Configs/Config.arm @@ -7,6 +7,10 @@ config TARGET_ARCH string default "arm" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -134,3 +138,6 @@ config CONFIG_ARM_IWMMXT select ARCH_HAS_MMU endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.avr32 b/extra/Configs/Config.avr32 index 8d70e6e99..036616f14 100644 --- a/extra/Configs/Config.avr32 +++ b/extra/Configs/Config.avr32 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "avr32" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -29,3 +33,6 @@ endchoice config LINKRELAX bool "Enable linker optimizations" default y + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.bfin b/extra/Configs/Config.bfin index 60c397af0..34f663633 100644 --- a/extra/Configs/Config.bfin +++ b/extra/Configs/Config.bfin @@ -7,6 +7,10 @@ config TARGET_ARCH string default "bfin" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -15,3 +19,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.cris b/extra/Configs/Config.cris index b3811d1e9..57b72e96c 100644 --- a/extra/Configs/Config.cris +++ b/extra/Configs/Config.cris @@ -7,6 +7,10 @@ config TARGET_ARCH string default "cris" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -35,3 +39,6 @@ config CONFIG_CRISV32 bool "CRISv32" endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.e1 b/extra/Configs/Config.e1 index 144d9d34d..969a433f7 100644 --- a/extra/Configs/Config.e1 +++ b/extra/Configs/Config.e1 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "e1" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -21,3 +25,6 @@ config ARCH_E1 config ARCH_CFLAGS string default "-mgnu-param" + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.frv b/extra/Configs/Config.frv index 63bbfed72..15ff76c24 100644 --- a/extra/Configs/Config.frv +++ b/extra/Configs/Config.frv @@ -7,6 +7,10 @@ config TARGET_ARCH string default "frv" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -16,3 +20,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.h8300 b/extra/Configs/Config.h8300 index 262a0d245..dcc17665c 100644 --- a/extra/Configs/Config.h8300 +++ b/extra/Configs/Config.h8300 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "h8300" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -29,3 +33,6 @@ endchoice config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.hppa b/extra/Configs/Config.hppa index 1c264a800..0c7089c44 100644 --- a/extra/Configs/Config.hppa +++ b/extra/Configs/Config.hppa @@ -7,6 +7,10 @@ config TARGET_ARCH string default "hppa" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -18,3 +22,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 index 850ab8ea8..c65eefd43 100644 --- a/extra/Configs/Config.i386 +++ b/extra/Configs/Config.i386 @@ -3,10 +3,16 @@ # see extra/config/Kconfig-language.txt # + + config TARGET_ARCH string default "i386" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -100,3 +106,6 @@ config CONFIG_NEHEMIAH bool "VIA C3-2 (Nehemiah)" endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.i960 b/extra/Configs/Config.i960 index cb325c7ea..22459ddd6 100644 --- a/extra/Configs/Config.i960 +++ b/extra/Configs/Config.i960 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "i960" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -17,3 +21,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string default "-mh -mint32 -fsigned-char" + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.ia64 b/extra/Configs/Config.ia64 index dc13319b3..e92e22ee9 100644 --- a/extra/Configs/Config.ia64 +++ b/extra/Configs/Config.ia64 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "ia64" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -16,3 +20,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index 76ab0022f..e215c8f37 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -3,6 +3,12 @@ # see extra/config/Kconfig-language.txt # +config TARGET_SUBARCH + string + default "e500" if CONFIG_E500 + default "classic" if CONFIG_CLASSIC + default "sh4" if CONFIG_SH4 + default "" # # Binary format @@ -200,6 +206,3 @@ config UCLIBC_UCLINUX_BROKEN_MUNMAP depends on !ARCH_USE_MMU default y -config HAVE_DOT_CONFIG - bool - default y diff --git a/extra/Configs/Config.in.arches b/extra/Configs/Config.in.arches new file mode 100644 index 000000000..e83c78a3d --- /dev/null +++ b/extra/Configs/Config.in.arches @@ -0,0 +1,114 @@ +# +# For a description of the syntax of this configuration file, +# see extra/config/Kconfig-language.txt +# + +mainmenu "uClibc C Library Configuration" + +choice + prompt "Target Architecture" + default TARGET_alpha if TARGET_ARCH = "alpha" + default TARGET_arm if TARGET_ARCH = "arm" + default TARGET_avr32 if TARGET_ARCH = "avr32" + default TARGET_bfin if TARGET_ARCH = "bfin" + default TARGET_cris if TARGET_ARCH = "cris" + default TARGET_e1 if TARGET_ARCH = "e1" + default TARGET_frv if TARGET_ARCH = "frv" + default TARGET_h8300 if TARGET_ARCH = "h8300" + default TARGET_hppa if TARGET_ARCH = "hppa" + default TARGET_i386 if TARGET_ARCH = "i386" + default TARGET_i960 if TARGET_ARCH = "i960" + default TARGET_ia64 if TARGET_ARCH = "ia64" + default TARGET_m68k if TARGET_ARCH = "m68k" + default TARGET_microblaze if TARGET_ARCH = "microblaze" + default TARGET_mips if TARGET_ARCH = "mips" + default TARGET_nios if TARGET_ARCH = "nios" + default TARGET_nios2 if TARGET_ARCH = "nios2" + default TARGET_powerpc if TARGET_ARCH = "powerpc" + default TARGET_sh if TARGET_ARCH = "sh" + default TARGET_sh64 if TARGET_ARCH = "sh64" + default TARGET_sparc if TARGET_ARCH = "sparc" + default TARGET_v850 if TARGET_ARCH = "v850" + default TARGET_vax if TARGET_ARCH = "vax" + default TARGET_x86_64 if TARGET_ARCH = "x86_64" + default TARGET_xtensa if TARGET_ARCH = "xtensa" + help + The architecture of your target. + +config TARGET_alpha + bool "alpha" + +config TARGET_arm + bool "arm" + +config TARGET_avr32 + bool "avr32" + +config TARGET_bfin + bool "bfin" + +config TARGET_cris + bool "cris" + +config TARGET_e1 + bool "e1 (BROKEN)" + +config TARGET_frv + bool "frv (BROKEN)" + +config TARGET_h8300 + bool "h8300 (BROKEN)" + +config TARGET_hppa + bool "hppa" + +config TARGET_i386 + bool "i386" + +config TARGET_i960 + bool "i960 (BROKEN)" + +config TARGET_ia64 + bool "ia64" + +config TARGET_m68k + bool "m68k" + +config TARGET_microblaze + bool "microblaze (BROKEN)" + +config TARGET_mips + bool "mips" + +config TARGET_nios + bool "nios" + +config TARGET_nios2 + bool "nios2" + +config TARGET_powerpc + bool "powerpc" + +config TARGET_sh + bool "superh" + +config TARGET_sh64 + bool "sh64" + +config TARGET_sparc + bool "sparc" + +config TARGET_v850 + bool "v850 (BROKEN)" + +config TARGET_vax + bool "vax" + +config TARGET_x86_64 + bool "x86_64" + +config TARGET_xtensa + bool "xtensa" + +endchoice + diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in.common index a3f191059..e9550af6d 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in.common @@ -3,204 +3,6 @@ # see extra/config/Kconfig-language.txt # -mainmenu "uClibc C Library Configuration" - -choice - prompt "Target Architecture" - help - The architecture of your target. - -config TARGET_alpha - bool "alpha" - -config TARGET_arm - bool "arm" - -config TARGET_avr32 - bool "avr32" - -config TARGET_bfin - bool "bfin" - -config TARGET_cris - bool "cris" - -config TARGET_e1 - bool "e1 (BROKEN)" - -config TARGET_frv - bool "frv (BROKEN)" - -config TARGET_h8300 - bool "h8300 (BROKEN)" - -config TARGET_hppa - bool "hppa" - -config TARGET_i386 - bool "i386" - -config TARGET_i960 - bool "i960 (BROKEN)" - -config TARGET_ia64 - bool "ia64" - -config TARGET_m68k - bool "m68k" - -config TARGET_microblaze - bool "microblaze (BROKEN)" - -config TARGET_mips - bool "mips" - -config TARGET_nios - bool "nios" - -config TARGET_nios2 - bool "nios2" - -config TARGET_powerpc - bool "powerpc" - -config TARGET_sh - bool "superh" - -config TARGET_sh64 - bool "sh64" - -config TARGET_sparc - bool "sparc" - -config TARGET_v850 - bool "v850 (BROKEN)" - -config TARGET_vax - bool "vax" - -config TARGET_x86_64 - bool "x86_64" - -config TARGET_xtensa - bool "xtensa" - -endchoice - - -menu "Target Architecture Features and Options" - -if TARGET_alpha -source "extra/Configs/Config.alpha" -endif - -if TARGET_arm -source "extra/Configs/Config.arm" -endif - -if TARGET_avr32 -source "extra/Configs/Config.avr32" -endif - -if TARGET_bfin -source "extra/Configs/Config.bfin" -endif - -if TARGET_cris -source "extra/Configs/Config.cris" -endif - -if TARGET_e1 -source "extra/Configs/Config.e1" -endif - -if TARGET_frv -source "extra/Configs/Config.frv" -endif - -if TARGET_h8300 -source "extra/Configs/Config.h8300" -endif - -if TARGET_hppa -source "extra/Configs/Config.hppa" -endif - -if TARGET_i386 -source "extra/Configs/Config.i386" -endif - -if TARGET_i960 -source "extra/Configs/Config.i960" -endif - -if TARGET_ia64 -source "extra/Configs/Config.ia64" -endif - -if TARGET_m68k -source "extra/Configs/Config.m68k" -endif - -if TARGET_nios -source "extra/Configs/Config.nios" -endif - -if TARGET_nios2 -source "extra/Configs/Config.nios2" -endif - -if TARGET_microblaze -source "extra/Configs/Config.microblaze" -endif - -if TARGET_mips -source "extra/Configs/Config.mips" -endif - -if TARGET_powerpc -source "extra/Configs/Config.powerpc" -endif - -if TARGET_sh -source "extra/Configs/Config.sh" -endif - -if TARGET_sh64 -source "extra/Configs/Config.sh64" -endif - -if TARGET_sparc -source "extra/Configs/Config.sparc" -endif - -if TARGET_v850 -source "extra/Configs/Config.v850" -endif - -if TARGET_vax -source "extra/Configs/Config.vax" -endif - -if TARGET_x86_64 -source "extra/Configs/Config.x86_64" -endif - -if TARGET_xtensa -source "extra/Configs/Config.xtensa" -endif - -config TARGET_SUBARCH - string - default "e500" if CONFIG_E500 - default "classic" if CONFIG_CLASSIC - default "sh4" if CONFIG_SH4 - default "" - -source "extra/Configs/Config.in.arch" - -endmenu - menu "General Library Settings" config HAVE_NO_PIC @@ -2179,3 +1981,6 @@ config UCLIBC_MJN3_ONLY Most people will answer N. endmenu + +config HAVE_DOT_CONFIG + def_bool y diff --git a/extra/Configs/Config.m68k b/extra/Configs/Config.m68k index 95807c485..d82b15f6a 100644 --- a/extra/Configs/Config.m68k +++ b/extra/Configs/Config.m68k @@ -7,7 +7,14 @@ config TARGET_ARCH string default "m68k" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y select ARCH_BIG_ENDIAN + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.microblaze b/extra/Configs/Config.microblaze index a89914ef1..0d4cf971a 100644 --- a/extra/Configs/Config.microblaze +++ b/extra/Configs/Config.microblaze @@ -7,6 +7,10 @@ config TARGET_ARCH string default "microblaze" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -19,3 +23,6 @@ config ARCH_CFLAGS config CROSS string default "mb-" + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.mips b/extra/Configs/Config.mips index 8350ea427..b40d05ce9 100644 --- a/extra/Configs/Config.mips +++ b/extra/Configs/Config.mips @@ -7,6 +7,10 @@ config TARGET_ARCH string default "mips" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -75,3 +79,6 @@ config CONFIG_MIPS_ISA_MIPS64 bool "MIPS64" endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.nios b/extra/Configs/Config.nios index f1dbd6c42..6cf911bdb 100644 --- a/extra/Configs/Config.nios +++ b/extra/Configs/Config.nios @@ -7,6 +7,10 @@ config TARGET_ARCH string default "nios" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -21,3 +25,6 @@ config ARCH_CFLAGS config CROSS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.nios2 b/extra/Configs/Config.nios2 index 1f945556b..5d1a52014 100644 --- a/extra/Configs/Config.nios2 +++ b/extra/Configs/Config.nios2 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "nios2" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -20,3 +24,6 @@ config ARCH_CFLAGS config CROSS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.powerpc b/extra/Configs/Config.powerpc index 8ba267cf1..c34124aef 100644 --- a/extra/Configs/Config.powerpc +++ b/extra/Configs/Config.powerpc @@ -7,6 +7,10 @@ config TARGET_ARCH string default "powerpc" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -36,3 +40,6 @@ config CONFIG_E500 e500 v1 and v2 core. endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh index 8538bcc65..a1e8f9666 100644 --- a/extra/Configs/Config.sh +++ b/extra/Configs/Config.sh @@ -7,6 +7,10 @@ config TARGET_ARCH string default "sh" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -50,6 +54,9 @@ config CONFIG_SH4 endchoice config ARCH_HAS_BWD_MEMCPY - bool - default y - depends on CONFIG_SH4 + bool + default y + depends on CONFIG_SH4 + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.sh64 b/extra/Configs/Config.sh64 index 54d738e36..4077bd297 100644 --- a/extra/Configs/Config.sh64 +++ b/extra/Configs/Config.sh64 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "sh64" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -33,3 +37,6 @@ config CONFIG_SH5 bool "SH5" endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.sparc b/extra/Configs/Config.sparc index 3b19f9d14..8b41001d3 100644 --- a/extra/Configs/Config.sparc +++ b/extra/Configs/Config.sparc @@ -7,6 +7,10 @@ config TARGET_ARCH string default "sparc" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -39,3 +43,6 @@ config CONFIG_SPARC_V9B bool "SPARC v9b" endchoice + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.v850 b/extra/Configs/Config.v850 index a668bba7c..3bc245e51 100644 --- a/extra/Configs/Config.v850 +++ b/extra/Configs/Config.v850 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "v850" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -20,3 +24,6 @@ config ARCH_CFLAGS config CROSS string default "v850e-elf-" + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.vax b/extra/Configs/Config.vax index 4192e28c2..e04f63846 100644 --- a/extra/Configs/Config.vax +++ b/extra/Configs/Config.vax @@ -7,6 +7,10 @@ config TARGET_ARCH string default "vax" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -22,3 +26,6 @@ config ARCH_LDFLAGS config CROSS string default "vax-linux-uclibc-" + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.x86_64 b/extra/Configs/Config.x86_64 index 7ae357f61..60d13250a 100644 --- a/extra/Configs/Config.x86_64 +++ b/extra/Configs/Config.x86_64 @@ -7,6 +7,10 @@ config TARGET_ARCH string default "x86_64" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config FORCE_OPTIONS_FOR_ARCH bool default y @@ -15,3 +19,6 @@ config FORCE_OPTIONS_FOR_ARCH config ARCH_CFLAGS string + +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/Configs/Config.xtensa b/extra/Configs/Config.xtensa index 75132471a..5d6e4377c 100644 --- a/extra/Configs/Config.xtensa +++ b/extra/Configs/Config.xtensa @@ -7,6 +7,12 @@ config TARGET_ARCH string default "xtensa" +source "extra/Configs/Config.in.arches" +menu "Target Architecture Features and Options" +source "extra/Configs/Config.in.arch" + config ARCH_CFLAGS string +endmenu +source "extra/Configs/Config.in.common" diff --git a/extra/scripts/MAKEALL b/extra/scripts/MAKEALL index 6bacc9a7c..c5f388e20 100755 --- a/extra/scripts/MAKEALL +++ b/extra/scripts/MAKEALL @@ -71,7 +71,7 @@ mark_arch() if [ -z "$*" ] ; then set -- $(awk \ '$0 ~ /^config TARGET_/ { sub("TARGET_",""); print $NF }' \ - extra/Configs/Config.in | grep -v SUBARCH) + extra/Configs/Config.in.arches | grep -v SUBARCH) fi pass="" fail="" |