Jump to content

System.map

В Linux System.map Файл представляет собой таблицу символов, используемую ядром .

Таблица символов — это поиск имен символов и их адресов в памяти. Имя символа может быть именем переменной или именем функции. System.map требуется, когда требуется адрес имени символа или имя символа адреса. Это особенно полезно для отладки паники ядра и ошибок ядра . Ядро само выполняет преобразование адреса в имя, когда CONFIG_KALLSYMS включен, поэтому такие инструменты, как ksymoops, не требуются. [1]

Внутренности

[ редактировать ]

Нижеследующее является частью System.map файл: [2]

c041bc90 b packet_sklist
c041bc94 b packet_sklist_lock
c041bc94 b packet_socks_nr
c041bc98 A __bss_stop
c041bc98 A _end
c041c000 A pg0
ffffe400 A __kernel_vsyscall
ffffe410 A SYSENTER_RETURN
ffffe420 A __kernel_sigreturn
ffffe440 A __kernel_rt_sigreturn

Поскольку адреса могут меняться от одной сборки к другой, новый System.map генерируется для каждой сборки ядра. [3]

Типы символов

[ редактировать ]

Символ между адресом и символом (разделенный пробелами) является типом символа. nm Утилита в системах Unix перечисляет символы из объектных файлов. System.map напрямую связано с ним, поскольку этот файл создается nm во всей программе ядра – точно так же, как nm перечисляет символы и их типы для любых небольших объектных программ. [4]

Некоторые из этих типов: [4]

  • A для абсолютного
  • B или b для секции неинициализированных данных (называемой BSS)
  • D или d для раздела инициализированных данных
  • G или g для раздела инициализированных данных для небольших объектов (глобально)
  • i для разделов, специфичных для DLL
  • N для символа отладки
  • p для секции размотки штабеля
  • R или r для раздела данных только для чтения
  • S или s для неинициализированной секции данных для небольших объектов
  • T или t для текстового (кодового) раздела
  • U для неопределенного
  • V или v для слабого объекта
  • W или w для слабых объектов, которые не были помечены так
  • - для символа stabs в объектном файле a.out
  • ? для «тип символа неизвестен»

Расположение файловой системы

[ редактировать ]

После сборки ядра Linux System.map находится в корне исходного каталога. Однако некоторые дальнейшие шаги по установке программного обеспечения предполагают, что файл будет найден в другом месте: [5]

  • как /boot/System.map-$(uname -r)
  • при построении SVGAlib рассчитывает найти /lib/modules/$(uname -r)/build/System.map

См. также

[ редактировать ]
  1. ^ «Часто задаваемые вопросы/System.map — новички в ядре Linux» . kernelnewbies.org. 14 апреля 2006 г. Проверено 6 апреля 2014 г.
  2. ^ Питер Джей Зальцман (28 мая 2003 г.). «Файл system.map» . Rlworkman.net . Проверено 6 апреля 2014 г.
  3. ^ «Ядро-HOWTO» . faqs.org . Проверено 6 апреля 2014 г.
  4. ^ Jump up to: а б «nm(1): символы из объектных файлов — справочная страница Linux» . Linux.die.net . Проверено 6 апреля 2014 г.
  5. ^ «Заметки Питера: System.map» . Linuxmafia.com. 29 мая 2003 г. Проверено 6 апреля 2014 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2a476f8f996d729ff5817cfddb4b5964__1693397580
URL1:https://arc.ask3.ru/arc/aa/2a/64/2a476f8f996d729ff5817cfddb4b5964.html
Заголовок, (Title) документа по адресу, URL1:
System.map - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)