1__asm__("\ 2.global _start\n\ 3.align 4\n\ 4_start:\n\ 5 add a0, x0, sp\n\ 6/* Set gp for relaxation. See \n\ 7 * https://www.sifive.com/blog/2017/08/28/all-aboard-part-3-linker-relaxation-in-riscv-toolchain/ \n\ 8 */ \n\ 9.option push \n\ 10.option norelax \n\ 111:auipc gp, %pcrel_hi(__global_pointer$) \n\ 12 addi gp, gp, %pcrel_lo(1b) \n\ 13.option pop \n\ 14 la s0, _start_c\n\ 15 jalr s0\n\ 16"); 17