Software Development; Software Compilation On Biarch Platforms - Novell LINUX ENTERPRISE SERVER 11 - ADMINISTRATION Administration Manual

Hide thumbs Also See for LINUX ENTERPRISE SERVER 11 - ADMINISTRATION:
Table of Contents

Advertisement

6.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. 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 System
z 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 Server 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 Server.
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 Server environ-
ment is designed according to this principle. In the case of manually updated libraries,
resolve these issues yourself.
6.3 Software Compilation on Biarch
Platforms
To develop binaries for the other architecture on a biarch architecture, the respective
libraries for the second architecture must additionally be installed. These packages are
called rpmname-32bit or rpmname-x86 (for ia64) if the second architecture is a
32-bit architecture or rpmname-64bit if the second architecture is a 64-bit architec-
ture. You also need the respective headers and libraries from the rpmname-devel
32-Bit and 64-Bit Applications in a 64-Bit System Environment
57

Advertisement

Table of Contents
loading

This manual is also suitable for:

Suse linux enterprise server 11

Table of Contents