Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Linux</strong> <strong>i386</strong> <strong>Önyükleme</strong> <strong>Kodu</strong> <strong>NASIL</strong><br />
Rules.make çoklu Makefile dosyaları için kurallar içerir.<br />
2.2. linux/arch/<strong>i386</strong>/vmlinux.lds<br />
Derlemeden sonra ld birkaç nesne ve ar¸siv dosyasını biraraya getirir, verilerini yeniden yerle¸stirir ve sembol<br />
referansları ba˘glayıp kapatır. linux/arch/<strong>i386</strong>/vmlinux.lds dosyası linux/Makefile tarafından<br />
yerle¸sik çekirdek görüntüsü linux/vmlinux ’un ilintilenmesinde kullanılan ilintileyici betik olarak tasarlanmı¸stır.<br />
/* <strong>i386</strong> <strong>Linux</strong> çekirde˘gi olu¸sturmak için ld beti˘gi<br />
* Martin Mares tarafından yazılmı¸stır;<br />
*/<br />
OUTPUT_FORMAT("elf32–<strong>i386</strong>", "elf32–<strong>i386</strong>", "elf32–<strong>i386</strong>")<br />
OUTPUT_ARCH(<strong>i386</strong>)<br />
/* "ENTRY" linux/Makefile içinde "–e stext" komut satırı seçene˘gi ile de˘gi¸stirilir */<br />
ENTRY(_start)<br />
/* Çıktı dosyası (linux/vmlinux) yerle¸simi.<br />
* Bakınız Using LD, the GNU linker: Specifying Output Sections (B9) */<br />
SECTIONS<br />
{<br />
/* Çıktı bölümü .text 3G+1M adresinden ba¸slar.<br />
* Bakınız Using LD, the GNU linker: The Location Counter (B10) */<br />
. = 0xC0000000 + 0x100000;<br />
_text = .; /* Metin ve salt okunur veri */<br />
.text : {<br />
*(.text)<br />
*(.fixup)<br />
*(.gnu.warning)<br />
} = 0x9090<br />
/* Tahsis edilmemi¸s oyuklar 0x9090 ile doldurulur, örn. "NOP NOP" için opcode.<br />
* Bakınız Using LD, the GNU linker: Optional Section Attributes (B11) */<br />
_etext = .; /* text bölümünün sonu */<br />
.rodata : { *(.rodata) *(.rodata.*) }<br />
.kstrtab : { *(.kstrtab) }<br />
/* Sonraki 16 baytlık sınıra hizalandı.<br />
* Bakınız Using LD, the GNU linker: Arithmetic Functions (B12) */<br />
. = ALIGN(16); /* Ola˘gandı¸sılık tablosu */<br />
_ _start_ __ex_table = .;<br />
_ _ex_table : { *(_ _ex_table) }<br />
_ _stop_ __ex_table = .;<br />
_ _start_ __ksymtab = .; /* Çekirdek sembol tablosu */<br />
_ _ksymtab : { *(_ _ksymtab) }<br />
_ _stop_ __ksymtab = .;<br />
.data : { /* Veri */<br />
*(.data)<br />
CONSTRUCTORS<br />
}<br />
/* "CONSTRUCTORS" için bakınız:<br />
* Using LD, the GNU linker: Option Commands (B13) */<br />
_edata = .; /* data bölümünün sonu */<br />
http://belgeler.org <strong>Linux</strong> Kitaplı˘gı 6 / 77