To be used by two upcoming patches.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
It doesn't really, but _CALL_ELF is the correct one.
The story is: there are two ABIs for ppc64 (determined by _CALL_ELF) and two endians. Originally, only BE was used. One day, they decided to transition to LE for whatever reason, and made a new ABI while they were at it. So if you configure for powerpc64, you get BE and v1, while configuring for powerpc64le results in v2. It is possible to convince gcc (but not llvm) to compile for other combinations via some -m options, but you won't find such cases in the wild (someone would have to compile a full system like that, and it's quite painful).
Thanks for the explanation. Maybe add a short comment with this info near the macro definitions. Is it true that in V2 ABI function pointers are simple code pointers?
I'll add a comment. Yeah, in v2 (or 32-bit ppc, for that matter) function pointers are plain old code pointers, like on most architectures.