diff options
Diffstat (limited to 'elfcpp/powerpc.h')
-rw-r--r-- | elfcpp/powerpc.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h index 71de459..5996691 100644 --- a/elfcpp/powerpc.h +++ b/elfcpp/powerpc.h @@ -230,6 +230,32 @@ enum EF_PPC64_ABI = 3 }; +// Object attribute tags. 0-3 are generic. +enum +{ + // FP ABI, low 2 bits: + // 1 for double precision hard-float, + // 2 for soft-float, + // 3 for single precision hard-float. + // 0 for not tagged or not using any ABIs affected by the differences. + // Next 2 bits: + // 1 for ibm long double + // 2 for 64-bit long double + // 3 for IEEE long double. + // 0 for not tagged or not using any ABIs affected by the differences. + Tag_GNU_Power_ABI_FP = 4, + + // Value 1 for general purpose registers only, 2 for AltiVec + // registers, 3 for SPE registers; 0 for not tagged or not using any + // ABIs affected by the differences. + Tag_GNU_Power_ABI_Vector = 8, + + // Value 1 for ABIs using r3/r4 for returning structures <= 8 bytes, + // 2 for ABIs using memory; 0 for not tagged or not using any ABIs + // affected by the differences. + Tag_GNU_Power_ABI_Struct_Return = 12 +}; + // DT_PPC_OPT bits enum { |