about summary refs log tree commit diff stats
path: root/linux/survey_elf.subx
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-08-22 21:06:36 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-08-22 21:09:28 -0700
commit827dd4a7fe98e80e776b206bb4966e22e22ce3c9 (patch)
tree699e33beb349cee09fc82d81dfd9c7ebef25e90a /linux/survey_elf.subx
parentb41aed4a9adda23ca2613a24fefa3eafbd611987 (diff)
downloadmu-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.subx8
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