RELOC(4) RELOC(4)
НАЗВАНИЕ
reloc - информация о настройке ссылок в объектном файле
обычного формата
СИНТАКСИС
#include
ОПИСАНИЕ
Для каждой ссылки в командах или данных, которую требу-
ется настраивать при редактировании связей, в объектном
файле есть элемент, содержащий информацию, достаточную
для настройки. Формат этой информации следующий:
struct reloc {
long r_vaddr; /* Виртуальный адрес ссылки */
long r_symndx; /* Номер в таблице имен */
unsigned short r_type; /* Тип ссылки */
};
#define R_ABS 0
#define R_RELBYTE 017
#define R_RELWORD 020
#define R_RELLONG 021
#define R_PCRBYTE 022
#define R_PCRWORD 023
#define R_PCRLONG 024
Тип ссылки определяет, как именно редактор связей будет
ее настраивать:
R_ABS Ссылка абсолютная и настройки не требует.
R_RELBYTE Ссылка является однобайтным адресом.
R_RELWORD Двухбайтный адрес.
R_RELLONG Четырехбайтный адрес.
R_PCRBYTE Ссылка является однобайтным смещением отно-
сительно счетчика команд.
R_PCRWORD Двухбайтное смещение относительно счетчика
команд.
R_PCRLONG Четырехбайтное смещение относительно счет-
чика команд.
Существуют другие типы ссылок для иных процессоров.
Одинаковые типы ссылок на разных процессорах имеют оди-
наковые номера и смысл. Если возникнет необходимость в
новых типах ссылок, то можно будет их добавить с новыми
номерами.
Элементы, содержащие информацию о настройке, создаются
ассемблером и используются редактором связей автомати-
чески. Опции редактора связей позволяют как сохранять,
так и удалять эту информацию из выходных файлов.
СМ. ТАКЖЕ
a.out(4), syms(4).
as(1), ld(1) в Справочнике пользователя.
|