GNAT cross-compiler: my various questions
Re: GNAT cross-compiler: what target triplet to use?
I think you can find a sensible maximum that is rather less than that. You’re not going to have as many memory regions with as there are bytes of memory. But what does it matter? You’re never going to actually reach that limit; in reality you are just saying “this array is of unknown size”. If you are assigning an address to the record, it’s never going to use more memory - just the bytes you have already read into RAM at that address.
Re: GNAT cross-compiler: what target triplet to use?
So I've ported the Limine spec structs and stuff to Ada and I want to use it. Actually writing the kernel-to-bootloader structs is trivial, but how do I actually read back what the bootloader gives me? In other words: I parse the stivale structure and have the address of the first tag. But how do I actually parse that structure? I suppose I could just declare a tag structure, set its address to the address of the first tag, and then start reading that data, but do I need unchecked conversion to read the (entire) structure, including the tag? If so, that's going to get incredibly irritating, given that I'll need to instantiate Unchecked_Conversion for *every* Stivale2 structure combination. I feel like I'm overthinking the problem, though.