AS 汇编程序 ARM Raspberry PI 3 与 C 库链接?

AS assembler ARM Raspberry PI 3 linking with C libraries?

我正在学习如何在 raspberry pi 上编程。当我编译时,我使用 asld 命令来编译和 link。我想 link 与 libc 并使用 malloc 但不使用 gcc 作为我的编译器。我尝试 linking 与 /usr/lib/arm-linux-gnueabihf/libc.so

这是我输入的内容(编辑):

as test.s -o test.o
ld -o test test.o /usr/lib/arm-linux-gnueabihf/libc.so
./test

它编译并 linked,但是当我尝试 运行 它时,它说找不到测试

这里是test.s:

.global _start
.extern malloc

_start:
    mov R0, #4
    bl malloc
    mov R0, #0
    mov R7, #1
    svc 0
.end

这样可以吗?
还是我需要做更多的事情?
任何帮助将不胜感激?

这里是我正在做的编辑(如果使用它的某些功能,不要忘记初始化 C!):

ld -o test /usr/lib/arm-linux-gnueabihf/libc.so test.o -dynamic-linker /lib/ld-linux-armhf.so.3

您必须通过 -dynamic-linker /lib/ld-linux-armhf.so.3 将动态链接器的路径传递给 ld,否则它将使用不存在的 /usr/lib/ld.so.1

注意:虽然这会生成一个可以是 运行 的可执行文件,但我怀疑它能否正常工作,因为使用了 libc 但未初始化。