19.2 Software Development
All 64-bit architectures support the development of 64-bit
objects. The level of support for 32-bit compiling depends
on the architecture. These are the various implementation options
for the tool chain from GCC (GNU Compiler Collection) and Binutils,
which include the assembler as and the
linker ld:
- Biarch Compiler
-
Both 32-bit and 64-bit objects can be generated with a biarch development
tool chain. The compilation of 64-bit objects is the default on almost
all platforms. 32-bit objects can be generated if special flags are used.
This special flag is -m32 for GCC (-m31
for generating s390 binaries). The flags for the binutils are
architecture-dependent, but GCC transfers the correct flags to linkers
and assemblers. A biarch development tool chain currently exists for
amd64 (supports development for x86 and amd64 instructions), for s390x,
and for ppc64. 32-bit objects are normally created on the ppc64 platform.
The -m64 flag must be used to generate 64-bit objects.
- No Support
-
SUSE Linux Enterprise does not support the direct development of 32-bit
software on all platforms. To develop applications
for x86 under ia64, use the corresponding 32-bit version
of SUSE Linux Enterprise.
All header files must be written in an architecture-independent
form. The installed 32-bit and 64-bit libraries must have
an API (application programming interface) that matches the
installed header files. The normal SUSE Linux Enterprise environment is designed
according to this principle. In the case of manually updated
libraries, resolve these issues yourself.