Strip down linker script
This commit is contained in:
@@ -32,46 +32,7 @@ _start:
|
||||
bltu a0, a1, 1b
|
||||
2:
|
||||
|
||||
// Call preinit array functions
|
||||
la s0, __preinit_array_start
|
||||
la s1, __preinit_array_end
|
||||
bgeu s0, s1, 2f
|
||||
1:
|
||||
lw t0, (s0)
|
||||
jalr t0
|
||||
addi s0, s0, 4
|
||||
bltu s0, s1, 1b
|
||||
2:
|
||||
|
||||
// Call init array functions
|
||||
la s0, __init_array_start
|
||||
la s1, __init_array_end
|
||||
bgeu s0, s1, 2f
|
||||
1:
|
||||
lw t0, (s0)
|
||||
jalr t0
|
||||
addi s0, s0, 4
|
||||
bltu s0, s1, 1b
|
||||
2:
|
||||
|
||||
// Invoke main with a possible mode switch
|
||||
la ra, 1f
|
||||
// Invoke main
|
||||
la t0, main
|
||||
csrw mepc, t0
|
||||
mret
|
||||
|
||||
1:
|
||||
// Return from main, call fini array functions
|
||||
la s0, __fini_array_start
|
||||
la s1, __fini_array_end
|
||||
bgeu s0, s1, 2f
|
||||
1:
|
||||
lw t0, (s0)
|
||||
jalr t0
|
||||
addi s0, s0, 4
|
||||
bltu s0, s1, 1b
|
||||
2:
|
||||
|
||||
// Finally, loop infinitely
|
||||
wfi
|
||||
j 2b
|
||||
|
||||
Reference in New Issue
Block a user