The GNU Development Chain integrates a very complete testsuite that is used to validate the compiler, assembler, linker, debugger and other tools.

The testsuite uses the DejaGNU test harness. This test harness was adapted for 68HC11/68HC12 support. The adaptation is part of DejaGNU version 1.4.2.

Release 2.2 Results

Below are the result summaries obtained for the 2.2 validation (obtained on May 1, 2003):
GNU C compiler
                === gcc Summary ===

# of expected passes            152904
# of unexpected failures        23
# of unexpected successes       80
# of expected failures          628
# of unresolved testcases       99
# of unsupported tests          150
/build/gnu-m68hc11/gcc-3.0.4/gcc/xgcc version 3.0.4 m68hc1x-20030430
GNU Binutils
                === binutils Summary ===

# of expected passes            31
# of expected failures          1
GNU Assembler
                === gas Summary ===

# of expected passes            143
# of expected failures          1
GNU Linker
                === ld Summary ===

# of expected passes            55
# of unexpected failures        4
# of expected failures          1
GNU Debugger
                === gdb Summary ===

# of expected passes            5560
# of unexpected failures        95
# of unexpected successes       88
# of expected failures          46
# of unresolved testcases       15
# of untested testcases         1
# of unsupported tests          6
Notes:
  • The C++ compiler is not validated because the validation suite uses the C++ iostreams.

The C compiler is validated with the following option and option combination (89 combinations):

  • -O0
  • -O1
  • -O2
  • -O3 -fomit-frame-pointer
  • -O3 -fomit-frame-pointer -funroll-loops
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -g
  • -Os
  • -O0 -mshort
  • -O1 -mshort
  • -O2 -mshort
  • -O3 -mshort -fomit-frame-pointer
  • -O3 -mshort -fomit-frame-pointer -funroll-loops
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mshort -g
  • -Os -mshort
  • -O1 -msoft-reg-count=0
  • -O2 -msoft-reg-count=0
  • -O3 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -g -msoft-reg-count=0
  • -Os -msoft-reg-count=0
  • -O1 -mshort -msoft-reg-count=0
  • -O2 -mshort -msoft-reg-count=0
  • -O3 -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -g -msoft-reg-count=0
  • -Os -mshort -msoft-reg-count=0
  • -O2 -mrelax
  • -O3 -mrelax -fomit-frame-pointer
  • -O3 -mrelax -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -g
  • -Os -mrelax
  • -O1 -mrelax -mshort
  • -O2 -mrelax -mshort
  • -O3 -mrelax -mshort -fomit-frame-pointer
  • -O3 -mrelax -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -mshort -g
  • -Os -mrelax -mshort
  • -O1 -mrelax -msoft-reg-count=0
  • -O2 -mrelax -msoft-reg-count=0
  • -O3 -mrelax -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -g -msoft-reg-count=0
  • -Os -mrelax -msoft-reg-count=0
  • -O1 -mrelax -mshort -msoft-reg-count=0
  • -O2 -mrelax -mshort -msoft-reg-count=0
  • -O3 -mrelax -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -mshort -g -msoft-reg-count=0
  • -Os -mrelax -mshort -msoft-reg-count=0
  • -Os -mrelax -fpeephole2 -frename-registers
  • -Os -mrelax -fpeephole2 -frename-registers -fomit-frame-pointer
  • -Os -mrelax -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls
  • -Os -mrelax -msoft-reg-count=0 -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls
  • -Os -mshort -mrelax -fpeephole2 -frename-registers
  • -Os -mshort -mrelax -fpeephole2 -frename-registers -fomit-frame-pointer
  • -Os -mshort -mrelax -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls
  • -Os -mshort -mrelax -msoft-reg-count=0 -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls
  • -O0 -m68hc12
  • -O1 -m68hc12
  • -O2 -m68hc12
  • -O3 -fomit-frame-pointer -m68hc12
  • -O3 -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -g -m68hc12
  • -Os -m68hc12
  • -Os -m68hc12 -mshort -mauto-incdec
  • -Os -m68hc12 -mshort -mauto-incdec -fomit-frame-pointer
  • -O0 -mshort -m68hc12
  • -O1 -mshort -m68hc12
  • -O2 -mshort -m68hc12
  • -O3 -mshort -fomit-frame-pointer -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -mshort -g -m68hc12
  • -Os -mshort -m68hc12
  • -O1 -m68hc12 -msoft-reg-count=0
  • -O2 -m68hc12 -msoft-reg-count=0
  • -O3 -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -m68hc12 -g -msoft-reg-count=0
  • -Os -m68hc12 -msoft-reg-count=0
  • -O1 -mshort -m68hc12 -msoft-reg-count=0
  • -O2 -mshort -m68hc12 -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -g -msoft-reg-count=0
  • -Os -mshort -m68hc12 -msoft-reg-count=0
  • -Os -mshort -m68hc12 -mauto-incdec
  • -Os -mshort -m68hc12 -mauto-incdec -fpeephole2 -fomit-frame-pointer
  • -Os -mshort -m68hc12 -mlong-calls
  • -Os -mshort -m68hc12 -fpeephole2 -frename-registers
  • -Os -mshort -fpeephole2 -frename-registers -fomit-frame-pointer
  • -Os -mshort -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls
  • -Os -mshort -fpeephole2 -frename-registers -fomit-frame-pointer -mlong-calls

