Skip to content

Commit

Permalink
insert a compile phase to emit some debug info
Browse files Browse the repository at this point in the history
  • Loading branch information
akkartik committed May 14, 2021
1 parent 2df1d1a commit ff8ec9b
Show file tree
Hide file tree
Showing 8 changed files with 3,003 additions and 2,402 deletions.
Binary file added linux/labels_baremetal
Binary file not shown.
2,831 changes: 2,831 additions & 0 deletions linux/labels_baremetal.subx

Large diffs are not rendered by default.

Binary file modified linux/survey_baremetal
Binary file not shown.
2,523 changes: 141 additions & 2,382 deletions linux/survey_baremetal.subx

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions linux/test_apps
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ bootstrap/bootstrap translate [01]*.subx random.subx -o random

# 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
echo $phase
bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase
Expand Down Expand Up @@ -314,7 +314,7 @@ done

# 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
echo $app
./translate_subx [01]*.subx subx-params.subx $app.subx
Expand Down
4 changes: 2 additions & 2 deletions linux/test_apps_emulated
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ bootstrap/bootstrap translate [01]*.subx random.subx -o random

# 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
echo $phase
bootstrap/bootstrap translate [01]*.subx subx-params.subx $phase.subx -o $phase
Expand Down Expand Up @@ -211,7 +211,7 @@ done

# 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
echo $app
./translate_subx_emulated [01]*.subx subx-params.subx $app.subx
Expand Down
17 changes: 9 additions & 8 deletions translate_subx
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,24 @@

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

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
dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB
Expand Down
26 changes: 18 additions & 8 deletions translate_subx_emulated
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,37 @@
#
# This script uses emulation, so it does not require x86 or Linux. However it
# 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 -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

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
dd if=/dev/zero of=code.img count=20160 # 512-byte sectors, so 10MB
Expand Down

0 comments on commit ff8ec9b

Please sign in to comment.