Thursday, July 8, 2010

bootstrap için ön hazırlık

bootstrap için gereken araçlardan bir kesit;



binutils
makine dili derleme ve bağlama aracıdır. içerdiği başlıca araçlar:

ar: arşiv dosyası oluşturmak, değiştirmek ve arşivden bir şey açmak için kullanılır.

as: taşınabilir bir gnu assembler.

ld: object ve arşiv dosyalarını birleştirir, bu dosyaların içerdiği verileri konulması gereken yerlere koyar (relocate) ve sembol referanslarını bağlar. genelde derlemenin son adımında ld çalışır.
nm: object dosyasındaki sembolleri listeler.
objdump: object dosyalarındaki bilgileri gösterir.
ranlib: arşiv dosyasındaki içerik için bir index oluşturur ve arşivde tutar.

pax-utils

ELF32/64 dosyaları üzerinde güvenlik de dahil çeşitli denetimler yapabilen araçtır.


strace

çalışan bir proses ile ilşkili sistem çağrılarını gösteren araç (bu proses tarafından alınan veya çağrılan sistem çağrılarını, bu çağrılara verilen parametreleri ve dönüş değerlerini gösteren bir hata ayıklama aracıdır.)



CFLAGS

gcc ve glibc'nin derleme sırasında sistemin bazı özelliklerini yönetmek için kullandığı bayraklardır.

-D_FORTIFY_SOURCE=2

özellikle string kullanılan yerlerde güvenlik açığına karşın kullanılır.

-O2

yazılımın boyutunu çok fazla büyütmeyen ve hata ayıklamayı engellemeyen eniyileştirmeleri açar.

-fomit-frame-pointer

gcc'nin üretilen kodun çerçeve gösterici onarımını (frame pointer maintenance) atlamasını sağlar, kodun daha küçük ve hızlı olmasını sağlar.

-march

gcc'nin belli bir mimari için eniyileştirme yapmasını sağlar.

-mtune

gcc'nin eski sürümlerindeki -mcpu, -march bayrağına benzer ve aynı seçeneklere sahiptir.

-fstack-protector

yığın koruma sistemi yığın üzerindeki değişkenlerin yerini değiştirerek tampon bellek olarak kullanılan değişkenlerin taşma durumunda diğer değişkenleri etkilemesini önler.

-pipe

gcc'nin derleme yaparken geçici dosyalar üretmemesini sağlar.

LDFLAGS
bağlayıcının (linker) sistemin bazı özelliklerini yönetmek için kullandığı bayraklardır.

--hash-style

linker'ın hash tablosunun tipini belirler.

--as-needed

linker'a üretilmiş olan çalıştırılabilir sonuç dosyası ya da başka bir kitaplıklardan , kitaplıkta bire bir kullanılmış olanları bağlamasını söyler.

--sort-common

linker'a uygun çıkış bölümlerine yerleştirilmiş simgeleri boyutuna göre sıralamasını söyler. bu bayrak simgeler ile sıralanma kısıtları arasındaki uçurumu önler.

-Wl,-z,relro

en son oluşturulan ELF için salt-oku bir relocation tablosu ayırır. -z parametresi tüm relocationların çalışma zamanında çözümlenmesini sağlar.

-Bsymbolic-functions

dinamik bir kitaplık oluşturulurken, eğer kütüphane içerisinde global fonksiyon simgeleri varsa referansları bunlara bağlamaya yarar.

-no-unneeded

bu bayrak kullanılarak inşa (build) sırasında tüm durumlar ele alınır.


sirin

----------------------------------------------------------------------------------------------------------------------------------------------------------------

linux man sayfaları

http://tr.pardus-wiki.org/NASIL:Bayraklar_donanmış_cafcaflı



No comments:

Post a Comment