summary refs log tree commit diff
path: root/log-load.e
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-05-22 20:04:58 -0700
committerIrene Knapp <ireneista@irenes.space>2026-05-22 20:04:58 -0700
commit6a11bca93d6b6ac4d3e5a1b51c2b50ce0720d2a7 (patch)
tree35fd3fcdfe6e90239c000a6383c82548edb0e2ce /log-load.e
parent02a165b1e5ce2960207976e0c27b568ab2d33f8d (diff)
fix our first binary reproducibility issue (wow)
with this fix, the first-generation and second-generation builds are precisely identical

it was an unused codeword in the bootstrapped docol, under the label transform, which inadvertently had a value from the host address space.  the fix required some creativity.

Force-Push: yes
Change-Id: I05b373b4231fa093454fa31891784de16d81bb18
Diffstat (limited to 'log-load.e')
-rw-r--r--log-load.e12
1 files changed, 12 insertions, 0 deletions
diff --git a/log-load.e b/log-load.e
index d1e4a2f..55fa25d 100644
--- a/log-load.e
+++ b/log-load.e
@@ -200,6 +200,18 @@
   over log-load-here swap drop ! ;
 
 
+~ (log address -- log address)
+: log-load-self-codeword
+  log-load-here dup @
+  ~ (log address, here, output point)
+
+  dup 8 + pack64
+  ~ (log address, here, output point)
+
+  swap ! ;
+
+
+
 ~   This is the same as ",", from dynamic.e, except that it takes the log's
 ~ address as a parameter rather than hardcoding it, so that it can be used in
 ~ situations where the normal compilation process isn't yet available.