Releases: farukyld/bringup-bench
Releases · farukyld/bringup-bench
Release list
v1.1.0
- libmin'in
libmvelibstdc++ile uyumluğu sağlandı:
şu şekilde derlemek mümkün:
$(CXX) $(CFLAGS) $(FLAGS_PASSED_TO_LINKER) $(OBJS) -T $(LINKER_SCRIPT) -lm -lstdc++ $(LIBMIN) -lgccLibmin'in farklı benchmark'larla derlenmesi talimatları için libmin_kullanim_talimatlari.md
v1.0.0
- güncel spike dışındaki target'ler kaldırıldı.
- README.md'de derleyici versiyonuna değinildi.
- program giriş adresi 0x8000_0000 olarak ayarlandı.
- vektör zıplama tablosu program başlangıcından 4 byte ileriye itildi. (program başlangıç adresinde
jal, x0, reset_handlerbuyruğu yer almakta) - vektör zıplama tablosu ve
reset_handlera zıplamayı sağlayan kod, programın.vectorsbölümüne yerleştirildi. spike-crt0.Sdosyasındaki kod,_vectors_start,mtvece yazıldıktan sonramtvecdoğru değer almamışsa program bitirilecek şekilde düzeltildi.default_exception_handler,GDB_DEBUGmakrosu tanımlıysa sonsuz döngüde bekler, aksi hâlde programı bitirir.reset_handler,GDB_DEBUGmakrosu tanımlıysa sonsuz döngüde bekler. (gdb'denprint wait=0komutu gelene kadar)sp, 8 byte hizalı olacak şekilde ilklendirilir.libtarg.cvespike-crt0.Sdosyaları,PRINT_CYCLES_ON_EXITmakrosu tanımlı şekilde derlenirse program çalışmayı normal yolla sonlandırı veyalibtarg_failçağrılırsa program başlangıcından itibaren kaç çevrim çalıştığını basar.libtarg.cdosyası,PRINT_MAX_HEAP_ON_EXITmakrosu tanımlı olarak derlenirse,libmin_sbrkprogram çalışması boyunca heap güncellendikçe,heap_ptrın (heap'in sonunu indeksler) maksimum değerini takip eder ve maksimum heap kullanımını program biterken (normal veya hatalı şekilde) basar- heap, kod dosyasının içinde tanımlanan bir 'dizi' değil, linker script'te tanımlanan -NOLOAD özellikli - bir bölüm oldu. bu sayede heap çok büyük olduğunda derleme süresinden kaybetmemiş olduk.
- program belleğe 3 ana bölüm ve alt bölümler şeklinde şu sırayla yerleştirilmiştir: program (.vectors, .text, .data, .bss), stack, heap