diff options
Diffstat (limited to 'elfcpp')
-rw-r--r-- | elfcpp/ChangeLog | 5 | ||||
-rw-r--r-- | elfcpp/powerpc.h | 26 |
2 files changed, 31 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index d031d1b..fa33bf1 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,8 @@ +2018-07-06 Alan Modra <amodra@gmail.com> + + * powerpc.h (Tag_GNU_Power_ABI_FP): Define. + (Tag_GNU_Power_ABI_Vector, Tag_GNU_Power_ABI_Struct_Return): Define. + 2018-06-24 Nick Clifton <nickc@redhat.com> 2.31 branch created. 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 { |