+ {"Secure gateway veneers: no .gnu.sgstubs section" "" ""
+ "-march=armv8-m.base -mthumb"
+ {cmse-veneers.s}
+ {{ld cmse-veneers-no-gnu_sgstubs.out}}
+ "cmse-veneers-no-gnu_sgstubs"}
+ {"Secure gateway veneers: wrong entry functions" "" ""
+ "-march=armv7-m -mthumb --defsym CHECK_ERRORS=1"
+ {cmse-veneers.s}
+ {{ld cmse-veneers-wrong-entryfct.out}}
+ "cmse-veneers-wrong-entryfct"}
+ {"Secure gateway veneers (ARMv8-M Baseline)"
+ "-Ttext=0x8000 --section-start .gnu.sgstubs=0x20000 --gc-sections" ""
+ "-march=armv8-m.base -mthumb"
+ {cmse-veneers.s}
+ {{objdump {-d -j .gnu.sgstubs} cmse-veneers.d}
+ {objdump {-h -j .gnu.sgstubs} cmse-veneers.sd}
+ {nm {} cmse-veneers.rd}}
+ "cmse-veneers-baseline"}
+ {"Secure gateway veneers (ARMv8-M Mainline)"
+ "-Ttext=0x8000 --section-start .gnu.sgstubs=0x20000 --gc-sections" ""
+ "-march=armv8-m.main -mthumb"
+ {cmse-veneers.s}
+ {{objdump {-d -j .gnu.sgstubs} cmse-veneers.d}
+ {objdump {-h -j .gnu.sgstubs} cmse-veneers.sd}
+ {nm {} cmse-veneers.rd}}
+ "cmse-veneers-mainline"}
+ {"Secure gateway import library generation: errors"
+ "--section-start .gnu.sgstubs=0x20000 --out-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym CHECK_ERRORS=1 --defsym VER=1"
+ {cmse-implib.s}
+ {{ld cmse-implib-errors.out}}
+ "cmse-implib"}
+ {"Secure gateway import library generation"
+ "--section-start .gnu.sgstubs=0x20000 --out-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=1"
+ {cmse-implib.s}
+ {{readelf {-s tmpdir/cmse-implib.lib} cmse-implib.rd}
+ {readelf {-h tmpdir/cmse-implib.lib} cmse-implib.type}}
+ "cmse-implib"}
+ {"Input secure gateway import library"
+ "--section-start .gnu.sgstubs=0x20000 --out-implib=tmpdir/cmse-new-implib.lib --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=2"
+ {cmse-implib.s}
+ {{ld cmse-new-implib.out}
+ {readelf {-s tmpdir/cmse-new-implib.lib} cmse-new-implib.rd}}
+ "cmse-new-implib"}
+ {"Input secure gateway import library: no output import library"
+ "--section-start .gnu.sgstubs=0x20000 --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=2"
+ {cmse-implib.s}
+ {{ld cmse-new-implib-no-output.out}}
+ "cmse-new-implib-no-output"}
+ {"Input secure gateway import library: not an SG input import library"
+ "--section-start .gnu.sgstubs=0x20000 --in-implib=tmpdir/cmse-implib.lib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=2"
+ {cmse-implib.s}
+ {{ld cmse-new-implib-not-sg-in-implib.out}}
+ "cmse-new-implib-not-sg-in-implib"}
+ {"Input secure gateway import library: earlier stub section base"
+ "--section-start .gnu.sgstubs=0x19000 --out-implib=tmpdir/cmse-new-earlier-implib.lib --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=2"
+ {cmse-implib.s}
+ {{ld cmse-new-earlier-later-implib.out}}
+ "cmse-new-earlier-implib"}
+ {"Input secure gateway import library: later stub section base"
+ "--section-start .gnu.sgstubs=0x30000 --out-implib=tmpdir/cmse-new-later-implib.lib --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=2"
+ {cmse-implib.s}
+ {{ld cmse-new-earlier-later-implib.out}}
+ "cmse-new-later-implib"}
+ {"Input secure gateway import library: veneer comeback"
+ "--section-start .gnu.sgstubs=0x20000 --out-implib=tmpdir/cmse-new-comeback-implib.lib --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=3"
+ {cmse-implib.s}
+ {{readelf {-s tmpdir/cmse-new-comeback-implib.lib} cmse-new-comeback-implib.rd}}
+ "cmse-new-comeback-implib"}
+ {"Input secure gateway import library: entry function change"
+ "--section-start .gnu.sgstubs=0x20000 --out-implib=tmpdir/cmse-new-wrong-implib.lib --in-implib=tmpdir/cmse-implib.lib --cmse-implib" ""
+ "-march=armv8-m.base -mthumb --defsym VER=4"
+ {cmse-implib.s}
+ {{ld cmse-new-wrong-implib.out}}
+ "cmse-new-wrong-implib"}
+