PISCATAWAY, N.J. – April 19, 2011 – Power.org, the organization that promotes and develops standards for Power Architecture® technology, announced the availability of the Power Architecture® 32-bit Application Binary Interface Supplement that is current with Power ISA 2.05 (Power Architecture® 32-bit ABI Supplement 1.0). The supplement, collaboratively prepared by Code Sourcery (now part of Mentor Graphics), Eager Consulting, Freescale Semiconductor, Green Hills Software, IBM, and Wind River, provides detailed documentation on the current state of the 32-bit Power Architecture processor-specific ELF ABI as implemented for the Linux Operating System and embedded environments. The new document, which includes every unique update generated by interested parties of the ABI, was published under the GNU Free Document License (Version 1.3).
“The Power.org technical subcommittee, originated after several Power.org member companies sought to document the de facto ABI into a unified document,” explained Nina Wilner, CTO, Power.org, IBM, and chair of the PowerABI Technical Subcommittee. “This combined effort was an important step in delivering detailed documentation and eliminating possible fragmentation caused by changes made independently. Unification of the Linux and embedded ABIs will allow a high level of compatibility among Power Architecture implementations.”
The original 32-bit PowerPC ELF ABI document, “System V Application Binary Interface: PowerPC Processor Supplement,” which was published in September 1995, was created cooperatively by IBM and SunSoft using UNIX System Laboratories, Inc. copyrighted material with permission. Since then, the advancement of Power Architecture hardware, improvements in security, and the maturation of the generic ELF ABI specification, necessitated numerous changes to the specification.
The information in the new ABI document was largely derived from the 64-bit Power ELF ABI, E500 ABI, EABI, TLS ABI, and Secure-PLT ABI. By publishing the supplement under the GNU Free Document License, future loss of revision authority is prevented. The following changes to the ABI are thoroughly documented in the new supplement:
• APU Information
• C++ Exception support
• Complex Numbers
• DFP – Decimal Floating Point Hardware support
• DWARF (Debugging Format)
• EABI – Embedded ABI
• Secure-PLT
• SPE – Signal Processing Engine Hardware support
• TLS – Thread Local Storage
• Vector – AltiVec support
• VLE – Variable Length Encoding Hardware support
Fragmentation caused by changes made since the original ABI documentation was written, have been corrected or documented as incompatible by certain implementations. Fragmentation had occurred in the register reservation/usage overlap (small data areas vs. TLS ABI), complex number passing conventions (GPRs vs. Passed as Structs), and overlap in relocation number reservations and type duplications.
To download the materials, visit www.power.org/resources/downloads/
Future revisions, the PowerABI Technical Subcommittee plans, include:
• Dynamic Stack Unwind info vs. Static Register Save Areas
• ISA 2.06 currency
• Pass Complex types in floating point registers
• Secure-PLT for EABI.
• STT_GNU_IFUNC support
• TLS ABI for EABI (challenges due to register assignment)
• VSX ABI
For more information, visit www.power.org, follow us on Twitter @Powerorg, or join us on LinkedIn.
About Power.org
Celebrating 20 years of leadership, Power Architecture technology is behind millions of innovative products, including the world’s fastest supercomputers, leading video game consoles, and electronic systems in most of today’s car models. Every phone call, email and Web page touches hundreds of Power Architecture systems. The open Power.org community, formed in 2005, is the organization driving collaborative innovation around Power Architecture technology. Power.org’s mission is to optimize interoperability, accelerate innovation and drive increased adoption of this leading processor architecture. For more details, visit www.power.org.