summaryrefslogtreecommitdiff
path: root/tools/asm-processor/prelude.inc
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2025-09-04 17:56:01 -0700
committerGitHub <noreply@github.com>2025-09-04 17:56:01 -0700
commit61a38830b94c28b3fcead3e22161c3dd621d25c9 (patch)
tree8ae9664d2feae319bb7da12ddd7cc7e06751f1ae /tools/asm-processor/prelude.inc
parenta4d5910cdb9bed05fa5aea4476a3cf4ef178be06 (diff)
Spimdisasm update (#243)HEADmain
* git subrepo pull tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "5c3984fc" upstream: origin: "git@github.com:simonlindholm/asm-processor.git" branch: "main" commit: "5c3984fc" git-subrepo: version: "0.4.9" origin: "git@github.com:ingydotnet/git-subrepo.git" commit: "ea10886" * Fix things needed for new spimdisasm release
Diffstat (limited to 'tools/asm-processor/prelude.inc')
-rw-r--r--tools/asm-processor/prelude.inc38
1 files changed, 34 insertions, 4 deletions
diff --git a/tools/asm-processor/prelude.inc b/tools/asm-processor/prelude.inc
index 9bc8939..fc08ac6 100644
--- a/tools/asm-processor/prelude.inc
+++ b/tools/asm-processor/prelude.inc
@@ -2,21 +2,51 @@
.set noreorder
.set gp=64
-.macro glabel label
- .global \label
+# A function symbol (but some projects use it for everything).
+.macro glabel label, visibility=global
+ .\visibility \label
\label:
.endm
-.macro dlabel label
- .global \label
+# The end of a function symbol.
+.macro endlabel label
+ .size \label, . - \label
+.endm
+
+# An alternative entry to a function.
+.macro alabel label, visibility=global
+ .\visibility \label
+ .type \label, @function
+ \label:
+.endm
+
+
+# A data symbol.
+.macro dlabel label, visibility=global
+ .\visibility \label
\label:
.endm
+# End of a data symbol.
+.macro enddlabel label
+ .size \label, . - \label
+.endm
+
+
+# A label referenced by a jumptable.
.macro jlabel label
\label:
.endm
+# 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
+
# Float register aliases (o32 ABI, odd ones are rarely used)
.set $fv0, $f0