diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-08-22 21:06:36 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-08-22 21:09:28 -0700 |
commit | 827dd4a7fe98e80e776b206bb4966e22e22ce3c9 (patch) | |
tree | 699e33beb349cee09fc82d81dfd9c7ebef25e90a /linux/survey_elf.subx | |
parent | b41aed4a9adda23ca2613a24fefa3eafbd611987 (diff) | |
download | mu-827dd4a7fe98e80e776b206bb4966e22e22ce3c9.tar.gz |
start throwing error on duplicate label
One less error that's only in the bootstrap phase. On the other hand, for simplicity I got rid of the ability to override the Entry label. One less special case, but we're also going further from the ability to run subsets of layers. We haven't really been exercising it for a long time, though (commit 7842, March 2021 when we made baremetal the default).
Diffstat (limited to 'linux/survey_elf.subx')
-rw-r--r-- | linux/survey_elf.subx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/linux/survey_elf.subx b/linux/survey_elf.subx index 838feb88..59fb5af4 100644 --- a/linux/survey_elf.subx +++ b/linux/survey_elf.subx @@ -451,7 +451,7 @@ compute-offsets: # in: (addr stream byte), segments: (addr stream {(handle arra # break (next line) # else if label?(word-slice) # strip trailing ':' from word-slice - # linfo: (addr label-info) = get-or-insert-slice(labels, word-slice) + # linfo: (addr label-info) = insert-slice-or-abort(labels, word-slice) # linfo->segment-name = curr-segment-name # trace("label '", word-slice, "' is in segment '", curr-segment-name, "'.") # linfo->segment-offset = segment-offset @@ -753,15 +753,15 @@ $compute-offsets:case-label: 0f 84/jump-if-= $compute-offsets:case-default/disp32 # strip trailing ':' from word-slice ff 1/subop/decrement 1/mod/*+disp8 2/rm32/edx . . . . 4/disp8 . # decrement *(edx+4) - # linfo/edi = get-or-insert-slice(labels, word-slice, row-size=24) - # . eax = get-or-insert-slice(labels, word-slice, row-size=24) + # linfo/edi = insert-slice-or-abort(labels, word-slice, row-size=24) + # . eax = insert-slice-or-abort(labels, word-slice, row-size=24) # . . push args 68/push Heap/imm32 68/push 0x18/imm32/row-size 52/push-edx ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) # . . call - e8/call get-or-insert-slice/disp32 + e8/call insert-slice-or-abort/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x10/imm32 # add to esp # . edi = eax |