Release 2.1 Results

Below are the result summaries obtained for the 2.1 validation (obtained on November 12, 2002):
GNU C compiler
		=== gcc Summary ===

# of expected passes            125660
# of unexpected failures        44
# of unexpected successes       99
# of expected failures          554
# of unresolved testcases       87
# of unsupported tests          140
/build/gnu-m68hc11/gcc-3.0.4/gcc/xgcc version 3.0.4 m68hc1x-20021111
  
GNU Binutils
		=== binutils Summary ===

# of expected passes		25
# of untested testcases		7
  
GNU Assembler

		=== gas Summary ===

# of expected passes            90
# of unexpected failures        1
  
GNU Linker
		=== ld Summary ===

# of expected passes            43
# of unexpected failures        1
# of untested testcases         13
  
GNU Debugger
                === gdb Summary ===

# of expected passes            5565
# of unexpected failures        90
# of unexpected successes       88
# of expected failures          46
# of unresolved testcases       15
# of untested testcases         1
# of unsupported tests          6
  
Notes:
  • The C++ compiler is not validated because the validation suite uses the C++ iostreams.

The C compiler is validated with the following option and option combination (74 combinations):

  • -O0
  • -O1
  • -O2
  • -O3 -fomit-frame-pointer
  • -O3 -fomit-frame-pointer -funroll-loops
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -g
  • -Os
  • -O0 -mshort
  • -O1 -mshort
  • -O2 -mshort
  • -O3 -mshort -fomit-frame-pointer
  • -O3 -mshort -fomit-frame-pointer -funroll-loops
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mshort -g
  • -Os -mshort
  • -O1 -msoft-reg-count=0
  • -O2 -msoft-reg-count=0
  • -O3 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -g -msoft-reg-count=0
  • -Os -msoft-reg-count=0
  • -O1 -mshort -msoft-reg-count=0
  • -O2 -mshort -msoft-reg-count=0
  • -O3 -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -g -msoft-reg-count=0
  • -Os -mshort -msoft-reg-count=0
  • -O2 -mrelax
  • -O3 -mrelax -fomit-frame-pointer
  • -O3 -mrelax -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -g
  • -Os -mrelax
  • -O1 -mrelax -mshort
  • -O2 -mrelax -mshort
  • -O3 -mrelax -mshort -fomit-frame-pointer
  • -O3 -mrelax -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -mshort -g
  • -Os -mrelax -mshort
  • -O1 -mrelax -msoft-reg-count=0
  • -O2 -mrelax -msoft-reg-count=0
  • -O3 -mrelax -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -g -msoft-reg-count=0
  • -Os -mrelax -msoft-reg-count=0
  • -O1 -mrelax -mshort -msoft-reg-count=0
  • -O2 -mrelax -mshort -msoft-reg-count=0
  • -O3 -mrelax -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -mshort -g -msoft-reg-count=0
  • -Os -mrelax -mshort -msoft-reg-count=0
  • -O0 -m68hc12
  • -O1 -m68hc12
  • -O2 -m68hc12
  • -O3 -fomit-frame-pointer -m68hc12
  • -O3 -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -g -m68hc12
  • -Os -m68hc12
  • -Os -m68hc12 -mshort -mauto-incdec
  • -Os -m68hc12 -mshort -mauto-incdec -fomit-frame-pointer
  • -O0 -mshort -m68hc12
  • -O1 -mshort -m68hc12
  • -O2 -mshort -m68hc12
  • -O3 -mshort -fomit-frame-pointer -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -mshort -g -m68hc12
  • -Os -mshort -m68hc12
  • -O1 -m68hc12 -msoft-reg-count=0
  • -O2 -m68hc12 -msoft-reg-count=0
  • -O3 -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -m68hc12 -g -msoft-reg-count=0
  • -Os -m68hc12 -msoft-reg-count=0
  • -O1 -mshort -m68hc12 -msoft-reg-count=0
  • -O2 -mshort -m68hc12 -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -g -msoft-reg-count=0
  • -Os -mshort -m68hc12 -msoft-reg-count=0

