-
- Значение GP задаётся в линкерскрипте. По идее, линкер должен сам
разобраться "дотягивается" ли он до GP в каждом конкретном
обращении. - VladislavS.(15.08.2024 12:22)
- В общем - есть ключ компиляции -no-relax. Как я понимаю, с помощью
него можно собрать библиотеку, в которой линкер не будет делать
релаксацию. - il-2(15.08.2024 14:13)
- Как в библиотеке вообще можно сделать релаксацию? Неизвестно что и
куда линкер потом расположит. - VladislavS.(15.08.2024 16:35)
- Уже убедиля. Все нормально. Делается релаксация библиотечного кода,
если переменные расположены в области досягаемости. Кстати, я задаю
global pointer таким образом: il-2(813 знак., 15.08.2024 17:27)
- Не забудь в стартапе его тоже инициализировать этим значением. - VladislavS.(15.08.2024 17:55)
- Теоретически к библиотеке могут прилепиться опции, с которыми она
была собрана. И они могут учитываться линкером в дальнейшем.
Теоретически. - SciFi(15.08.2024 16:43)
- Что ещё за "релаксация"? в коде? нахер? - смутила собственная
отсталость, но нашлось исключительно в РИСК - 5... bnb62(1 знак., 15.08.2024 18:06, ссылка)
- У АВР тоже есть ближние/дальние переходы. И у AVR-GCC есть такой
флажок. Nikolay_Po(36 знак., 15.08.2024 18:56, картинка)
- Неа, речь не об этом. Речь об релаксации обращений к памяти за счет
использования Global Pointer. - il-2(16.08.2024 08:00)
- Спасибо. Буду вникать. Сейчас начинаю с RISC-V. Обычно, погружаться в детали не требуется, но лучше знать возможные нюансы. - Nikolay_Po(16.08.2024 10:23)
- У меня регулярно выскакивает "size before relaxing". Линкер выкидывает лишние строки текста, если можно взять кусочек уже имеющейся строки. По-видимому, "relaxing" - собирательное название для оптимизаций линкера. SciFi(1 знак., 16.08.2024 08:08, картинка)
- Неа, речь не об этом. Речь об релаксации обращений к памяти за счет
использования Global Pointer. - il-2(16.08.2024 08:00)
- У АВР тоже есть ближние/дальние переходы. И у AVR-GCC есть такой
флажок. Nikolay_Po(36 знак., 15.08.2024 18:56, картинка)
- Что ещё за "релаксация"? в коде? нахер? - смутила собственная
отсталость, но нашлось исключительно в РИСК - 5... bnb62(1 знак., 15.08.2024 18:06, ссылка)
- Уже убедиля. Все нормально. Делается релаксация библиотечного кода,
если переменные расположены в области досягаемости. Кстати, я задаю
global pointer таким образом: il-2(813 знак., 15.08.2024 17:27)
- Как в библиотеке вообще можно сделать релаксацию? Неизвестно что и
куда линкер потом расположит. - VladislavS.(15.08.2024 16:35)
- В общем - есть ключ компиляции -no-relax. Как я понимаю, с помощью
него можно собрать библиотеку, в которой линкер не будет делать
релаксацию. - il-2(15.08.2024 14:13)
- Значение GP задаётся в линкерскрипте. По идее, линкер должен сам
разобраться "дотягивается" ли он до GP в каждом конкретном
обращении. - VladislavS.(15.08.2024 12:22)