Skip to content

Consider adding language extensions (e.g., Swift) #20

@openpower-gitea-migrator

Description

@openpower-gitea-migrator

Originally Gitea issue #20 by @toshywoshy on 2016-11-13


The ELFv2 ABI is primarily written with C and C++ in mind, with a smattering of Fortran references. Occasionally we are going to run into languages that require extensions to the ABI. For example, Swift requires a mechanism for handling multiple return values, as well as special registers for SwiftSelf and SwiftError. At the moment, Swift will only be implemented with an LLVM back end, but history teaches that this is unlikely to always be the case. For compatibility we should state how these extensions should be implemented under ELFv2.

It's also likely that other languages will require similar treatment in the future, so we should add a section for extensions, with Swift being one subsection of this.

The LLVM implementation for System z can be found as shown below (thanks, Uli!). Currently there is not yet an LLVM implementation for POWER, but one is needed and is expected to be added soon.

http://reviews.llvm.org/D19414 (LLVM)
http://reviews.llvm.org/D19432 (clang)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions