mirror of
https://git.yoctoproject.org/poky
synced 2026-09-20 12:49:33 +02:00
Fix various broken links found using the linkcheck builder, in various places of the documentation. For most, the replacing link is the equivalent new link. (From yocto-docs rev: 5f708a1bc31ae94dd3513615b0ce079aa7897628) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> (cherry picked from commit 358519ca6406a89fee42c45dcaf63a37a374f33c) [AG: fix conflict in variables.rst, due to changes to new variables in master] Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Paul Barker <paul@pbarker.dev>
55 lines
2.0 KiB
ReStructuredText
55 lines
2.0 KiB
ReStructuredText
.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
|
|
|
|
Using x32 psABI
|
|
***************
|
|
|
|
x32 processor-specific Application Binary Interface (:wikipedia:`x32
|
|
psABI <X32_ABI>`) is a native
|
|
32-bit processor-specific ABI for Intel 64 (x86-64) architectures. An
|
|
ABI defines the calling conventions between functions in a processing
|
|
environment. The interface determines what registers are used and what
|
|
the sizes are for various C data types.
|
|
|
|
Some processing environments prefer using 32-bit applications even when
|
|
running on Intel 64-bit platforms. Consider the i386 psABI, which is a
|
|
very old 32-bit ABI for Intel 64-bit platforms. The i386 psABI does not
|
|
provide efficient use and access of the Intel 64-bit processor
|
|
resources, leaving the system underutilized. Now consider the x86_64
|
|
psABI. This ABI is newer and uses 64-bits for data sizes and program
|
|
pointers. The extra bits increase the footprint size of the programs,
|
|
libraries, and also increases the memory and file system size
|
|
requirements. Executing under the x32 psABI enables user programs to
|
|
utilize CPU and system resources more efficiently while keeping the
|
|
memory footprint of the applications low. Extra bits are used for
|
|
registers but not for addressing mechanisms.
|
|
|
|
The Yocto Project supports the final specifications of x32 psABI as
|
|
follows:
|
|
|
|
- You can create packages and images in x32 psABI format on x86_64
|
|
architecture targets.
|
|
|
|
- You can successfully build recipes with the x32 toolchain.
|
|
|
|
- You can create and boot ``core-image-minimal`` and
|
|
``core-image-sato`` images.
|
|
|
|
- There is RPM Package Manager (RPM) support for x32 binaries.
|
|
|
|
- There is support for large images.
|
|
|
|
To use the x32 psABI, you need to edit your ``conf/local.conf``
|
|
configuration file as follows::
|
|
|
|
MACHINE = "qemux86-64"
|
|
DEFAULTTUNE = "x86-64-x32"
|
|
baselib = "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') \
|
|
or 'INVALID')) or 'lib'}"
|
|
|
|
Once you have set
|
|
up your configuration file, use BitBake to build an image that supports
|
|
the x32 psABI. Here is an example::
|
|
|
|
$ bitbake core-image-sato
|
|
|