Я работаю над реализацией syscall для PowerPc .
Я протестировал некоторые функции gcc, и все они, кажется, работают (например, sqrt sin cos pow printf malloc ...)
Недавно я обнаружил проблему с printf . он работает нормально, пока я печатаю некоторое целое число / символ, но когда я пытаюсь напечатать f % f / lf , чтобы напечатать float / double, происходит сбой программы. (кажется, что выполняется где-то не должно быть)
Я проверил make-файл, он использует:
# use soft float
CFLAGS += -msoft-float
и при создании программы я вижу много связанных nof (без плавающих) библиотек.
gnu/powerpc-eabi/3pp.ronetix.powerpc-eabi/bin/../lib/gcc/powerpc-eabi/4.3.3/../../../../powerpc-eabi/lib/nof\libm.a)lib_a-s_sin.o
Я также знаю, что у меня достаточно места в стеке / куче, поэтому проблем не должно быть.
Есть ли еще причина, по которой printf должен аварийно завершить работу при печати с плавающей точкой?