23 lines
900 B
Plaintext
23 lines
900 B
Plaintext
|
#!/bin/sh
|
||
|
# Hackily check for certain kinds of errors.
|
||
|
#
|
||
|
# We still rely exclusively on linux/bootstrap/bootstrap for some static
|
||
|
# checks on bare SubX code that aren't implemented yet in the self-hosted
|
||
|
# translator phases.
|
||
|
#
|
||
|
# However, boot.subx uses instructions that bootstrap doesn't recognize. So we
|
||
|
# won't check it.
|
||
|
|
||
|
set -e
|
||
|
|
||
|
cat $* [0-9]*.mu |linux/mu > a.subx
|
||
|
|
||
|
cat misc_checks.subx mu-init.subx [0-9]*.subx a.subx |linux/braces > a.braces
|
||
|
cat a.braces |linux/calls > a.calls
|
||
|
cat a.calls |linux/sigils > a.sigils
|
||
|
|
||
|
CXXFLAGS=-g linux/bootstrap/bootstrap --debug translate a.sigils -o a.elf
|
||
|
# Translation will never succeed,
|
||
|
# but if we get to "missing reference to global" errors, they're expected and
|
||
|
# we've gotten to the end of what bootstrap can check for us.
|