Kei te whakamahere a Linux kernel 5.18 ki te whakamahi i te paerewa reo C C11

I a koe e korero ana mo te huinga o nga papaki hei whakatika i nga raru e pa ana ki te Specter i roto i te rarangi rarangi hono, kua marama ake ka taea te whakaoti i te raru mena ka tukuna te waehere C e ū ana ki tetahi putanga hou o te paerewa ki roto i te kernel. I tenei wa, me u te waehere kernel taapiri ki te tohu ANSI C (C89), i hangaia i te tau 1989.

Ko te raruraru e pa ana ki te Specter i roto i te waehere i puta mai i te whakamahi tonu o te kaitahuri kua tautuhia motuhake i muri i te karu—ka whakamahia he tonotono hei huri i nga huānga o te rarangi hono, a na te mea ka tukuna te kaihurihuri ki taua tonotono, he kua tautuhia ki waho o te kapiti ka noho tonu i muri i te kapiti. Ma te whakamahi i te paerewa C99 ka taea te tautuhi i nga taurangi porowhita i roto i te poraka mo(), ka whakaoti i te rapanga me te kore e whai waahi mahi.

I whakaae a Linus Torvalds ki te whakaaro ki te whakatinana i te tautoko mo nga whakaritenga hou me te whakaaro kia nekehia te pata 5.18 ki te whakamahi i te paerewa C11, i whakaputaina i te tau 2011. I te wa o nga whakamatautau tuatahi, ko te huihuinga i GCC me Clang i roto i te aratau hou i haere kaore he rereke. Mena karekau he raruraru ohorere ka puta ake i te wa e tino whakamatautauria ana, ka whakakapia te whiringa '--std=gnu5.18' i roto i nga tuhinga hanga kernel 89 ki te '--std=gnu11 -Wno-shift-negative-value'. Ko te kaha ki te whakamahi i te paerewa C17 i whakaarohia ano, engari i tenei keehi ka tika te whakanui ake i te waahanga tautoko iti o te GCC. Ko te whakaurunga o te tautoko C11 ka uru ki nga whakaritenga o naianei mo te putanga GCC (5.1).

Source: opennet.ru

Tāpiri i te kōrero