Update spimdisasm and macro.inc

This commit is contained in:
Derek Hensley 2025-08-25 17:33:02 -07:00
parent 24ff074779
commit 8aad35ba5d
3 changed files with 51 additions and 16 deletions

View File

@ -3,25 +3,60 @@
.internal _MACRO_INC_GUARD
.set _MACRO_INC_GUARD, 1
.macro glabel label
.global \label
.ent \label
# A function symbol.
.macro glabel label, visibility=global
.\visibility \label
.type \label, @function
\label:
.ent \label
.endm
# The end of a function symbol.
.macro endlabel label
.size \label, . - \label
.end \label
.endm
# An alternative entry to a function.
.macro alabel label, visibility=global
.\visibility \label
.type \label, @function
\label:
.aent \label
.endm
# A label referenced by an error handler table.
.macro ehlabel label, visibility=global
.\visibility \label
\label:
.endm
.macro endlabel label
.end \label
# A label referenced by a jumptable.
.macro jlabel label, visibility=global
\label:
.endm
# A data symbol.
.macro dlabel label, visibility=global
.\visibility \label
.type \label, @object
\label:
.endm
# End of a data symbol.
.macro enddlabel label
.size \label, . - \label
.endm
.macro dlabel label
.global \label
\label:
.endm
.macro jlabel label
\label:
# Label to signal the symbol haven't been matched yet.
.macro nonmatching label, size=1
.global \label\().NON_MATCHING
.type \label\().NON_MATCHING, @object
.size \label\().NON_MATCHING, \size
\label\().NON_MATCHING:
.endm
# COP0 register aliases

View File

@ -6,7 +6,7 @@ pyyaml>=6.0.1,<7.0.0
# disasm
rabbitizer>=1.3.0,<2.0.0
spimdisasm>=1.34.2,<2.0.0 # Sync with tools/disasm/disasm.py
spimdisasm>=1.36.0,<2.0.0 # Sync with tools/disasm/disasm.py
# yars
pyelftools>=0.26

View File

@ -85,10 +85,10 @@ def main():
args = parser.parse_args()
if spimdisasm.__version_info__ < (1, 28, 1):
# Version should be kept up to date with requirements.txt
print(f"Error: spimdisasm>=1.34.2 is required (you have {spimdisasm.__version__})")
print("Hint: run `make venv` to update the venv.")
if spimdisasm.__version_info__ < (1, 36, 0):
# Version should be kept up to date with requirements.txt
print(f"Error: spimdisasm>=1.36.0 is required (you have {spimdisasm.__version__})")
print("Hint: run `make setup` to update the venv.")
exit(1)
context = spimdisasm.common.Context()