Вопросы по теме 'relocation'

Что делает ActivePerl, перемещая файлы во время установки?
Учитывая некоторую программу unix, которую я скомпилировал, что мне нужно сделать, чтобы переместить ее в другой каталог и продолжить ее правильную работу. Я думаю о Perl, но меня интересуют и другие системы, такие как Apache, которые тоже,...
656 просмотров
schedule 23.03.2023

Значит, большая часть двоичного файла состоит из таблицы перемещения?
Я просто использовал objdump -x ... для проверки разделов PE-файла. Всего около 90000 строк записей о перемещении: reloc 92 offset bc0 [524bc0] HIGHLOW reloc 93 offset bc4 [524bc4] HIGHLOW .... Верно ли, что большая часть...
2286 просмотров
schedule 22.03.2022

Как заставить GCC экспортировать ВСЕ символы в выходной файл
Я разрабатываю операционную систему, и мне нужно загрузить некоторые модули ДО того, как будет настроена подкачка. Так как на данный момент подкачка не настроена, мне нужно переместить все символы в программе на физический адрес. Моя проблема в том,...
3000 просмотров
schedule 03.05.2022

Используя GNU ld, как я могу принудительно указать адрес определенного (внешнего) символа, не получая усеченную ошибку перемещения?
У меня есть две функции, a() и b() , каждая из которых имеет определенные фиксированные адреса загрузки/времени выполнения . Я компилирую a() сам, а b() уже предоставлен (например, в ПЗУ). Файл a.c выглядит следующим образом: extern...
1260 просмотров

Переместить связанную программу
Можно ли переместить уже связанный файл elf на другой адрес и также обновить внутренние ссылки? Например, имея статически связанный файл elf, связанный с адресом 0x50000, как я могу переместить его на 0x1000000 и обновить указатели и адреса?
77 просмотров
schedule 09.06.2023

AVR: Релокация усечена, чтобы соответствовать
Я новичок в этом сообществе, поскольку никогда раньше не создавал учетную запись и не задавал вопросов, но я постоянно использую этот сайт для решения своих проблем с программированием. Так что спасибо тебе! На этот раз, однако, я не смог найти...
1046 просмотров
schedule 03.02.2023

Как GDB узнает, куда был перемещен исполняемый файл?
Я знаю, что современные ОС, такие как Linux, не всегда выполняют приложение по тому же адресу, с которого оно было первоначально связано. Однако когда отладчик начинает искать, ему нужно знать связь между исходным адресом ссылки и конечным...
885 просмотров
schedule 31.05.2023

Как избежать нежелательного сворачивания констант, выполняемого генератором кода LLVM?
Я пытаюсь избежать сворачивания некоторых констант (которые представляют адреса в моем коде), таких как константа 100000000 ниже. Мне это нужно, потому что позже JIT-скомпилированный код может быть исправлен, что изменяет константы из-за...
859 просмотров

Разрешить относительные перемещения в частичной ссылке
Я заметил, что использование -r для частичной ссылки на самом деле не решает никаких перемещений, кажется, даже если они могут быть разрешены с помощью относительной адресации. Например, рассмотрим f.o и g.o , где f.o содержит f() , который...
465 просмотров
schedule 07.10.2022

исправление общего перемещения fortran, усеченного для соответствия R_X86_64_32S и модулям
У меня есть старый код на Fortran 77, написанный вокруг множества подпрограмм, каждая подпрограмма в отдельном файле, и они широко используют операторы COMMON . Я профилировал код, из 18 включаемых файлов я нашел два, которые являются сильными...
942 просмотров
schedule 05.06.2022

Как общая библиотека находит раздел GOT?
Пока я читал http://eli.thegreenplace.net/2011/11/03/position-independent-code-pic-in-shared-libraries/#id1 пришел вопрос: Как разделяемая библиотека PIC после загрузки где-то в виртуальном адресном пространстве процесса знает, как ссылаться на...
1571 просмотров

Почему смещение записи GOT отображается неправильно?
Я написал простую общую библиотеку: extern void some_func(void); void function(void) { some_func(); } Скомпилировано/построено: gcc -fPIC -mcmodel=large -c test.c -o test.o gcc -fPIC -shared test.o -o libtest.so Разобрано,...
427 просмотров
schedule 21.08.2022

Перемещение некоторых строк с сохранением исходных идентификаторов на обоих листах
Наконец, мне удалось переместить некоторые строки из Sheet1 в Sheet2 ( Zeile = Row ). Private Sub Worksheet_Change(ByVal Target As Range) Dim Zeile As Long Set Target = Intersect(Target, Range("J6:J1006")) If Target Is Nothing...
26 просмотров
schedule 16.10.2022

Код перемещения ARM M3 - ›неисправности
ARM Cortex M3 (LPC1519) Я написал загрузчик (который, кажется, пока работает), который запускается во флеш-памяти и записывает программу во флеш-память (за загрузчиком). Программа записывается и начинает нормально работать (по крайней мере, при...
398 просмотров
schedule 06.04.2022

Ошибка перемещения
#include <stdio.h> #define MAX 1000000 int dp[MAX]; int P[MAX], C[MAX], K[MAX], child[MAX][1000], index[MAX]; int mod = 1000000007; void dfs(int i) { int j = 1; while (j <= index[i]) { dfs(child[i][j]); if...
815 просмотров
schedule 06.01.2023

llc: неподдерживаемое перемещение по символу
Проблема llc выдает следующую ошибку: ОШИБКА LLVM: неподдерживаемое перемещение символа Подробный процесс компиляции Я реализую интерфейс LLVM для IR среднего уровня (MIR) компилятора, и после того, как я конвертирую различные...
726 просмотров

Получить имя символа RELA в исполняемом файле ELF
Я пытаюсь получить имя символа слотов перехода RELA, найденное в исполняемом файле ELF. Используя libElf, мне удалось получить адрес RELA, но я все еще пытаюсь понять, как получить символ (-имя). Согласно Как я могу получить имя символа в...
258 просмотров
schedule 17.11.2023

Перемещение символов
Ниже показано, как вызов функции (в первый раз) будет разрешен в PIC Перейдите к записи PLT нашего символа. Перейдите к записи GOT нашего символа. Вернитесь к записи PLT и поместите смещение в стек. Что смещение на самом деле...
107 просмотров
schedule 15.06.2023

DOS вставляет адреса сегментов во время выполнения
Я заметил потенциальную ошибку в коде, который я пишу. Я думал, что если бы я использовал mov ax, seg segment_name , программа могла бы быть непереносимой и работать только на одной машине в определенной конфигурации, поскольку место загрузки...
61 просмотров

Как я могу загрузить абсолютный адрес символа больше 0x7FFFFFFF в сборке RiscV64
Я пишу ядро, и мне нужно самостоятельно переместиться выше 0x7FFFFFFF. Для этого мне нужно сослаться, используя абсолютную адресацию, на начало и конец моего ядра и на символ, где выполнение продолжается после перемещения. Я не смог найти способ...
53 просмотров
schedule 19.08.2022