diff options
author | Mike Holmes <mike.holmes@linaro.org> | 2016-08-18 10:09:50 -0400 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2016-08-19 13:21:46 +0300 |
commit | f11a255716190184f8eaeef1888fd5b82773aa66 (patch) | |
tree | cec21663b9f313ba09ae7e9fbca082577ccf45c0 /doc | |
parent | 84bc9a4cdc3569f79d894f4644a4e0051155be24 (diff) |
doc: release-guide: add LTS details
Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/process-guide/release-guide.adoc | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/doc/process-guide/release-guide.adoc b/doc/process-guide/release-guide.adoc index 788eb6bc5..8ea147af8 100644 --- a/doc/process-guide/release-guide.adoc +++ b/doc/process-guide/release-guide.adoc @@ -83,6 +83,7 @@ repository. All patches are acknowledged on the list as soon as they have been applied to the repository. +No patch may be accepted that knowingly breaks git bisect. === api-next === * api-next is always rebased on top of master when there is a release point in @@ -115,6 +116,57 @@ atomically as possible * the maintainer updates the version number * the maintainer tags the master branch +=== Long Term Support (LTS) +ODP is portable at two levels, at a recompiled common API level for maximum +performance, and in a more portable way at an ABI level which may sacrifice +some performance. + +==== odp-linux API and APB compatibility +In the odp-linux case, the Linux Operating System (OS) provides a mechanism for +ensuring ABI compatibility with the .so naming for shared libraries. This OS +specific number provides different definitions for the digits to the ODP API +version definition and will likely differ. Other OS'es may use other schemes. + +==== Vendor implementations +Vendors of ODP are said to be compatible with the ODP API if the implementation +can pass the validation test suite for the API. This means that supporting the +ABI mode is not required; a statically built and executed test suite is all that +is required. + +==== API compatibility +ODP allows implementations of the API to modify the structures. In this case +application portability is maintained through access functions to the data rather +than direct structure access. In an embedded use case this allows maximum +performance with the hardware structures mapping directly to the data structures +manipulated by the CPU. Applications are compiled for the target +system directly and are usually statically linked. + +==== ABI compatibility +In non-embedded environments where a possible performance penalty can be more +acceptable a shared library is likely to be used and it must maintain ABI +compatibility across that architecture. In this case applications do not require +recompiling. + +===== Checking which .so version number is required on change +To determine if the .so number should be changed the check-odp tool can provide +the answer. This tool provides a command line summary and a detailed html +analysis. This tool is based on the abi-compliance-checker + +[source,bash] +---- +COMPARE_BRANCH=monarch_lts ./diff-abi.sh + +... +preparation, please wait ... +comparing ABIs ... +comparing APIs ... +creating compatibility report ... +result: COMPATIBLE +total "Binary" compatibility problems: 0, warnings: 0 +total "Source" compatibility problems: 0, warnings: 0 +.... +---- + == Releases == All releases are from a tag in the master branch of the ODP git repository. Recall that ODP consists of three separate components: |