LINUX.ORG.RU

Древнее зло, излом API/ABI в glibc связанный с errno

 , , ,


4

3

Есть очень древняя программа без исходников, скомпилированная под Linux ориентировочно в 2000-2003 годах. Вероятно компилировалась на RHL 7.3 Valhalla (не путать с RHEL 7, тогда ещё вообще RHEL’ов не было), возможно даже каким-то GCC 2.95:

prism.original: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, not stripped, too many notes (256)

Нужно запустить её на современной Ubuntu LTS.

При запуске ругается так:

prism: symbol lookup error: prism: undefined symbol: errno, version GLIBC_2.0

Погуглил, и нашёл что GNU’тые когда-то там на рубеже веков сломали API/ABI и этот errno похоже что завернули в какие-то убермакросы и выкинули.

Извернулся, взял HEX-редактор и заменил несуществующий символ errno на существующий srand:

https://0x0.st/Xy00.png

После такого наглого вмешательства программа запустилась и всё отлично работает, но напрягает такой выхлоп в консоль:

prism: Symbol `srand' has different size in shared object, consider re-linking

Как сделать по красоте и избавиться от этого предупреждения?

Сам файл программы: https://0x0.st/Xy0d.zip/prism.zip

★★★★★

P.S. Если кому интересно что это вообще я такое древнее запускаю на современной системе, то вот конечный результат:

https://firmware.center/projects/EXL/Motorola/Videos/Simtech_MOOSE_U10_Emulation.mp4

Это – жутко проприетарный и корпоративный эмулятор первых в мире мобильных телефонов стандарта 3G/UMTS – Siemens U10 и Motorola A830 которые были выпущены на рынок в 2002 году, 22 года назад.

Телефоны примечательны как минимум тем, что используют свою собственную RISC-архитектуру M·CORE и VLIW-архитектуру M96K, она же позже StarCore. Кроме того там ещё имеются всяким модули с экзотическими ассемблерами для интервзаимодействия RISC (MCU) и VLIW (DSP).

Короче интересная штука для изучения и ковыряния и девайсы оба в железе у меня такие имеются и даже 3G ловят:

https://0x0.st/Xtqp.jpg/Siemens_U10_Moto_A830.jpg

Реликты, музейные экспонаты по сути.

EXL ★★★★★
() автор топика
Ответ на: комментарий от no-dashi-v2

Речь не об этом.

EXL ★★★★★
() автор топика
Ответ на: комментарий от Shadow

Скорее всего ARM, не думаю что производители SoC а IP коркой Mali нужно править юзерспейсные либы.

anonymous
()
Ответ на: комментарий от lovesan

Я тебе уже выше показал что ты вообще в не разбираешься в том что говоришь. Можешь спорить, твое мнение мне неинтересно, просто хочу показать твою глупость остальным, что бы они не попались на эту ложную информацию.

MOPKOBKA ★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Это твое мнение никому не интересно, мопкобка. Ты регулярно бред несешь, в каноническом стиле ЛОРа, впрочем.

lovesan ★★
()
Ответ на: комментарий от Infra_HDC

Нет там никаких проблем. Здохло оно давно.

anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.