Իրականացրել է LLVM գործիքակազմի միջոցով Glibc կառուցելու հնարավորությունը

Collabora-ի ինժեներները զեկույց են հրապարակել ծրագրի իրականացման վերաբերյալ՝ ապահովելու GNU C գրադարանի (glibc) համակարգի գրադարանի հավաքումը GCC-ի փոխարեն՝ օգտագործելով LLVM գործիքակազմը (Clang, LLD, compiler-rt): Մինչև վերջերս Glibc-ը մնում էր բաշխումների կարևոր բաղադրիչներից մեկը, որն աջակցում էր շինարարությանը միայն GCC-ով:

LLVM-ի միջոցով հավաքման համար Glibc-ի հարմարեցման դժվարությունները պայմանավորված են ինչպես GCC-ի, այնպես էլ Clang-ի վարքագծի տարբերություններով՝ որոշակի կոնստրուկցիաների մշակման ժամանակ (օրինակ՝ $ խորհրդանիշով արտահայտություններ, ներդիր ֆունկցիաներ, պիտակներ asm բլոկներում, երկար կրկնակի և float128 տեսակներ): և կոմպիլյատոր-rt-ում գործարկման ժամանակը libgcc-ով փոխարինելու անհրաժեշտությունը:

LLVM-ի միջոցով Glibc-ի հավաքումն ապահովելու համար մոտ 150 պատչ է պատրաստվել Gentoo միջավայրի և 160-ը՝ ChromiumOS-ի վրա հիմնված միջավայրի համար: Իր ներկայիս տեսքով, ChromiumOS-ի կառուցումն արդեն հաջողությամբ անցնում է թեստային փաթեթը, բայց լռելյայն դեռ միացված չէ: Հաջորդ քայլը կլինի պատրաստված փոփոխությունները փոխանցել Glibc-ի և LLVM-ի հիմնական կառուցվածքին, շարունակել փորձարկել և շտկել առաջացող ոչ տիպիկ խնդիրները: Որոշ կարկատներ արդեն ընդունվել են Glibc 2.37 մասնաճյուղում:

Source: opennet.ru

Добавить комментарий