summaryrefslogtreecommitdiff
path: root/ports/risc-v64/gnu/example_build/qemu_virt/entry.S
diff options
context:
space:
mode:
Diffstat (limited to 'ports/risc-v64/gnu/example_build/qemu_virt/entry.S')
-rw-r--r--ports/risc-v64/gnu/example_build/qemu_virt/entry.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/ports/risc-v64/gnu/example_build/qemu_virt/entry.S b/ports/risc-v64/gnu/example_build/qemu_virt/entry.S
index 2b68310d..5268d68e 100644
--- a/ports/risc-v64/gnu/example_build/qemu_virt/entry.S
+++ b/ports/risc-v64/gnu/example_build/qemu_virt/entry.S
@@ -10,7 +10,7 @@
/***************************************************************************/
-.section .text
+.section .text.entry
.align 4
.global _start
.extern main
@@ -22,7 +22,10 @@ _start:
bne t0, zero, 1f
li x1, 0
li x2, 0
- li x3, 0
+.option push
+.option norelax
+ la gp, __global_pointer$ /* x3 = gp; norelax keeps this load absolute */
+.option pop
li x4, 0
li x5, 0
li x6, 0