You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This reverts the commit fb0746f
because it causes the "GOT indirections," which require the final image
to include the Global Offset Table (GOT), to be emitted for weak symbol
references even when not building position-independent code or
position-independent executable (i.e. when `-fno-pic` and `-fno-pie`
parameters are specified).
Before reverting this commit (GCC 12.1):
adrp x0, :got:pm_state_exit_post_ops
ldr x0, [x0, :got_lo12:pm_state_exit_post_ops]
After reverting this commit (before GCC 12.1):
adrp x0, .LC0
ldr x0, [x0, #:lo12:.LC0]
...
.LC0:
.xword pm_state_exit_post_ops
Although the linker populates the Global Offset Table with the symbol
addresses at the default linking address, which should be valid without
any relocations in case of Zephyr because the Zephyr image is always
loaded at a fixed address, this is far from ideal because the purpose
of the Global Offset Table is to facilitate relocations and it comes
with some overheads resulting in a minor footprint increase.
For more details, refer to the following GitHub issue:
zephyrproject-rtos/sdk-ng#547.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
0 commit comments