<!DOCTYPE html>
<html class="client-nojs" lang="ru" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>System.map</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://ru.wikipedia.org/wiki/System.map"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.legacy.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.common-site.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.gadget.logo.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector.css">
  </head>

  <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-System_map rootpage-System_map skin-vector action-view">
    <div id="content" class="mw-body" role="main">
      <a id="top"></a>
      <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">System.map</span></h1>
      <div id="bodyContent" class="vector-body">
        <div id="contentSub">
          <div id="mw-content-subtitle"></div>
        </div>
        <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="ru" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="ru" dir="ltr"><p><b>System.map</b>&nbsp;— файл, внутри которого находится символьная таблица адресов функций и процедур, используемых <a href="Linux_(%D1%8F%D0%B4%D1%80%D0%BE)" class="mw-redirect" title="Linux (ядро)">ядром операционной системы <i>Linux</i></a>. В этой таблице перечислены имена переменных и функций и их адреса в <a href="%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C" title="Оперативная память">памяти компьютера</a>. Эта таблица весьма полезна при <a href="%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0" class="mw-redirect" title="Отладка">отладке</a> ядра в случае <i><a href="Kernel_panic" title="Kernel panic">Kernel panic</a></i> или <i><a href="Linux_oops" title="Linux oops">Linux oops</a></i>. <code>System.map</code> генерируется при <a href="%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" class="mw-redirect" title="Компиляция (программирование)">компиляции</a> ядра.
</p><p>Символьная таблица адресов для загруженного ядра также находится в файле <code>/proc/kallsyms</code>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Создание_файла"><span id=".D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D1.84.D0.B0.D0.B9.D0.BB.D0.B0"></span>Создание файла</h2></div>
<p>Файл <code>System.map</code> можно создать командой <code>nm -n vmlinux &gt; System.map</code>. При компиляции ядра используется следующая команда (скрипт <code>/usr/src/linux/scripts/mksysmap</code>, версия ядра 2.6.35): <code>$NM -n $1 | grep -v '\( [aNUw] \)\|\(__crc_\)\|\( \$[adt]\)' &gt; $2</code>, где <code>$1</code>&nbsp;— файл <code>vmlinux</code>, <code>$2</code>&nbsp;— файл <code>System.map</code>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Внутренности"><span id=".D0.92.D0.BD.D1.83.D1.82.D1.80.D0.B5.D0.BD.D0.BD.D0.BE.D1.81.D1.82.D0.B8"></span>Внутренности</h2></div>
<p>Пример содержимого файла <code>System.map</code>:
</p>
<pre>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
</pre>
<p><code>System.map</code> создается при каждой сборке ядра ввиду того, что в разных версиях могут быть разные адреса процедур<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Типы_символов"><span id=".D0.A2.D0.B8.D0.BF.D1.8B_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D0.BE.D0.B2"></span>Типы символов</h3></div>
<p>Вторая колонка обозначает тип символа (заглавные буквы означают глобальный или экспортируемый символ, строчные&nbsp;— локальный):
</p>
<ul><li>A&nbsp;— абсолютное значение.</li>
<li>B или b&nbsp;— символ в секции неинициализированных данных (обычно обозначается как BSS).</li>
<li>D или d&nbsp;— символ в секции инициализированных данных.</li>
<li>G или g&nbsp;— символ в секции инициализированных данных для глобальных малых объектов.</li>
<li>i&nbsp;— секция, специфичная для DLL.</li>
<li>N&nbsp;— отладочный символ.</li>
<li>p&nbsp;— секция раскрутки стека.</li>
<li>R или r&nbsp;— символ в секции с доступом только на чтение.</li>
<li>S или s&nbsp;— символ в секции неинициализированных данных для малых объектов.</li>
<li>T или t&nbsp;— символ в секции кода.</li>
<li>U&nbsp;— неопределённый символ.</li>
<li>V или v&nbsp;— слабый объект.</li>
<li>W или w&nbsp;— слабый объект, который не был так помечен</li>
<li>&nbsp;— означает символ заглушки в объектном файле a.out</li>
<li>? означает неопределённый тип символа</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Расположение_на_файловой_системе"><span id=".D0.A0.D0.B0.D1.81.D0.BF.D0.BE.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B0_.D1.84.D0.B0.D0.B9.D0.BB.D0.BE.D0.B2.D0.BE.D0.B9_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B5"></span>Расположение на файловой системе</h2></div>
<style data-mw-deduplicate="TemplateStyles:r148513636">
/* start https://ru.wikipedia.org/ */


.mw-parser-output .ambox{align-items:center;border:1px solid var(--border-color-base,#a2a9b1);border-left:10px solid #36c;background:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;display:flex;margin:0 10%}html body.mediawiki.skin-minerva .mw-parser-output .ambox{border-width:0 0 0 4px}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid var(--border-color-error,#b32424);background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output .ambox-delete{border-left:10px solid var(--border-color-error,#b32424)}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid var(--color-warning,#edab00)}.mw-parser-output .ambox-good{border-left:10px solid #66cc44}.mw-parser-output .ambox-discussion{border-left:10px solid #339966}.mw-parser-output .ambox-merge{border-left:10px solid #9932cc}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}.mw-parser-output .ambox .mbox-textsmall-div{font-size:90%}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(max-width:1366px){.mw-parser-output .ambox{margin-left:6%;margin-right:6%}}@media(max-width:719px){.mw-parser-output .ambox{margin-left:0;margin-right:0}}


/* end   https://ru.wikipedia.org/ */
</style>
<p>После сборки ядра <a href="Linux" title="Linux">Linux</a> файл <code>System.map</code> находится в каталоге <code>/usr/src/linux/</code>. Однако некоторые программы требуют его в других местах и, иногда, с другим именем, например, <code>/boot/System.map-$(<a href="Uname" title="Uname">uname</a> -r)</code>.
</p><p>Так, например, для сборки SVGAlib необходимо наличие файла <code>System.map</code> в каталоге <code>/lib/modules/$(uname -r)/build/</code><style data-mw-deduplicate="TemplateStyles:r141254988">
/* start https://ru.wikipedia.org/ */


.mw-parser-output .ts-fix-template{font-style:normal;font-weight:normal;white-space:nowrap}.mw-parser-output .ts-fix-error{font-size:inherit}@media screen{.mw-parser-output .ts-fix-text{border:1px solid var(--border-color-base,#a2a9b1);box-decoration-break:clone;margin:0 -0.1em;padding:0 0.1em;transition:background 0.1s}.mw-parser-output .ts-fix-text:hover{background:#fee7e6}html.skin-theme-clientpref-night .mw-parser-output .ts-fix-text:hover{background:#4f1312}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ts-fix-text:hover{background:#4f1312}}@media screen and (hover:hover){.mw-parser-output .ts-fix-comment,.mw-parser-output .ts-fix-commented>a:not(:hover){border-bottom:1px dotted;text-decoration:none}}


/* end   https://ru.wikipedia.org/ */
</style><sup class="ts-fix-template">[<i>значимость факта?</i>]</sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Примечания"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"></span>Примечания</h2></div>
<div class="reflist columns" style="list-style-type: decimal;">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170510152315/http://dirac.org/linux/system.map/"><i>What Is The System.map File?</i></a></span><span class="hidden-ref" style="display:none;">&nbsp;</span>. Дата обращения: 20 сентября 2011. Архивировано из <a rel="nofollow" class="external text" href="http://dirac.org/linux/system.map/">оригинала</a> 10 мая 2017 года.</span></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Ссылки"><span id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></span>Ссылки</h2></div>
<ul><li><span class="citation"><i>Alavoor Vasudevan.</i> <span lang="en"><a rel="nofollow" class="external text" href="http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html#systemmap">The Linux Kernel HOWTO, System.map</a></span>&nbsp;<span class="ref-info" title="на английском языке" style="cursor:help;">(англ.)</span> (4 мая 2003).&nbsp;— Описание файла System.map. Дата обращения: 20 сентября 2011.</span></li>
<li><span class="citation"><span lang="en"><a rel="nofollow" class="external text" href="https://www.webcitation.org/67lmmH88U?url=http://dirac.org/linux/system.map/">System.map file</a></span>&nbsp;<span class="ref-info" title="на английском языке" style="cursor:help;">(англ.)</span>.&nbsp;— Информация о символах, символьных таблицах и файле System.map. Дата обращения: 20 сентября 2011. Архивировано из <a rel="nofollow" class="external text" href="http://dirac.org/linux/system.map/">оригинала</a> 19 мая 2012 года.</span></li></ul>
</div><!--htdig_noindex--><div><div class="zim-footer">
    Эта статья взята у (из) <a class="external text" title="Последний раз редактировалась 2025-07-16" href="https://ru.wikipedia.org/wiki/?title=System.map&amp;oldid=146272822">Википедия</a>. Текст лицензируется по <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ru">Creative Commons Attribution-Share Alike 4.0</a>. К медиа файлам могут применятся дополнительные условия.
</div>
</div><!--/htdig_noindex--></div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>