Avoid half-written sys.o files
Use .SECONDARY instead of temporary names to auto-delete incomplete sys.o
Merge pull request #8518 from eschnett/sys.o

Avoid half-written sys.o files
Handle character ranges starting at '\x00'

Do not calculate start-1 unless needed; start-1 may not be well-defined.
Merge branch 'char-range'