AArch64 - GNU多链接器脚本(用于内核和用户空间)



我已经为AArch64启动了一个裸机应用程序。裸机应用程序应该实现一个简单的内核(用于内存/设备管理和异常处理)和一个用户区,它可以通过系统调用通过printf()(例如)在UART上输出一些东西。目前我正在开发EL1的内核。缩进是把内核和用户空间放在一个单一的ELF二进制文件中,因为我还没有实现文件系统驱动程序和ELF支持。

内核应该位于地址0xC0000000,主应用程序(userland)应该位于地址0x40000000。但我稍后会更改这些地址。有可能将两个链接器脚本传递给GNU吗?我意识到我必须为内核和用户区使用不同的部分。

或者另一个问题:
我的缩进是可能的吗?好吧,这可能是一个通用问题,但目前在这里没有找到类似的问题。

从LD手册:https://man7.org/linux/man-pages/man1/ld.1.html,它说:

Multiple -T options accumulate.

就像这样使用:-T script1。d -T script2.ld

相关内容

  • 没有找到相关文章

最新更新