GNU Mes 0.25-ийн хувилбар нь бие даасан түгээлтийг бий болгох хэрэгсэл юм

Жил хагасын турш хөгжүүлсний дараа GNU Mes 0.25 хэрэглүүрийг гаргасан нь GCC-д ачаалах процессыг хангаж, эх кодоос хаалттай циклийг дахин бүтээх боломжийг олгосон. Хэрэгслийн хэрэгсэл нь хуваарилалт дахь баталгаажуулсан анхны хөрвүүлэгч угсралтын асуудлыг шийдэж, мөчлөгийн дахин бүтээх гинжийг эвддэг (хөрвүүлэгчийг бүтээхэд аль хэдийн баригдсан хөрвүүлэгчийн гүйцэтгэгдэх боломжтой файлууд шаардлагатай бөгөөд хоёртын хөрвүүлэгчийн угсралт нь далд хавчуургын боломжит эх үүсвэр бөгөөд энэ нь бүрэн баталгаа өгөхийг зөвшөөрдөггүй. лавлагааны эх кодуудаас угсралтын бүрэн бүтэн байдал).

GNU Mes нь С хэл дээр бичигдсэн Scheme хэлний өөрөө орчуулагч, Схем хэл дээр бичигдсэн Си хэлний энгийн хөрвүүлэгчийг (MesCC) санал болгодог. Хоёр бүрэлдэхүүн хэсэг нь хоорондоо угсарч болно. Схемийн орчуулагч нь MesCC C хөрвүүлэгчийг бүтээх боломжийг олгодог бөгөөд энэ нь TinyCC хөрвүүлэгчийн (tcc) задалсан хувилбарыг бүтээх боломжийг олгодог бөгөөд түүний чадвар нь GCC-г бүтээхэд хангалттай юм.

Схем хэлний орчуулагч нь маш авсаархан бөгөөд Си хэлний хамгийн энгийн дэд бүлэгт 5000 орчим мөр код авдаг бөгөөд M2-Planet универсал орчуулагч эсвэл өөрөө угсардаг hex0 ассемблер ашиглан эмхэтгэсэн энгийн C хөрвүүлэгчийг ашиглан гүйцэтгэгдэх файл болгон хөрвүүлэх боломжтой. Энэ нь гадны хамаарлыг шаарддаггүй. Үүний зэрэгцээ орчуулагч нь бүрэн хэмжээний хог цуглуулагчтай бөгөөд ачаалах боломжтой модулиудын номын сангаар хангадаг. Төсөл нь мөн i2.2.5-linux, x2.20.1_2.95.3-linux, armhf-linux болон aarch686-д Guix түгээлтийг ашиглахад шаардлагатай glibc 86, binutils 64 болон gcc 64-ийг бүтээхэд хангалттай Mes C C номын санг хөгжүүлдэг. -Linux платформууд , зөвхөн эх кодыг ашигладаг (Бүрэн эх сурвалжийн ачаалах).

Шинэ хувилбар нь RISC-V архитектурын (RISC-V64-linux) дэмжлэгийг нэвтрүүлж, M2-Planet дамжуулагчийг ашиглан эмхэтгэх дэмжлэгийг нэмсэн. X2_1.11.0-linux зорилтот платформд зориулсан M86-Planet 64 хувилбарыг дэмжсэн угсралт. M2-Planet-г ашиглах үед "--bootstrap-mode"-г зааж өгөх шаардлагагүй болсон. MesCC нь GCC 10+ хувилбаруудтай нийцтэй байдлын асуудлыг шийдэж, бүтцийн талбаруудыг 0 болгож, хоёртын файлуудыг бие даасан функцүүдийн түвшинд дибаг хийх чадварыг сэргээдэг.

Цаашдын хувилбаруудад бид NixOS-ийг зөвхөн эх сурвалжаас ачаалах, Guile-тэй бүрэн нийцэх модулиудын дэмжлэг, Gash болон Gash-Utils-ийг ажиллуулах, gcc 4.6.4-ийг ачаалах дэмжлэг, түүнчлэн armhf болон riscv64 архитектурт суурилсан Линукс орчинд бүхэл системийг эх сурвалжаас бүрэн бүтээх.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх