Библиотека дескрипторов двоичных файлов - Binary File Descriptor library

Библиотека дескрипторов двоичных файлов
Оригинальный автор (ы)Cygnus Solutions
Написано вC
ТипБиблиотека
ЛицензияСтандартная общественная лицензия GNU

В Библиотека дескрипторов двоичных файлов (BFD) это Проект GNU главный механизм портативный манипулирование объектные файлы в различных форматы. По состоянию на 2003 год, он поддерживает примерно 50 форматов файлов для примерно 25 архитектуры наборов команд.

История

Когда Дэвид Хенкель-Уоллес из Cygnus Поддержка предложила развивать библиотеку как способ открыть новые возможности для бизнеса компании, Ричард Столмен сказал, что будет сложно; Дэвид ответил, что это была не такая уж "чертова сделка". Сокращенно «BFD», это стало названием библиотеки.[1] «Дескриптор двоичного файла» был изобретен позже как backronym для «БФД».

Дизайн

BFD работает, представляя общий абстрактный вид объектных файлов. У объектного файла есть «заголовок» с описательной информацией; переменное количество «разделов», каждый из которых имеет имя, некоторые атрибуты и блок данных; а таблица символов; переезд записи; и так далее.

На внутреннем уровне BFD переводит данные из абстрактного представления в детали разметки бит / байтов, требуемых целью. процессор и формат файла. Его ключевые услуги включают обработку порядок байтов различия, например, между прямой порядок байтов хозяин и прямой порядок байтов цель, правильное преобразование между 32-битный и 64-битный данные и детали адрес арифметика, определяемая записями перемещения.

Хотя BFD изначально разрабатывался как универсальная библиотека, которую можно использовать с помощью самых разных инструментов, частая необходимость возиться с API, чтобы приспособить возможности новых систем, как правило, ограничивает его использование;[2][3][4] Основными клиентами БФД являются Ассемблер GNU (ГАЗ), Линкер GNU (GLD) и другие Двоичные утилиты GNU ("binutils") инструменты, а Отладчик GNU (GDB). В результате BFD не распространяется отдельно, а всегда включен в выпуски binutils и GDB. Тем не менее, BFD является критическим компонентом использования инструментов GNU для встроенные системы разработка.

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

Смотрите также

Рекомендации

  1. ^ «Открытые источники: голоса революции открытого исходного кода». О'Рейли. Январь 1999. Получено 2011-11-11. Гамби начал разрабатывать библиотеку и обсуждать дизайн со Столлманом. Столлман сказал, что работа была слишком сложной - потребовалось бы полностью переписать все инструменты и было бы слишком сложно поддерживать ее. Гамби сказал ему, что это не была такая уж «чертова большая сделка», и поэтому назвал это новое творение библиотекой BFD. (Мы объяснили нашим клиентам, что BFD означает библиотеку дескрипторов двоичных файлов.)
  2. ^ Лангасек, Стив (22 мая 2005 г.). "Re: в зависимости от общей библиотеки libbfd из binutils-dev". debian-devel (Список рассылки). Получено 2011-04-03.
  3. ^ Куратоми, Тошио (04.06.2010). "binutils еще раз". Fedora-упаковка (Список рассылки). Получено 2011-04-03.
  4. ^ Тейлор, Ян (12 сентября 2003 г.). "Re: FreeBSD 4.6 - binutils 2.14 устанавливает бесполезную libbfd". binutils (Список рассылки). Получено 2011-04-03.

внешняя ссылка