I've been given an ELF binary file which self describes as PowerPC 64-bit. The e_entry
field of the ELF header points to the beginning of a section called .opd
. According to this specification, it is supposed to point to a function descriptor. The same specification states that a function descriptor consists of three doublewords (64-bit words).
However, the binary in question (available here) appears to have only two 32-bit words for each function descriptor.
So the question is, why are there 32-bit pointers in this 64-bit binary?