Re: aarch64 boot crash when printing non-static string

2024-08-04 Thread Matteo Golin
Hello Petro and Michal, It seems like it was the linker script load address that was incorrect in my case. After more debugging, I read through the Raspberry Pi boot loader's output and saw the kernel was being loaded at 0x48 instead of 0x8 as I had read in some other resources for the R

Re: aarch64 boot crash when printing non-static string

2024-08-03 Thread michal . lyszczek
On 2024-07-31 21:15:53, Matteo Golin wrote: > I cannot wrap my head around why I would be able to print a static string, > but not a non-static one. Both strings appear in the `.rodata` section of > the image when I inspect it with `objdump` as well. Even the assembly > `PRINT` macro in the arm64_h

Re: aarch64 boot crash when printing non-static string

2024-08-03 Thread Petro Karashchenko
Hello Matteo, It is quite hard to make any assumptions without having an example visible in front of my eyes. The case without `static` is a bit different, so despite string content is located in .rodata.str when you do not have `static` and string (char array) is declared in a function there is s

Re: aarch64 boot crash when printing non-static string

2024-08-02 Thread Matteo Golin
Hello, Thank you Petro for the help! I've taken a look over the past couple days, tried a few different variations, and I'm still very confused by what's going on. You're correct that the program seems to get stuck when I print a string which is *not* marked as `static` in `arm64_earlyprintinit` (

Re: aarch64 boot crash when printing non-static string

2024-07-31 Thread Petro Karashchenko
Hi, Based on what you describe it seems like a stack configuration issue. About "but the `uint8_t i` variable I use as a counter in my for-loop is working just fine" -- I think that the compiler just optimizes out loop variable and does not use stack for it. There are a few things here to try here

aarch64 boot crash when printing non-static string

2024-07-31 Thread Matteo Golin
Hello all, I've been working on this problem for a while now and I'm not quite sure how to progress in my troubleshooting. I am trying to port NuttX to the Raspberry Pi 4B, which has been going well thanks to the documentation suggestions from my previous email (especially Lup's blogs which have