реклама на сайте
подробности

 
 
> вопросы по elf формату, что есть что
sifadin
сообщение Sep 15 2014, 13:57
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698



Работал на SAM4LC8A
пытаюсь залить тот же проект на LS8BA
не идет
долго ли коротко ли стал читать elf формат
пытаюсь найти секцию vectоrs и начальный адрес
нашел таблицу дескрипторов
Но первый дескриптор содержит все нули
Хорошо плевать

поле name содержит что индекс в таблице строк или смещение отн файла?

как найти таблицу строк?
В дескрипторе самого файла есть поле
e_shstrndx ;

This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.

Ни хрена не смог перевести Что она содержит смещение отн начала файла?
Или что?

Сама таблица строк содержит чертову уйму имен
Это потому что Debug?
Как найти .vectors - таблицу прерываний
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Golikov A.
сообщение Sep 15 2014, 18:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...
Go to the top of the page
 
+Quote Post
sifadin
сообщение Sep 15 2014, 20:31
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698



Цитата(Golikov A. @ Sep 15 2014, 22:24) *
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...


А это смещение файла или сама таблица? Я чего так и не понял
Если воспринимать это как смещение отн нач файла то попадаем в середину строк...
В общем дело темное
Go to the top of the page
 
+Quote Post
sifadin
сообщение Sep 15 2014, 20:31
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698



Цитата(Golikov A. @ Sep 15 2014, 22:24) *
This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.


Этот член содержи секцию "таблица указателей заголовков" связанных с секцией называемой "строковая таблица". Если в файле нет секции называемой "строковая таблица", этот член содержи значение SHN_UNDEF. Смотрите "секции" и "строковая таблицы" ниже для большей информации.

Я бы так перевел.
По сути, ИМХО, это таблица указателей, то есть в таблиц строк имя(название объекта), и в такой же ячейке этой таблицы получаете указатель на него. Если таблицы строковой нет, то тут будут ундефы...


А это смещение файла или сама таблица? Я чего так и не понял
Если воспринимать это как смещение отн нач файла то попадаем в середину строк...
В общем дело темное
Go to the top of the page
 
+Quote Post
jks
сообщение Sep 15 2014, 22:02
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 3-04-11
Из: .
Пользователь №: 64 084



This member holds the section header table index of the entry associated with the section
name string table. If the file has no section name string table, this member holds
the value SHN_UNDEF. See ‘‘Sections’’ and ‘‘String Table’’ below for more information.

Это поле содержит индех в таблице заголовков разделов (секций) и указывает на элемент таблицы (секцию) содержащую таблицу строк.
Если файл не содержит раздел с таблицей строк, это поле равно SHN_UNDEF == 0.

CODE

// Find section headers
SectionHeaderSize = FileHeader.e_shentsize;
if (SectionHeaderSize <= 0) err.submit(2033);
uint32 SectionOffset = uint32(FileHeader.e_shoff);

for (i = 0; i < NSections; i++) {
SectionHeaders[i] = Get<TELF_SectionHeader>(SectionOffset);
SectionOffset += SectionHeaderSize;

if (SectionHeaders[i].sh_type == SHT_SYMTAB) {
// Symbol table found
Symtabi = i;
}
}

SecStringTable = uint32(SectionHeaders[FileHeader.e_shstrndx].sh_offset);
SecStringTableLen = uint32(SectionHeaders[FileHeader.e_shstrndx].sh_size);


Собственно имена разделов содержатся в таблице строк.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 19:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016