insert a compile phase to emit some debug info

This commit is contained in:
Kartik K. Agaram 2021-05-14 11:54:42 -07:00
parent 2df1d1a730
commit ff8ec9bcff
8 changed files with 2921 additions and 2320 deletions

BIN
linux/labels_baremetal Executable file

Binary file not shown.

2831
linux/labels_baremetal.subx Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -216,7 +216,7 @@ bootstrap/bootstrap translate [01]*.subx random.subx -o random
# Phases of the self-hosted SubX translator. # Phases of the self-hosted SubX translator.
for phase in hex survey_elf survey_baremetal pack assort dquotes tests for phase in hex survey_elf survey_baremetal labels_baremetal pack assort dquotes tests
do do
echo $phase echo $phase
bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase
@ -314,7 +314,7 @@ done
# Phases of the self-hosted SubX translator. # Phases of the self-hosted SubX translator.
for app in hex survey_elf survey_baremetal pack assort dquotes tests for app in hex survey_elf survey_baremetal labels_baremetal pack assort dquotes tests
do do
echo $app echo $app
./translate_subx [01]*.subx subx-params.subx $app.subx ./translate_subx [01]*.subx subx-params.subx $app.subx

View File

@ -137,7 +137,7 @@ bootstrap/bootstrap translate [01]*.subx random.subx -o random
# Phases of the self-hosted SubX translator. # Phases of the self-hosted SubX translator.
for phase in hex survey_elf survey_baremetal pack assort dquotes tests for phase in hex survey_elf survey_baremetal labels_baremetal pack assort dquotes tests
do do
echo $phase echo $phase
bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase
@ -211,7 +211,7 @@ done
# Phases of the self-hosted SubX translator. # Phases of the self-hosted SubX translator.
for app in hex survey_elf survey_baremetal pack assort dquotes tests for app in hex survey_elf survey_baremetal labels_baremetal pack assort dquotes tests
do do
echo $app echo $app
./translate_subx_emulated [01]*.subx subx-params.subx $app.subx ./translate_subx_emulated [01]*.subx subx-params.subx $app.subx

View File

@ -12,23 +12,24 @@
set -e set -e
cat $* |linux/braces > a.braces cat $* |linux/braces > a.braces
cat a.braces |linux/calls > a.calls cat a.braces |linux/calls > a.calls
cat a.calls |linux/sigils > a.sigils cat a.calls |linux/sigils > a.sigils
cat a.sigils |linux/tests > a.tests cat a.sigils |linux/tests > a.tests
# no assort since baremetal SubX doesn't have segments yet # no assort since baremetal SubX doesn't have segments yet
cat a.tests |linux/dquotes > a.dquotes cat a.tests |linux/dquotes > a.dquotes
cat a.dquotes |linux/pack > a.pack cat a.dquotes |linux/pack > a.pack
cat a.pack |linux/survey_baremetal > a.survey cat a.pack |linux/survey_baremetal > labels
cat a.pack |linux/labels_baremetal labels > a.survey
cat a.survey |linux/hex > a.bin cat a.survey |linux/hex > a.bin
# Create code.img containing a.bin # Create code.img containing a.bin
dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB

View File

@ -3,27 +3,37 @@
# #
# This script uses emulation, so it does not require x86 or Linux. However it # This script uses emulation, so it does not require x86 or Linux. However it
# is slow. # is slow.
#
# A couple of gotchas:
# * Many phases here have no error-checking. Perhaps I should use a
# version of translate_subx_debug for baremetal.
# * Don't pass in numbered .subx files without translated .mu files. Our test
# harness is in test.mu, and only Mu programs can run tests in baremetal.
#
# The top level is in general not as rigorous about avoiding dependency cycles
# as the lower-level tools in linux/
set -e set -e
set -v set -v
cat $* |linux/bootstrap/bootstrap run linux/braces > a.braces cat $* |linux/bootstrap/bootstrap run linux/braces > a.braces
cat a.braces |linux/bootstrap/bootstrap run linux/calls > a.calls cat a.braces |linux/bootstrap/bootstrap run linux/calls > a.calls
cat a.calls |linux/bootstrap/bootstrap run linux/sigils > a.sigils cat a.calls |linux/bootstrap/bootstrap run linux/sigils > a.sigils
cat a.sigils |linux/bootstrap/bootstrap run linux/tests > a.tests cat a.sigils |linux/bootstrap/bootstrap run linux/tests > a.tests
# no assort since baremetal SubX doesn't have segments yet # no assort since baremetal SubX doesn't have segments yet
cat a.tests |linux/bootstrap/bootstrap run linux/dquotes > a.dquotes cat a.tests |linux/bootstrap/bootstrap run linux/dquotes > a.dquotes
cat a.dquotes |linux/bootstrap/bootstrap run linux/pack > a.pack cat a.dquotes |linux/bootstrap/bootstrap run linux/pack > a.pack
cat a.pack |linux/bootstrap/bootstrap run linux/survey_baremetal > a.survey cat a.pack |linux/bootstrap/bootstrap linux/survey_baremetal > labels
cat a.pack |linux/bootstrap/bootstrap linux/labels_baremetal labels > a.survey
cat a.survey |linux/bootstrap/bootstrap run linux/hex > a.bin cat a.survey |linux/bootstrap/bootstrap run linux/hex > a.bin
# Create code.img containing a.bin # Create code.img containing a.bin
dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB