1
0
mirror of https://github.com/0xAX/linux-insides.git synced 2025-07-07 09:22:31 +00:00

fill up linker scriptfill up linker script

Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
This commit is contained in:
proninyaroslav 2018-01-03 21:17:34 +03:00
parent f0c9e5578d
commit 4d6e7f98c3

View File

@ -114,7 +114,11 @@ SECTIONS
_head = . ; _head = . ;
HEAD_TEXT HEAD_TEXT
_ehead = . ; _ehead = . ;
} }
...
...
...
}
``` ```
Если вы не знакомы с синтаксисом скриптового языка компоновщика `GNU LD`, вы можете найти более подробную информацию в [документации](https://sourceware.org/binutils/docs/ld/Scripts.html#Scripts). Вкратце, символ `.` является специальной переменной компоновщика - счётчиком местоположения. Значение, присвоенное ему - это смещение по отношению к смещению сегмента. В нашем случае мы устанавливаем счётчик местоположения в ноль. Это означает, что наш код слинкован для запуска в памяти со смещения `0`. Кроме того, мы можем найти эту информацию в комментарии: Если вы не знакомы с синтаксисом скриптового языка компоновщика `GNU LD`, вы можете найти более подробную информацию в [документации](https://sourceware.org/binutils/docs/ld/Scripts.html#Scripts). Вкратце, символ `.` является специальной переменной компоновщика - счётчиком местоположения. Значение, присвоенное ему - это смещение по отношению к смещению сегмента. В нашем случае мы устанавливаем счётчик местоположения в ноль. Это означает, что наш код слинкован для запуска в памяти со смещения `0`. Кроме того, мы можем найти эту информацию в комментарии: