aboutsummaryrefslogtreecommitdiffstats
path: root/elf.py
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2021-05-27 09:54:05 +0000
committers-ol <s+removethis@s-ol.nu>2021-06-08 14:01:39 +0000
commit848e84b0948e3cf60cd118e3d2f507f20920e06c (patch)
tree4bd869f57284425a94b7b711a27c4c230d77d424 /elf.py
parentapply "black" formatting (diff)
downloadsubv-848e84b0948e3cf60cd118e3d2f507f20920e06c.tar.gz
subv-848e84b0948e3cf60cd118e3d2f507f20920e06c.zip
fix jalr immediate slice, update example stage results
Diffstat (limited to 'elf.py')
-rwxr-xr-xelf.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/elf.py b/elf.py
index f0cc94e..0db1138 100755
--- a/elf.py
+++ b/elf.py
@@ -91,16 +91,17 @@ def elf(iter):
segments = []
segment = None
for _, line in iter:
- if line["type"] == "segment":
+ type = line["type"]
+ if type == "segment":
(name, addr) = line["segment"]
segment = {"name": name, "addr": addr, "content": []}
segments.append(segment)
- elif line["type"] == "instr":
+ elif type == "instr":
if segment == None:
raise ValueError("label or code outside of segment!")
segment["content"] += line["instr"]
- else:
+ elif type != "empty":
raise ValueError("elf input should contain only segments and data!")
c = write_elf_header(segments)