Node: HPPA Options, Next: Intel 960 Options, Previous: i386 and x86-64 Options, Up: Submodel Options
These -m
options are defined for the HPPA family of computers:
-march=
architecture-type
1.0
for PA 1.0, 1.1
for PA
1.1, and 2.0
for PA 2.0 processors. Refer to
/usr/lib/sched.models
on an HP-UX system to determine the proper
architecture option for your machine. Code compiled for lower numbered
architectures will run on higher numbered architectures, but not the
other way around.
PA 2.0 support currently requires gas snapshot 19990413 or later. The
next release of binutils (current is 2.9.1) will probably contain PA 2.0
support.
-mpa-risc-1-0
-mpa-risc-1-1
-mpa-risc-2-0
-march=1.0
, -march=1.1
, and -march=2.0
respectively.
-mbig-switch
-mjump-in-delay
-mdisable-fpregs
-mdisable-indexing
-mno-space-regs
Such code is suitable for level 0 PA systems and kernels.
-mfast-indirect-calls
This option will not work in the presence of shared libraries or nested
functions.
-mlong-load-store
+k
option to
the HP compilers.
-mportable-runtime
-mgas
-mschedule=
cpu-type
700
7100
, 7100LC
, 7200
, 7300
and 8000
. Refer
to /usr/lib/sched.models
on an HP-UX system to determine the
proper scheduling option for your machine. The default scheduling is
8000
.
-mlinker-opt
-msoft-float
hppa1.1-*-pro
does provide software floating point support.
-msoft-float
changes the calling convention in the output file;
therefore, it is only useful if you compile all of a program with
this option. In particular, you need to compile libgcc.a
, the
library that comes with GCC, with -msoft-float
in order for
this to work.
-msio
_SIO
, for server IO. The default is
-mwsio
. This generates the predefines, __hp9000s700
,
__hp9000s700__
and _WSIO
, for workstation IO. These
options are available under HP-UX and HI-UX.
-mgnu-ld
-shared
to ld when
building a shared library. It is the default when GCC is configured,
explicitly or implicitly, with the GNU linker. This option does not
have any affect on which ld is called, it only changes what parameters
are passed to that ld. The ld that is called is determined by the
--with-ld
configure option, gcc's program search path, and
finally by the user's PATH
. The linker used by GCC can be printed
using which `gcc -print-prog-name=ld`
.
-mhp-ld
-b
to ld when building
a shared library and passes +Accept TypeMismatch
to ld on all
links. It is the default when GCC is configured, explicitly or
implicitly, with the HP linker. This option does not have any affect on
which ld is called, it only changes what parameters are passed to that
ld. The ld that is called is determined by the --with-ld
configure option, gcc's program search path, and finally by the user's
PATH
. The linker used by GCC can be printed using which
`gcc -print-prog-name=ld`
.
-mlong-calls
Distances are measured from the beginning of functions when using the
-ffunction-sections
option, or when using the -mgas
and -mno-portable-runtime
options together under HP-UX with
the SOM linker.
It is normally not desirable to use this option as it will degrade performance. However, it may be useful in large applications, particularly when partial linking is used to build the application.
The types of long calls used depends on the capabilities of the
assembler and linker, and the type of code being generated. The
impact on systems that support long absolute calls, and long pic
symbol-difference or pc-relative calls should be relatively small.
However, an indirect call is used on 32-bit ELF systems in pic code
and it is quite long.
-nolibdld
-static
option is specified on HP-UX 10 and later.
-static
-static
option is specified, special link options
are needed to resolve this dependency.
On HP-UX 10 and later, the GCC driver adds the necessary options to
link with libdld.sl when the -static
option is specified.
This causes the resulting binary to be dynamic. On the 64-bit port,
the linkers generate dynamic binaries by default in any case. The
-nolibdld
option can be used to prevent the GCC driver from
adding these link options.
-threads