▲ | Joker_vD 3 days ago | |||||||
...you know that that's not true, neither for x64 nor RV64, and my comment was sarcastic, right? Both can only straightforwardly address ±2 GiB from the instruction pointer; beyond that, it's "large code model" all over again, with the same inelegant workarounds that's been rediscovered since the late sixties or so. GOT and PLT versus pools of absolute 64-bit addresses, pick the least worst one. | ||||||||
▲ | akira2501 3 days ago | parent [-] | |||||||
> and my comment was sarcastic, right? Pardon me for not realizing and treating it appropriately. > with the same inelegant workarounds that's been rediscovered since the late sixties or so Short of creating instructions that take 64bit immediate operands you're always going to pay the same price. An indirection. This will look different because it will be implemented most efficiently differently on different architectures. > GOT and PLT versus pools of absolute 64-bit addresses, pick the least worst one. Or statically define all those addresses within your binary. That seems more "elegant" to you? You'll have the same problem but your loader will now be inside out or you'll have none of the features the loader can provide for you. At that point just statically link all your dependencies and call it an early day. | ||||||||
|