Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

System.map — файл, внутри которого находится символьная таблица адресов функций и процедур, используемых ядром операционной системы Linux. В этой таблице перечислены имена переменных и функций и их адреса в памяти компьютера. Эта таблица весьма полезна при отладке ядра в случае Kernel panic или Linux oops. System.map генерируется при компиляции ядра.

Символьная таблица адресов для загруженного ядра также находится в файле /proc/kallsyms.

Создание файла

Файл System.map можно создать командой nm -n vmlinux > System.map. При компиляции ядра используется следующая команда (скрипт /usr/src/linux/scripts/mksysmap, версия ядра 2.6.35): $NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' > $2, где $1 — файл vmlinux, $2 — файл System.map.

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

Пример содержимого файла System.map:

c040f4ec b local_apic_timer_verify_ok
c040f4f0 b calibration_result
c040f4f4 b enabled_via_apicbase
c040f4f8 b apic_phys
c040f500 b apic_pm_state
c040f538 B nmi_active
c040f53c B nmi_watchdog_enabled
c040f540 B unknown_nmi_panic
c040f544 b backtrace_mask
c040f548 b lock.19318
c040f54c b nmi_pm_active
c040f550 b last_irq_sums
c040f560 b alert_counter

System.map создается при каждой сборке ядра ввиду того, что в разных версиях могут быть разные адреса процедур[1].

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

Вторая колонка обозначает тип символа (заглавные буквы означают глобальный или экспортируемый символ, строчные — локальный):

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

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

После сборки ядра Linux файл System.map находится в каталоге /usr/src/linux/. Однако некоторые программы требуют его в других местах и, иногда, с другим именем, например, /boot/System.map-$(uname -r).

Так, например, для сборки SVGAlib необходимо наличие файла System.map в каталоге /lib/modules/$(uname -r)/build/[значимость факта?].

Примечания

  1. What Is The System.map File?. Дата обращения: 20 сентября 2011. Архивировано из оригинала 10 мая 2017 года.

Ссылки

  • Alavoor Vasudevan. The Linux Kernel HOWTO, System.map (англ.) (4 мая 2003). — Описание файла System.map. Дата обращения: 20 сентября 2011.
  • System.map file (англ.). — Информация о символах, символьных таблицах и файле System.map. Дата обращения: 20 сентября 2011. Архивировано из оригинала 19 мая 2012 года.
Эта страница в последний раз была отредактирована 7 мая 2023 в 09:17.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).