Debian փաթեթի տվյալների բազայի վերակառուցման արդյունքները Clang 10-ի միջոցով

Սիլվեստր Լեդրու հրատարակվել Debian GNU/Linux փաթեթի արխիվի վերակառուցման արդյունքը՝ օգտագործելով Clang 10 կոմպիլյատորը GCC-ի փոխարեն: 31014 փաթեթներից 1400-ը (4.5%) չի կարողացել կառուցվել, սակայն Debian գործիքակազմում լրացուցիչ կարկատել կիրառելով, չկառուցված փաթեթների թիվը կրճատվել է մինչև 1110 (3.6%)։ Համեմատության համար նշենք, որ Clang 8-ում և 9-ում կառուցելիս չհաջողված փաթեթների թիվը մնացել է 4.9%:

Կառուցման փորձը կենտրոնացած էր վթարների հետևանքով առաջացած 250 խնդիրների վրա սխալներ Qmake-ում և 177 թողարկում, կապված գրադարաններում տարբեր խորհրդանիշների գեներացմամբ։ Ավելացնելով dpkg-gensymbols-ին պարզ կարկատել՝ որպես նախազգուշացում կապելու ժամանակ սիմվոլների համեմատության սխալը բուժելու համար, և qmake-ում g++ կազմաձևման ֆայլերը փոխարինելով, մենք կարողացանք շտկել մոտ 290 փաթեթ ստեղծելու ձախողումները:

Մնացածից խնդիրներ, որը հանգեցնում է Clang-ի կառուցման ձախողման, ամենատարածված սխալները պայմանավորված են որոշ վերնագրերի ֆայլերի բացակայության, տիպի ձուլման, բառացի և նույնացուցիչի միջև բացակայող տարածության, կապի հետ կապված խնդիրների, ոչ անվավեր ֆունկցիայից արժեք վերադարձնելու ձախողման պատճառով: , օգտագործելով ցուցիչի պատվիրված համեմատությունը null-ի հետ, սահմանումների բացակայություն:

Source: opennet.ru

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