I am looking at a crash report from parsing DWARFv2 in a binary file that was built by the SN Systems' ps3ppusnc
compiler. The target is PlayStation - presumably 3, since 4 and 5 are no longer PowerPC based. The binary is an ELF file, its machine type is EM_PPC64
- one would presume, a 64 bit machine. Yet in the CU header at the crash point, the value of the address_size
field is 4.
What's going on? Did PS3 use the CPU in 32 bit mode, or does the CPU/platform allow for mixing address size within the same program? Wikipedia says PS3 only had 512 MB of RAM (and, I presume, no pagefile), 64 bit addresses were not really necessary there.
I don't have the binary, or any PS3 binaries, or the capability to build them.
All signs point at the possibility of mixed bitness within the same binary on PowerPC. Some CUs in an otherwise 64 bit binary use 32-bit addresses, it looks like.