So here's the last thing I do:
Step 1) Edit the first 5 bytes in the ELF header of my Dynamo binary
to change it from MSB to LSB
If I were to then run my Dynamo binary, it would of course crash
because all the memory locations are in Big Endian instead of Little
Endian, and so it will segfault. And so that's why I move on to step
2:
Step 2) Use 'readelf' on my binary to find the entry point: "readelf
-h dynamo | grep Entry", and then at that address insert one
instruction "setend be" so that the remainder of the code will be
executed with the CPU in Big Endian mode
So then my program will run in Big Endian mode (even though the statically-linked executable file might be 100 megabytes instead of 5 megabytes).
Will this be possible?
I posted this post this morning to the forums for Raspberry Pi and
wxWidgets. I'd also like to get opinions here.
Frederick Gotham writes:
I posted this post this morning to the forums for Raspberry Pi and wxWidgets. I'd also like to get opinions here.[running program compiled for big endian on Raspberry Pi]
I think you'll need a BE operating environment for that. In principle,
you can create one using a suitable cross-compiler in a little-endian environment.
On Thursday, January 20, 2022 at 4:40:57 PM UTC, Rainer Weikusat wrote:
Frederick Gotham writes:
I posted this post this morning to the forums for Raspberry Pi and[running program compiled for big endian on Raspberry Pi]
wxWidgets. I'd also like to get opinions here.
I think you'll need a BE operating environment for that. In principle,
you can create one using a suitable cross-compiler in a little-endian
environment.
I can't find a Linux distro for the "arm32 be8" platform anywhere. So
do I need to use my x86_64 desktop PC to build 'buildroot' for arm32
be8, and then once I can boot up into a shell, install everything from source? Install GNOME and all the rest?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 307 |
Nodes: | 16 (2 / 14) |
Uptime: | 73:43:27 |
Calls: | 6,915 |
Files: | 12,382 |
Messages: | 5,432,372 |