Beta Release 1.9d Results

Below are the result summaries obtained for the b1.9d validation (obtained on June 16, 2002):
GNU C compiler
		=== gcc Summary ===

# of expected passes		125654
# of unexpected failures	46
# of unexpected successes	99
# of expected failures		554
# of unresolved testcases	89
# of unsupported tests		142
/build/gnu-m68hc11/gcc-3.0.4/gcc/xgcc version 3.0.4 m68hc1x-20020616
  
GNU Binutils
		=== binutils Summary ===

# of expected passes		25
# of untested testcases		7
  
GNU Assembler

		=== gas Summary ===

# of expected passes		89
  
GNU Linker
		=== ld Summary ===

# of expected passes		37
# of untested testcases		7
  
Notes:
  • The C++ compiler is not validated because the validation suite uses the C++ iostreams.
  • The GDB validation is being adapted.

The C compiler is validated with the following option and option combination (74 combinations):

  • -O0
  • -O1
  • -O2
  • -O3 -fomit-frame-pointer
  • -O3 -fomit-frame-pointer -funroll-loops
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -g
  • -Os
  • -O0 -mshort
  • -O1 -mshort
  • -O2 -mshort
  • -O3 -mshort -fomit-frame-pointer
  • -O3 -mshort -fomit-frame-pointer -funroll-loops
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mshort -g
  • -Os -mshort
  • -O1 -msoft-reg-count=0
  • -O2 -msoft-reg-count=0
  • -O3 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -g -msoft-reg-count=0
  • -Os -msoft-reg-count=0
  • -O1 -mshort -msoft-reg-count=0
  • -O2 -mshort -msoft-reg-count=0
  • -O3 -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -g -msoft-reg-count=0
  • -Os -mshort -msoft-reg-count=0
  • -O2 -mrelax
  • -O3 -mrelax -fomit-frame-pointer
  • -O3 -mrelax -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -g
  • -Os -mrelax
  • -O1 -mrelax -mshort
  • -O2 -mrelax -mshort
  • -O3 -mrelax -mshort -fomit-frame-pointer
  • -O3 -mrelax -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mrelax -mshort -g
  • -Os -mrelax -mshort
  • -O1 -mrelax -msoft-reg-count=0
  • -O2 -mrelax -msoft-reg-count=0
  • -O3 -mrelax -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -g -msoft-reg-count=0
  • -Os -mrelax -msoft-reg-count=0
  • -O1 -mrelax -mshort -msoft-reg-count=0
  • -O2 -mrelax -mshort -msoft-reg-count=0
  • -O3 -mrelax -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mrelax -mshort -g -msoft-reg-count=0
  • -Os -mrelax -mshort -msoft-reg-count=0
  • -O0 -m68hc12
  • -O1 -m68hc12
  • -O2 -m68hc12
  • -O3 -fomit-frame-pointer -m68hc12
  • -O3 -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -g -m68hc12
  • -Os -m68hc12
  • -Os -m68hc12 -mshort -mauto-incdec
  • -Os -m68hc12 -mshort -mauto-incdec -fomit-frame-pointer
  • -O0 -mshort -m68hc12
  • -O1 -mshort -m68hc12
  • -O2 -mshort -m68hc12
  • -O3 -mshort -fomit-frame-pointer -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -mshort -g -m68hc12
  • -Os -mshort -m68hc12
  • -O1 -m68hc12 -msoft-reg-count=0
  • -O2 -m68hc12 -msoft-reg-count=0
  • -O3 -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -m68hc12 -g -msoft-reg-count=0
  • -Os -m68hc12 -msoft-reg-count=0
  • -O1 -mshort -m68hc12 -msoft-reg-count=0
  • -O2 -mshort -m68hc12 -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -g -msoft-reg-count=0
  • -Os -mshort -m68hc12 -msoft-reg-count=0

