Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Разрешение неопределённых ссылок.  (Прочитано 8170 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
zuuuuk
Постоялец

ru
Offline Offline

« : 28-10-2016 12:42 » 

Добрый день.
Я применяю arm,
У меня есть динамическая библиотека.
В ней есть неопределённые ссылки.

Код: (C)
$ $arm-nm -a libmod1.so.2
00000000 a
00000000 n .ARM.attributes
00000000 n .comment
000084b0 d .data
00008404 d .dynamic
000001fc r .dynstr
000000ec r .dynsym
00008494 d .got
00000094 r .hash
00000290 t .plt
00000270 r .rel.dyn
00000278 r .rel.plt
000003f8 r .rodata
000002c8 t .text
000084b4 D __bss_end__
000084b4 D __bss_start
000084b4 D __bss_start__
000084b0 D __data_start
000084b4 D __end__
000084b4 D _bss_end__
00008404 a _DYNAMIC
000084b4 D _edata
000084b4 D _end
00008494 a _GLOBAL_OFFSET_TABLE_
00080000 N _stack
000002c8 T f_all
00000318 T f_mod1
00000388 T f_mod2
000084b0 D glob_mod1
00000000 a mod1.c
         U puts
 

puts,  в моём случаи, вызывается из этой библиотеки.

Подскажите возможно с помощью binutils разрешить эту ссылку принудительно?
те я хочу принудительно назначить адрес этой ссылки.
« Последнее редактирование: 28-10-2016 12:49 от zuuuuk » Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 28-10-2016 16:22 » 

https://sourceware.org/binutils/docs/as/Set.html
Эта дока предлагает сделать .S файл с таким объявлением и скомпилировать его в объектник.

Еще. objcopy --add-symbol name=[section:]value[,flags]
В binutils-2.23.52.0.1 я такого не нашел, а в binutils-2.26.1 ключ есть.

Цитата
       --add-symbol name=[section:]value[,flags]
           Add a new symbol named name while copying the file.  This option may be specified multiple times.  If the section is given, the symbol will be associated with and
           relative to that section, otherwise it will be an ABS symbol.  Specifying an undefined section will result in a fatal error.  There is no check for the value, it will be
           taken as specified.  Symbol flags can be specified and not all flags will be meaningful for all object file formats.  By default, the symbol will be global.  The special
           flag 'before=othersym' will insert the new symbol in front of the specified othersym, otherwise the symbol(s) will be added at the end of the symbol table in the order
           they appear.
« Последнее редактирование: 28-10-2016 16:31 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zuuuuk
Постоялец

ru
Offline Offline

« Ответ #2 : 30-10-2016 16:19 » 


Цитата
Цитата
https://sourceware.org/binutils/docs/as/Set.html
Эта дока предлагает сделать .S файл с таким объявлением и скомпилировать его в объектник.
честно говоря я  не до понял документ.
Они предлагают изменить адрес в ассембленом коде?

Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 31-10-2016 06:34 » new

Изменить адрес тебе никто не предлагает. Создать символ. Кто первый слинкуется, того и тапки.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
zuuuuk
Постоялец

ru
Offline Offline

« Ответ #4 : 01-11-2016 13:13 » 

Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines