GCC рдореБрдЦреНрдп FreeBSD рд▓рд╛рдЗрдирдЕрдкрдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рдИрд▓

рдлреНрд░реАрдмреАрдПрд╕рдбреА рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕ рд╕рд╛рджрд░ FreeBSD рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд░реЛрддрд╛рдВрдордзреВрди GCC 4.2.1 рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ. FreeBSD 13 рд╢рд╛рдЦрд╛ рдлреЛрд░реНрдХ рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА GCC рдШрдЯрдХ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рддреАрд▓, рдЬреНрдпрд╛рдордзреНрдпреЗ рдлрдХреНрдд рдХреНрд▓рдБрдЧ рдХрдВрдкрд╛рдЗрд▓рд░рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕реЗрд▓. рдЬреАрд╕реАрд╕реА, рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдЬреНрдпрд╛ рдкреЛрд░реНрдЯрдордзреНрдпреЗ рджрд┐рд▓реЗ рдЬрд╛рддреЗ рддреНрдпрд╛ рд╡рд░реВрди рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рдЬреАрд╕реАрд╕реА 9, 7 ╨╕ 8, рддрд╕реЗрдЪ рдЖрдзреАрдЪ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╢реНрд░реЗрдгреАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рд╕рдорд╕реНрдпрд╛ рдЬреАрд╕реАрд╕реА 4.8, 5, 6 ╨╕ 7.

рдЬреАрд╕реАрд╕реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдХреНрд▓рдБрдЧрдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рд╣реЛрдК рд╢рдХрдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рдирд╛ рдкреЛрд░реНрдЯрдордзреВрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрд╛рд╣реНрдп рд╕рд╛рдзрдирд╛рдВрдХрдбреЗ рд╕реНрдерд▓рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЬрд╛рдИрд▓. рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдордордзреВрди рдЬреАрд╕реАрд╕реА рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдЪреНрдпрд╛ рддрдпрд╛рд░реАрдордзреНрдпреЗ, рдмрд╛рд╣реНрдп рд╕рд╛рдзрдирд╛рдВрд╕рд╣ рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдордЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рдорд╛рдЪреЗ рдирд┐рдпреЛрдЬрди рдХреЗрд▓реЗ рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, amd64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА, рд╕рддрдд рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рд╕рд┐рд╕реНрдЯрдордиреЗ рдЖрдзреАрдЪ рдкреЛрд░реНрдЯреНрд╕рд╡рд░реВрди gcc 6.4 рд╡рд╛рдкрд░реВрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ, рдЬреА рдЗрддрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.

рдЖрдкрдг рд▓рдХреНрд╖рд╛рдд рдареЗрд╡реВрдпрд╛ рдХреА FreeBSD 10 рдкрд╛рд╕реВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВрди, i386, AMD64 рдЖрдгрд┐ ARM рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╕рд╛рдареА рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓рдБрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрдгрд┐ LLVM рдкреНрд░реЛрдЬреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ libc++ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдбрд┐рдлреЙрд▓реНрдЯ рдбрд┐рд▓рд┐рд╡реНрд╣рд░реАрдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рд╣реЛрддреА. рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╕рд╛рдареА GCC рдЖрдгрд┐ libstdc++ рдпрд╛рдкреБрдвреЗ рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдордЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рдмрд╛рдВрдзрд▓реЗ рдЧреЗрд▓реЗ рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ powerpc, mips, mips64 рдЖрдгрд┐ sparc64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░реНрд╕рд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдкреБрд░рд╡рд▓реЗ рдЬрд╛рдгреЗ рд╕реБрд░реВ рдареЗрд╡рд▓реЗ рдЖрдгрд┐ WITH_GCC рдЖрдгрд┐ WITH_GNUCX рдлреНрд▓реЕрдЧрд╕рд╣ рдкреБрдирд░реНрдмрд╛рдВрдзрдгреА рдХрд░рддрд╛рдирд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. GCC 4.2.1 рдЪреА рдЬреБрдиреА рдЖрд╡реГрддреНрддреА рдкрд░рд╡рд╛рдирд╛ рдирд┐рд░реНрдмрдВрдзрд╛рдВрдореБрд│реЗ рдкрд╛рдард╡рд▓реА рдЧреЗрд▓реА.

рдлреНрд░реАрдмреАрдПрд╕рдбреА GCC рдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреАрд╡рд░ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░реВ рд╢рдХрд▓реЗ рдирд╛рд╣реА, рдХрд╛рд░рдг рд░рд┐рд▓реАрдЭ 4.2.2 GCC рд╣реЛрддреЗ рдЕрдиреБрд╡рд╛рджрд┐рдд GPLv3 рдкрд░рд╡рд╛рдирд╛ рдЖрдгрд┐ GCC 4.2.2 рдПрдХреАрдХрд░рдг BSD рдкрд░рд╡рд╛рдиреНрдпрд╛рд╕рд╣ GCC рд░рдирдЯрд╛рдЗрдо рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдЕрд╕рдВрдЧрддрддреЗрдореБрд│реЗ рдмрд╛рдзрд┐рдд рд╣реЛрддреЗ. рдирдВрддрд░, рдЖрд╡реГрддреНрддреА GCC 4.4 рдордзреНрдпреЗ рд╣реА рд╡рд┐рд╕рдВрдЧрддрддрд╛ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реЗ, рдкрд░рдВрддреБ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдмреЗрд╕ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ GPLv3-рдкрд░рд╡рд╛рдирд╛рдХреГрдд рдШрдЯрдХ рдЬреЛрдбрдгреЗ рд╣реЛрддреЗ рдЕрд╢рдХреНрдп рд╡рд╛рдЯрд▓реЗ рд╕рд╣ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕рд╛рдВрдореБрд│реЗ рдлреНрд░реАрдмреАрдПрд╕рдбреА рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЙрджреНрджрд┐рд╖реНрдЯреЗ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╡рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрдмрдВрдз рд▓рд╛рджрдгреНрдпрд╛рд╕ рдЕрдирд┐рдЪреНрдЫрд╛, рдЬрд╕реЗ рдХреА рдмрдВрджреА рдШрд╛рд▓рдгреЗ tivoization.

рдмреЗрд╕ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ GCC рдордзреВрди рдореБрдХреНрдд рд╣реЛрдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреЗрдХ рдЯрдкреНрдкреНрдпрд╛рдВрдд рд╡рд┐рднрд╛рдЧрд▓реА рдЬрд╛рдИрд▓ рдЖрдгрд┐ рддреА 9 рдорд╣рд┐рдиреЗ рдЯрд┐рдХреЗрд▓, рдЬреНрдпрд╛рдореБрд│реЗ GCC-рдмрд╛рдЙрдВрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ (powerpc, mips, mips64 рдЖрдгрд┐ sparc64) рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдХреНрд▓рдБрдЧрд╡рд░ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реЗрд│ рдорд┐рд│реЗрд▓. рдмрд╛рд╣реНрдп рд╕рд╛рдзрдиреЗ. рдкрд╣рд┐рд▓рд╛ рдЯрдкреНрдкрд╛ 31 рдСрдЧрд╕реНрдЯ рд░реЛрдЬреА рд╕реБрд░реВ рд╣реЛрдИрд▓ рдЖрдгрд┐ рд╕рддрдд рдПрдХреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдмрд┐рд▓реНрдбрдордзреВрди gcc 4.2.1 рд╡рдЧрд│рд▓рд╛ рдЬрд╛рдИрд▓, рддрд╕реЗрдЪ GCC-рдмрджреНрдз рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╕рд╛рдареА "-Werror" рдзреНрд╡рдЬ рд╕рдВрдкреБрд╖реНрдЯрд╛рдд рдпреЗрдИрд▓ рдЖрдгрд┐ GCC рдмрд┐рд▓реНрдбреНрд╕ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. "рдореЗрдХ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕" рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рдбреАрдлреЙрд▓реНрдЯ.

31 рдбрд┐рд╕реЗрдВрдмрд░ 2019 рд░реЛрдЬреА, GCC рдмрд┐рд▓реНрдб рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдХреНрд╖рдо рдХреЗрд▓реЗ рдЬрд╛рдИрд▓, рдкрд░рдВрддреБ рддрд░реАрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдзреНрд╡рдЬ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди рдкрд░рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. 31 рдорд╛рд░реНрдЪ 2020 рд░реЛрдЬреА, GCC SVN рднрд╛рдВрдбрд╛рд░рд╛рддреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ 31 рдореЗ рд░реЛрдЬреА, рд╕рд░реНрд╡ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЬреЗ рд╕рддрдд рдПрдХрд╛рддреНрдорддреЗрдиреЗ рдХрд╡реНрд╣рд░ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд, LLVM рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд рдХрд┐рдВрд╡рд╛ рдмрд╛рд╣реНрдп рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд рддреЗ SVN рдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рддреАрд▓. . 31 рдЬреБрд▓реИ 2020 рд░реЛрдЬреА, рд╕рд░реНрд╡ рдЙрд░реНрд╡рд░рд┐рдд рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреЗ SVN рд╡рд░реВрди рдЕрдВрддрд┐рдо рдХрд╛рдврд▓реЗ рдЬрд╛рдИрд▓ рдЬреНрдпрд╛рдВрдирд╛ рдмрд╛рд╣реНрдп рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд░рд┐рд▓реАрдЭ рдЬрдирд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╕рдкреЛрд░реНрдЯ рдирд╛рд╣реА.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