Описание тега relocation

Перемещение - это адаптация фрагмента кода, собранного на определенном адресе в памяти, к другому адресу. Это типичная задача динамических компоновщиков и загрузчиков программ и, следовательно, последний шаг в стандартной инструментальной цепочке разработки.
2 ответа

Ошибка усечения перемещения в NASM x86_64

Я использую компьютер с процессором Intel Core 2 и 2 ГБ оперативной памяти. Это Ubuntu 9.04. Когда я пытаюсь скомпилировать этот код: ;programma per la simulazione di un terminale su PC, ottenuto utilizzando l'8250 ;in condizione di loopback , cioè …
27 апр '10 в 09:50
1 ответ

В чем разница между R_386_PC32 и R_X86_64_PC32 в процессе перемещения ссылки (GNU ld)

При чтении книги "Компьютерная система: перспектива программиста", раздел 7.7.1 Записи перемещения: краткое содержание этого раздела - как компоновщик перемещает ссылку в другом объектном файле. Когда компилировать и objdump пример исходного кода: v…
03 дек '11 в 12:18
1 ответ

В чем разница между кодом PIC и `ld -r`?

Я знаю, что оба они используются для создания кода, который можно разместить в разных местах, но как каждый из них работает и почему?
23 ноя '16 в 14:44
1 ответ

Можно ли переместить бинарный файл?

Я создал необработанный двоичный файл, созданный из файла elf с помощью двоичного файла objcopy -o. Можно ли переместить его на заданное смещение? Я считаю, что эффект, который я ищу, будет похож на использование параметра --change-address, а затем …
19 фев '17 в 09:32
0 ответов

Что означает "символ`_ZTISt16invalid_argument'вызывает переполнение при перемещении R_X86_64_32 "?

Я скомпилировал приложение C++11 под Scientific Linux 6.4 (64-битная версия), используя самоскомпилированный GCC 4.8.2. Приложение может быть скомпилировано нормально, но при его запуске (с LD_LIBRARY_PATH установите для включения каталог gcc 4.8.2 …
12 май '14 в 11:57
0 ответов

Странное поведение компоновщика: перемещение сокращено до нужного

У меня есть скрипт компоновщика для ядра с двумя абсолютными символами: _kernel_start а также _kernel_end, Однако я получаю ошибку перемещения компоновщика только для _kernel_end: In function `kernel::mem::mm::setup_memorymap': /home/virtlink/kernel…
08 апр '15 в 10:11
1 ответ

Перемещение символа

Ниже показано, как будет вызван вызов функции (в первый раз) в PIC Перейти к PLT запись нашего символа. Перейти к GOT запись нашего символа. Перейти к PLT введите и сдвиньте смещение в стеке. Что смещение на самом деле Elf_Rel структура, описывающая…
28 май '18 в 09:11
1 ответ

Проблемы с использованием log4j в затененной банке

У меня следующая ситуация в моем проекте: большой модуль (называемый конвертером) со своими собственными зависимостями интегрируется в основное приложение (которое было разработано разными людьми отдельно и имеет свои, частично перекрывающиеся, зави…
28 апр '15 в 08:49
1 ответ

Как перестановки работают в объектных (не графических) файлах COFF

Какие именно шаги предпринимаются компоновщиком при разрешении перемещений в объектном файле перед созданием окончательного изображения? В частности, как компоновщик обрабатывает значение, которое уже хранится на сайте перемещения? Всегда ли он доба…
27 июл '13 в 10:54
0 ответов

Перемещение переполнено общим разделом

У меня есть проект, в котором у меня есть основная программа main.f95 который использует кучу модулей: каждая подпрограмма называется main.f95 содержится в своем собственном модуле. Я сделал это, чтобы избежать блоков интерфейса. Есть два дополнител…
1 ответ

Я не понимаю смысла этого: +"функция, которая будет оценена во время обработки перемещения"

Я не понимаю смысла этого: +"функция, которая будет оценена во время обработки перемещения" - это от флагов objdump. Как можно оценить функцию при обработке перемещения? Должна ли быть вызвана последовательность операционных кодов процессоров (subro…
18 сен '17 в 14:02
1 ответ

Таким образом, большая часть двоичного файла состоит из таблицы перемещений?

Я просто использовал objdump -x ... проверить разделы файла PE. Там около 90 000 строк записей о перемещениях: reloc 92 offset bc0 [524bc0] HIGHLOW reloc 93 offset bc4 [524bc4] HIGHLOW .... Верно ли, что большинство пространства большинства файлов P…
14 май '11 в 14:12
1 ответ

Subversion SVN: хранилище было перемещено хранилище перемещено навсегда в XXX, пожалуйста, переместите

Я не понимаю SVN прямо сейчас. Когда я изменяю файл и пытаюсь его обновить, выдается следующая ошибка: Repository has been moved Repository moved permanently to 'http://myIpAdress/svn/'; please relocate Насколько я знаю, я не изменил адрес своего хр…
16 дек '10 в 16:28
1 ответ

Перемещение узла в односвязном списке создает бесконечный цикл

В моей домашней работе меня попросили переместить определенный узел по полю его имени в определенный индекс. У меня проблемы с выяснением, почему мой список становится бесконечным списком. Проблема в функции "changePlacement" Пример: Данный связанны…
22 июн '16 в 19:54
1 ответ

Как внешние символы разделяемой библиотеки разрешаются в основной программе?

Я много читал о семантике связывания во время загрузки разделяемых библиотек, и мне трудно понять, как основная программа может ссылаться на функции, определенные в разделяемых библиотеках? Например, скажем, у меня есть этот код myShared.sh int get(…
2 ответа

Что означает "незаконное перемещение, когда оно не связано с создаваемым объектом"?

Я пытаюсь собрать Apache Qpid на SPARC, работающем под управлением Solaris 10. Сейчас libqpidtypes.so собирается, но libqpidcommon.so не связывает. После компиляции компоновщик создает много сообщений об ошибках, подобных этому: л.д.: со смертельным…
21 июл '15 в 15:41
2 ответа

Перемещение сборки усечено, чтобы соответствовать

Привет! Я пытался написать простую программу hello world в ассемблере и скомпилировать ее в файл.o, а затем связать ее со стандартной библиотекой C, чтобы создать.exe, чтобы я мог просматривать разборку для "put" на моем система, использующая gdb -t…
2 ответа

Какова цель, чтобы содержать информацию о статических переменных в таблице символов?

Я пытаюсь понять .symtab Тип setcion для перемещаемых объектных файлов. И я знаю, что он содержит информацию о статических переменных. Но почему? Все, что нам нужно сделать для связывания перемещаемых объектных файлов с некоторыми другими, это перем…
16 мар '12 в 14:33
2 ответа

Исправлено перемещение глобальных переменных в независимые от позиции исполняемые файлы с GCC

Я ищу gcc флаг командной строки или другие параметры для создания GOTOFF переезды, а не GOT перемещения для моего статически связанного, независимого от позиции исполняемого файла i386. Подробнее о том, что я пробовал, ниже. Мой исходный файл g1.s в…
16 дек '17 в 14:26
1 ответ

Почему символы оператора new&delete в shared-obj должны перемещаться, даже если они реализованы в этом shared-obj?

Я пытаюсь реализовать свои собственные операторы C++ new & delete в моей программе, как показано ниже: #include <stdio.h> #include <stdlib.h> #include <new> using namespace std; void *operator new(std::size_t size) throw(std::bad_a…
26 май '12 в 11:41