Операционная система UNIX. Руководство программиста

Размещение секций в именованных областях памяти


Можно потребовать, чтобы секция была размещена где-либо внутри именованной области памяти, определенной ранее предложением MEMORY. По аналогии с принятым в операционной системе UNIX синтаксисом переназначения стандартного вывода, для этого применяется символ >. Пример:

MEMORY { mem1: o=0x000000 l=0x10000 mem2 (RW): o=0x020000 l=0x40000 mem3 (RW): o=0x070000 l=0x40000 mem1: o=0x120000 l=0x04000 }

SECTIONS { outsec1: {f1.o (.data)} > mem1 outsec2: {f2.o (.data)} > mem3 }

Эти предложения предписывают ld(1) разместить секцию outsec1

где-либо внутри области памяти mem1, то есть между 0x0 и 0xFFFF или между 0x120000 и 0x123FFF. Секция outsec2 будет размещена в диапазоне адресов от 0x70000 до 0xAFFFF.



Содержание раздела