Alignment in linker script

This commit is contained in:
Imbus 2024-04-07 14:56:53 +02:00
parent 3725cbe58d
commit 005ad4e987
4 changed files with 23 additions and 1 deletions

17
add.s Normal file
View file

@ -0,0 +1,17 @@
.globl add
.text
.align 2
.type add, @function
add:
addi sp,sp,-32
sw ra,28(sp)
sw s0,24(sp)
addi s0,sp,32
sw a0,-20(s0)
lw a5,-20(s0)
slli a5,a5,1
mv a0,a5
lw ra,28(sp)
lw s0,24(sp)
addi sp,sp,32
jr ra

View file

@ -7,12 +7,15 @@ SECTIONS {
.text : { .text : {
main.o(.text.*) main.o(.text.*)
*(.text) *(.text)
. = ALIGN(4);
} > DRAM } > DRAM
.data : { .data : {
*(.data) *(.data)
. = ALIGN(4);
} > DRAM AT > SRAM } > DRAM AT > SRAM
.bss : { .bss : {
*(.bss) *(.bss)
. = ALIGN(4);
} > DRAM } > DRAM
/DISCARD/ : { /DISCARD/ : {
*(.riscv.attributes) *(.riscv.attributes)

1
main.s
View file

@ -1,6 +1,5 @@
# Define variables # Define variables
.data .data
.align 4
num1: .word 5 # First number num1: .word 5 # First number
num2: .word 7 # Second number num2: .word 7 # Second number
result: .word 0 # Variable to store the result result: .word 0 # Variable to store the result

View file

@ -84,6 +84,9 @@ data: all
size: all size: all
$(SIZE) $(TARGET) $(SIZE) $(TARGET)
format:
clang-format -i *.s
# Clean up # Clean up
clean: clean:
rm -f $(TARGET) $(OBJS) rm -f $(TARGET) $(OBJS)