GNU Mes 0.23 ning chiqarilishi, o'z-o'zidan tarqatish qurilishi uchun asboblar to'plami

Bir yillik rivojlanishdan so'ng, GNU Mes 0.23 asboblar to'plami chiqarildi, bu GCC uchun yuklash jarayonini ta'minlaydi va manba kodidan qayta qurishning yopiq tsikliga imkon beradi. Asboblar to'plami taqsimotlarda tasdiqlangan dastlabki kompilyator yig'ilishi muammosini hal qiladi, tsiklik qayta qurish zanjirini buzadi (kompilyatorni qurish allaqachon qurilgan kompilyatorning bajariladigan fayllarini talab qiladi va ikkilik kompilyator yig'ilishlari yashirin xatcho'plarning potentsial manbai bo'lib, bu to'liq kafolat berishga imkon bermaydi. mos yozuvlar manba kodlaridan yig'ilishlarning yaxlitligi).

GNU Mes C tilida yozilgan sxema tili uchun o'z-o'zini hosting tarjimonini va sxema tilida yozilgan C tili (MesCC) uchun oddiy kompilyatorni taklif etadi. Ikkala komponent ham bir-biriga o'rnatiladi. Sxema tarjimoni MesCC C kompilyatorini yaratishga imkon beradi, bu esa TinyCC kompilyatorining (tcc) qisqartirilgan versiyasini yaratishga imkon beradi, uning imkoniyatlari GCC yaratish uchun allaqachon etarli.

Sxema tili tarjimoni juda ixcham bo'lib, C tilining eng oddiy kichik to'plamida taxminan 5000 qator kodni egallaydi va M2-Planet universal tarjimoni yoki o'z-o'zidan yig'ilgan hex0 yordamida yig'ilgan oddiy C kompilyatori yordamida bajariladigan faylga aylantirilishi mumkin. assembler, bu tashqi bog'liqlikni talab qilmaydi. Shu bilan birga, tarjimon to'liq axlat yig'uvchini o'z ichiga oladi va yuklanadigan modullar kutubxonasini taqdim etadi.

Yangi versiya ARM arxitekturasini (armhf-linux va aarch-linux) qo'llab-quvvatlashni o'z ichiga oladi. GNU Guix loyihasidan (GNU Guix Reduced Binary Seed) qisqartirilgan yuklash fayllari bilan birga Mes-dan foydalanish imkoniyati qo'shildi. GCC 10.x yordamida Mes va Mes C kutubxonasini yaratish uchun amalga oshirilgan yordam. MesCC kompilyatori endi o'zining libmescc.a kutubxonasini (-lmescc) yuboradi va GCC bilan qurishda endi "-lgcc" ko'rsatiladi. Guile 3.0.x bilan MesCC qurish uchun yordam ko'rsatildi.

Manba: opennet.ru

a Izoh qo'shish