Release 1.1 Results

Below are the result summaries obtained for the validation:
GNU C compiler
		=== gcc Summary ===

# of expected passes		56083
# of unexpected failures	19
# of expected failures		189
# of unresolved testcases	88
# of unsupported tests		71
  
GNU Binutils
		=== binutils Summary ===

# of expected passes		22
# of untested testcases		4
  
GNU Assembler
		=== gas Summary ===

# of expected passes		76
  
GNU Linker
		=== ld Summary ===

# of expected passes		13
  
Notes:
  • The C++ compiler is not validated because the validation suite uses the C++ iostreams.
  • The GDB validation is being adapted.

The C compiler is validated with the following option and option combination (52 combinations):

  • -O0
  • -O1
  • -O2
  • -O3 -fomit-frame-pointer
  • -O3 -fomit-frame-pointer -funroll-loops
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -g
  • -Os
  • -O0 -mshort
  • -O1 -mshort
  • -O2 -mshort
  • -O3 -mshort -fomit-frame-pointer
  • -O3 -mshort -fomit-frame-pointer -funroll-loops
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions
  • -O3 -mshort -g
  • -Os -mshort
  • -O1 -msoft-reg-count=0
  • -O2 -msoft-reg-count=0
  • -O3 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -g -msoft-reg-count=0
  • -Os -msoft-reg-count=0
  • -O1 -mshort -msoft-reg-count=0
  • -O2 -mshort -msoft-reg-count=0
  • -O3 -mshort -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -g -msoft-reg-count=0
  • -Os -mshort -msoft-reg-count=0
  • -O0 -m68hc12
  • -O1 -m68hc12
  • -O2 -m68hc12
  • -O3 -fomit-frame-pointer -m68hc12
  • -O3 -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -g -m68hc12
  • -Os -m68hc12
  • -O0 -mshort -m68hc12
  • -O1 -mshort -m68hc12
  • -O2 -mshort -m68hc12
  • -O3 -mshort -fomit-frame-pointer -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-loops -m68hc12
  • -O3 -mshort -fomit-frame-pointer -funroll-all-loops -finline-functions -m68hc12
  • -O3 -mshort -g -m68hc12
  • -Os -mshort -m68hc12
  • -O1 -m68hc12 -msoft-reg-count=0
  • -O2 -m68hc12 -msoft-reg-count=0
  • -O3 -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -m68hc12 -g -msoft-reg-count=0
  • -Os -m68hc12 -msoft-reg-count=0
  • -O1 -mshort -m68hc12 -msoft-reg-count=0
  • -O2 -mshort -m68hc12 -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -fomit-frame-pointer -msoft-reg-count=0
  • -O3 -mshort -m68hc12 -g -msoft-reg-count=0
  • -Os -mshort -m68hc12 -msoft-reg-count=0