Изучить исполняемую структуру SPARC с помощью OpenSolaris на Intel - PullRequest
2 голосов
/ 21 мая 2011

Я хочу изучить и сравнить структуру исполняемых файлов elf, SPARC и PA-RISC.

Чтобы выполнить исследования, я хочу установить OpenSolaris на машину Intel (Core2Duo).Но у меня есть основополагающее сомнение, будет ли оно работать вообще?

Я знаю, что у SPARC есть своя сборка - выросло подозрение, будет ли оно работать или вообще считается верным.

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

Понятия не имею, как все это выполнить для HP-UX (PA-RISC);Не знаю ни одной бесплатной ОС для PA-RISC.

Ответы [ 3 ]

1 голос
/ 21 мая 2011

SPARC:

Я никогда не устанавливал OpenSolaris ни на что. Вы можете попробовать NetBSD: он запускает машины SPARC по крайней мере так же, как Solaris, и использует исполняемые файлы формата ELF. Исходный код также доступен для изучения.

Вам нужно будет понять формат файла ELF. Я не помню, чтобы какой-то конкретный документ выделялся в те времена, когда я хотел понять ELF, и похоже, что Google может предложить большое количество веб-сайтов, которые объясняют ELF. Мой совет по ELF - написать программу для чтения заголовков ELF, а затем вывести их в читаемый текстовый формат, хотя многие такие программы уже существуют.

Вам также понадобится дизассемблер SPARC, который понимает ELF. Я написал один давным-давно, вероятно, сегодня он будет работать достаточно хорошо. http://www.stratigery.com/elf_dis.tar.Z

Вы можете скачать PDF-файлы о SPARC здесь: http://www.sparc.com/specificationsDocuments.html Я рекомендую руководства по архитектуре SPARC V8 и V9.

PA-RISC:

Это очень странная архитектура с очень небольшим количеством документации. Я полагаю, что PA-RISC была RISC-архитектурой Apollo Computer (R.I.P), а затем HP купила Apollo в 1990 или 1991 году. Стек растет, а куча растет, где почти все остальное происходит наоборот. Он также имеет сегментный регистр, но он работает не так, как сегментация x86.

HP - действительно единственное место, где можно найти что-нибудь о PA-RISC.

1 голос
/ 26 мая 2011

Существуют порты для архитектур PA-RISC Linux , NetBSD и OpenBSD .

Вы не можете запустить код, скомпилированный для Sparc илиPA-RISC в системе x86, если вы не используете полноценный эмулятор. Qemu может эмулировать машину на базе Sparc с достаточной точностью для запуска на нем операционной системы Linux (но это не будет быстрым: Qemu должен интерпретировать все коды операций Sparc по одному, что приводит к большим накладным расходамТаким образом, быстрый ПК 2011 года может дать производительность рабочей станции Sparc 1996 года).В настоящее время ведется проект по добавлению поддержки PA-RISC в Qemu , но, похоже, он еще не достиг какого-либо нетривиального уровня удобства использования.

1 голос
/ 21 мая 2011

Вы не сможете запустить Исполняемые файлы Sparc или PA-RISC на процессоре Intel.Однако, если вам нужно только проанализировать структуру этих исполняемых файлов, вам нужны только подходящие инструменты разработки.

Я не проверял, но подозреваю, что OpenSolaris поставляется с инструментами разработки, способными анализировать Solaris /Исполняемые файлы Sparc из коробки.Но даже другие наборы инструментов могут сделать это.Например, GNU binutils (в частности, используемую ими библиотеку BFD ) поддерживают многие архитектуры, включая Sparc и PA-RISC.(Если вы используете GNU binutils, убедитесь, что вы получили полную версию, возможно, с пометкой «для кросс-компиляции», например, binutils-multiarch на Debian или Ubuntu )

...