Ошибка в dll.inc при импорте неиспользуемых библиотек #273

Closed
opened 2025-07-20 15:47:26 +02:00 by lex_coder · 3 comments

Ошибка возникает, когда есть описание импортируемых функций из библиотеки, но они не используются

Пояснение: по завершению вызова функции dll.Init для библиотеки libini.obj указатель стека не возвращается на нужную позицию(esp имеет значение 11EB вместо 122B)

image_2025-07-20_14-44-46.png
Ошибка возникает, когда есть описание импортируемых функций из библиотеки, но они не используются Пояснение: по завершению вызова функции dll.Init для библиотеки libini.obj указатель стека не возвращается на нужную позицию(esp имеет значение 11EB вместо 122B) <img width="404" alt="image_2025-07-20_14-44-46.png" src="attachments/45272ef7-bfa0-4117-87e0-9f6ce5ecb04c">
Doczom added the
Category/Libraries
FASM
Kind
Breaking
Priority
High
labels 2025-07-20 15:50:03 +02:00
Doczom self-assigned this 2025-07-20 15:50:14 +02:00
Owner

Предположительная причина возникающей ошибки:
Так как во время сопоставления имён импортируемых функций с экспортируемыми функциями библиотеки происходит перезапись указателей имён необходимых программе библиотеки на указатели функций, то при повторном сопоставлении происходит ошибочная интерпретация кода как данных таблиц импорта.

Исправление ошибки требует правок в работе библиотек, требующих загрузки дополнительных библиотек (libini, http, libimg etc.)

Предположительная причина возникающей ошибки: Так как во время сопоставления имён импортируемых функций с экспортируемыми функциями библиотеки происходит перезапись указателей имён необходимых программе библиотеки на указатели функций, то при повторном сопоставлении происходит ошибочная интерпретация кода как данных таблиц импорта. Исправление ошибки требует правок в работе библиотек, требующих загрузки дополнительных библиотек (libini, http, libimg etc.)
Doczom added
Kind
Bug
and removed
Kind
Breaking
labels 2025-07-25 18:58:21 +02:00
Owner

Исправление данного бага представлено в запросе на слияние #274

Также в рамках документации должен быть создан раздел с описанием функционирования динамически подключаемых библиотек и связанных с ними кодов.

Исправление данного бага представлено в запросе на слияние https://git.kolibrios.org/KolibriOS/kolibrios/pulls/274 Также в рамках документации должен быть создан раздел с описанием функционирования динамически подключаемых библиотек и связанных с ними кодов.
Owner

В рамках задачи на изменение документации, добавлен предварительный вариант пояснительного текст разработчикам библиотек в комментарии #215 (comment) .

Так как ошибка исправлена в основной ветке репозитория, данная задача решена и закрыта

В рамках задачи на изменение документации, добавлен предварительный вариант пояснительного текст разработчикам библиотек в комментарии https://git.kolibrios.org/KolibriOS/kolibrios/issues/215#issuecomment-3486 . Так как ошибка исправлена в основной ветке репозитория, данная задача решена и закрыта
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#273
No description provided.