Какова цель наличия 'attr' в скриптах компоновщика - PullRequest
0 голосов
/ 04 февраля 2019

Какова цель использования 'attr' в сценариях компоновщика.Я вижу, что разрешены поля "ALIRWX".Руководство по компоновщику [1]: ftp: //ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html#SEC16 не объясняет, что происходит, еслине упомянуто.Скажите, например, что произойдет, если я не отмечу раздел как «X» и оставлю его пустым.То же самое относится и к разделам «только для чтения».

1 Ответ

0 голосов
/ 07 февраля 2019

Атрибуты памяти предназначены не для принудительного применения чего-либо, а скорее для ld представления о вашей целевой среде.Вы сообщаете ему, какая область памяти используется для каких целей, чтобы помочь ей определиться с тем, куда и куда идти.

Например, если у вас есть оборудование, которое может подавлять выполнение программы из определенной области памяти (или подавляет это с помощьюдизайн, как в настоящей гарвардской архитектуре), вы бы не указали 'X', чтобы сказать ld, что он не может ожидать выполнения кода оттуда.

Если вы опустите (необязательно) > регион *В инструкции 1009 * из вашего назначения SECTIONS, ld назначит наиболее подходящую область памяти на основе ваших определений.

...