2009-09-15 2 views
2

При использовании HP-UX я могу использовать утилиту chatr для отправки отчетов по различным внутренним атрибутам разделяемой библиотеки. Это также позволит мне изменить внутренние атрибуты разделяемых библиотек, которые я создал.Как проверить внутренние атрибуты общих объектов?

Chatr утилита может сообщить, а в некоторых случаях изменения, такие вещи, как:

  1. вводного времени связывания поведения,
  2. встраиваемой список путей библиотеки, созданной во время сборки,
  3. ли библиотека подлежит время выполнения поиска в пути,
  4. внутренние имена,
  5. и т.д., и т.д.

Является ли такая утилита доступной для Solaris?

Редактировать: Freaky! Благодаря ответу mark4o ниже я снова просмотрел вывод elfdump для типичной системы .so (libm.so.2 на Sol 10). Тем не менее, и вот причудливая часть, я неправильно набранная команду ввести:

elfdump libm.so.2 | moe 

В удивительном росчерке прозорливости, это дало мне обратно сообщение об использовании для утилиты под названием MOE которого человек Описание раздела страницы говорит:

Утилита moe демонстрирует оптимальное расширение имени пути, содержащего токены компоновщика зарезервированного времени выполнения. Эти маркеры могут использоваться для определения зависимостей, filtees и runpaths в динамических объектах. Расширение этих токенов во время выполнения обеспечивает гибкий механизм выбора объектов и путей поиска, которые лучше всего работают на этом компьютере.

Это поможет мне решить, почему libm.so.2 shlib несовместим с обоими двумя разными машинами, из-за чего мой неполный исполняемый файл не может быть запущен на одном сервере.

ответ

2

Для отображения информации см. Утилиты Solaris elfdump и pvs. Для устранения проблем с привязкой также могут быть полезны lari и moe. Однако эти утилиты не имеют возможности изменять библиотеку.

+0

mark4o, приветствия, но elfdump не дает мне точно, что мне нужно. Однако пересмотр вывода elfdump для данной системы .so дал мне полезность, которая выглядит действительно полезной. Я отредактирую свой оригинальный вопрос. –

+0

@ mark4o, спасибо за указатель на pvs! +1 (-: –

+0

И, конечно, брат 'lari' и' moe' - это [crle] (http://docs.oracle.com/cd/E23824_01/html/821-1461/crle-1. html # scrolltoc) для работы с путями запуска системы по умолчанию. – alanc

2

Начиная с Solaris 11 (и некоторые из выпусков OpenSolaris & Solaris Express, ведущих к нему, но не Solaris 10 и старше), в настоящее время в elfedit tool для модификации пути выполнения и подобные атрибуты.

+0

теперь, если бы вы могли получить ссылки, нарушенные Oracle, установленные на собственных сайтах Oracle (например, сообщение, на которое вы ссылались) ... (спасибо за их исправление на SO btw) – mark4o

+0

Да, поломка ссылок повсюду раздражает. Для этого сообщения вы можете увидеть [elfedit (1) manpage] (http://docs.oracle.com/cd/E23824_01/html/821-1461/ elfedit-1.html # scrolltoc) с веб-страниц Solaris 11 теперь, когда релиз отсутствует, и замените blogs.oracle.com на blogs.sun.com в других ссылках. – alanc

Смежные вопросы