Datasheet

C and C++ Compilers
ARM DUI 0067D Copyright © 1999-2001 ARM Limited. All rights reserved. 2-13
Position independence qualifiers
/noropi
This option generates code that is not (read-only) position-independent.
This is the default.
/nopic
is an alias for this option.
/ropi
This option generates (read-only) position-independent code.
/pic
is an
alias for this option. If this option is selected the compiler:
addresses read-only code and data pc-relative
sets the Position Independent (PI) attribute on read-only output
sections.
Note
The ARM tools cannot determine if the final output image will be
Read-Only Position Independent (ROPI) until the linker finishes
processing input sections. This means that the linker might emit ROPI
error messages, even though you have selected this option.
/norwpi
This option generates code that does not address read/write data
position-independently. This is the default.
/nopid
is an alias for this
option.
/rwpi
This option generates code that addresses read/write data
position-independently (Read-Write Position Independent).
/pid
, for
position-independent data, is an alias for this option. If you select this
option, the compiler:
Addresses writable data using offsets from the static base register
sb. This means that:
data address can be fixed at runtime
data can be multiply instanced
data can be, but does not have to be, position-independent.
Sets the PI attribute on read/write output sections.
Note
The compiler does not force your read/write data to be
position-independent. This means that the linker might emit RWPI
warning messages, even though you have selected this option.