aboutsummaryrefslogtreecommitdiff
path: root/libpsn00b/libc/_start.S
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi92@disroot.org>2025-07-05 02:34:11 +0200
committerXavier Del Campo Romero <xavi92@disroot.org>2025-07-05 02:34:11 +0200
commitbeb76e4dd362374b8f42cd971d394bba1074cd8d (patch)
tree3ea4cc342737afb9225c01160c92647ba66c78bd /libpsn00b/libc/_start.S
parent5d9aa2d3dfc7d6e51c2eb942ab4cdbae5571a40a (diff)
Replace .include with #includefix-include
For some reason, both mipsel-unknown-elf-gcc 8.2.0 and mipsel-non-elf 15.1.0 were unable to resolve .include assembler directives. As a workaround, it is still possible to use the preprocessor, and therefore the usual #include preprocessor directive. However, this requires the assembly files to use the uppercase .S file extension.
Diffstat (limited to 'libpsn00b/libc/_start.S')
-rw-r--r--libpsn00b/libc/_start.S18
1 files changed, 18 insertions, 0 deletions
diff --git a/libpsn00b/libc/_start.S b/libpsn00b/libc/_start.S
new file mode 100644
index 0000000..35a4eaa
--- /dev/null
+++ b/libpsn00b/libc/_start.S
@@ -0,0 +1,18 @@
+# PSn00bSDK _start() trampoline
+# (C) 2022 spicyjpeg - MPL licensed
+#
+# This file provides a weak function that can be easily overridden to e.g. set
+# $sp or perform additional initialization before the "real" _start() function
+# (_start_inner()) is called.
+
+.set noreorder
+
+.section .text._start, "ax", @progbits
+.global _start
+.type _start, @function
+.weak _start
+
+_start:
+ la $gp, _gp
+ j _start_inner
+ nop