Position-independent code or data operates at addresses different from those at linkage. Therefore, the addresses of position-independent code or data cannot be specified as initializers of static variables. |
The GP-relative or EP-relative sections can be used for both position-independent data and position-dependent data. However, since the GP and EP registers are shared, if the GP or EP register value is changed to use the PID facility, the reference addresses of position-dependent data are also changed. It is recommended to unify in the entire program whether the GP or EP register is each used for position-independent data or position-dependent data. |
The standard library does not support the PIC, PIROD, and PID facilities. The facilities should be positioned and used in the common part. |
Since the section name is changed when the PIC or PID facility is used, the -start option specification of the linker also needs to be changed. |
The standard startup routine cannot be used when the PIC or PID facility is used. Create the startup routine with reference to "8.6.6 Startup routine". |