У меня есть следующий код сборкиPower8 кода сборки с общим вопросом сборки с сохранением и восстановлением ТОС
.machine power8
.abiversion 2
.section ".toc","aw"
.section .text
GLOBAL(myfunc)
myfunc:
stdu 1,-240(1)
mflr 0
std 0, 0*8(1)
mfcr 8
std 8, 1*8(1)
std 2, 2*8(1)
# Save all non-volatile registers R14-R31
std 14, 4*8(1)
...
# Save all the non-volatile FPRs
...
stwu 1, -48(1)
bl function_call
nop
addi 1, 1, 48
ld 0, 0*8(1)
mtlr 0
ld 8, 1*8(1)
ld 2, 2*8(1)
...
# epilogue, restore stack frame
Это прекрасно работает со статической сборкой, но общая сборка дает сбой сегментации в [email protected]@GLIBC_2.22
, должен быть общая сборка обрабатывается по-разному в силе8 wrt TOC?
является символом 'function_call' в локальном объекте или библиотеке? –