Как разместить объекты libc.a в определенных разделах вывода в сценарии GCC LD?
Я пытаюсь разместить функции libc как memcpy
, memset
и т.д. в определенных разделах памяти. Я пытался сделать что-то вроде этого:
.section1
{
/path/to/libc.a
otherobj.o
}
.section2
{
*(.text)
}
.section3
{
*(.data .bss)
}
используя инструмент ld gcc с этим сценарием и опцией -map, я проверяю сгенерированный файл карты и вижу, что memcpy
и другие символы все еще появляются в разделах 2 и 3.
Временное решение:
Наконец, я просто извлек файл lib в свою коллекцию объектных файлов и разместил их по отдельности там, где мне понравилось.