litex-hub / linux-on-litex-vexriscv

Linux on LiteX-VexRiscv
BSD 2-Clause "Simplified" License
550 stars 174 forks source link

Failed to modify “boot.c” and the riscv64-unknown-elf/bin/ld report an error “undefined reference to `__heap_start'” #375

Open May15356 opened 6 months ago

May15356 commented 6 months ago

I tried to modify litex/litex/soc/software/bios/boot.c where I simply insert

 int *merged = malloc(sizeof(int));

Then the riscv64-unknown-elf/bin/ld report an error “undefined reference to `__heap_start'”

/usr/bin/../lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: ../libc/libc.a(libc_picolib_picosbrk.c.o): in function `sbrk':
/home/may/linux-on-litex-vexriscv/build/sim/software/libc/../../../../../pythondata-software-picolibc/pythondata_software_picolibc/data/newlib/libc/picolib/picosbrk.c:46: undefined reference to `__heap_start'
/usr/bin/../lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: /home/may/linux-on-litex-vexriscv/build/sim/software/libc/../../../../../pythondata-software-picolibc/pythondata_software_picolibc/data/newlib/libc/picolib/picosbrk.c:46: undefined reference to `__heap_start'
/usr/bin/../lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: /home/may/linux-on-litex-vexriscv/build/sim/software/libc/../../../../../pythondata-software-picolibc/pythondata_software_picolibc/data/newlib/libc/picolib/picosbrk.c:49: undefined reference to `__heap_end'
/usr/bin/../lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: /home/may/linux-on-litex-vexriscv/build/sim/software/libc/../../../../../pythondata-software-picolibc/pythondata_software_picolibc/data/newlib/libc/picolib/picosbrk.c:49: undefined reference to `__heap_end'
/usr/bin/../lib/gcc/riscv64-unknown-elf/10.1.0/../../../../riscv64-unknown-elf/bin/ld: ../libc/libc.a(libc_picolib_picosbrk.c.o):/home/may/linux-on-litex-vexriscv/build/sim/software/libc/../../../../../pythondata-software-picolibc/pythondata_software_picolibc/data/newlib/libc/picolib/picosbrk.c:41: undefined reference to `__heap_start'
collect2: error: ld returned 1 exit status

I'll be very grateful if someone could help!