GNU toolchain компилация с GCC 14.2.0 Π·Π° Symbian бСшС пусната

Π‘Π»Π΅Π΄ дълга ΠΈ ΡƒΠΏΠΎΡ€ΠΈΡ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° бСшС пуснат GCC 14.2.0, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈ Ρ€Π΅Π΄ΠΈΡ†Π° подобрСния. Π’ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Binutils 2.29.1 ΠΈ GDB 10.2.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π·Π° Windows ΠΊΠ°Ρ‚ΠΎ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅; Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π΅ bash скрипт Π·Π° асСмблиранС Π½Π° Linux систСми.

ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ:

  • ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° C++11 ΠΈ ΠΏΠΎ-късно Π² SDK;
  • Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ Π΅ ΠΌΠ°ΠΊΡ€ΠΎΡΡŠΡ‚ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Symbian: __SYMBIAN32__;
  • пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠ±Ρ‰ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ макроси Π² GCC;
  • ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π° ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ ( void* ptr, std::size_t sz ) noexcept;

Π—Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅ Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ C++ стандарти ΠΈΠΌΠ° Π΄Π²Π° Π·Π°Π³Π»Π°Π²Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° fixed_headers: gcce.h ΠΈ e32cmn.h. ΠŸΡŠΡ€Π²ΠΈΡΡ‚ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с всички SDK, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Symbian 9, вторият Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ само с няколко SDK ΠΈ Symbian 3 ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°, Π·Π° Π΄Π° инсталиратС, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ install_headers.py

ΠœΠ°ΠΊΡ€ΠΎΡΡŠΡ‚ __SYMBIAN32__ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π° ΠΊΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° Symbian. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ сС Π·Π°Π΄Π°Π²Π° ΠΎΡ‚ систСмата Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° SDK ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°, Π°ΠΊΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄Ρ€ΡƒΠ³Π° систСма Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅. Π‘Π΅Π³Π° Ρ‰Π΅ бъдС ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-лСсно Π·Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈ систСми Π·Π° сглобяванС.

β€žΠžΠ±ΠΈΡ‡Π°ΠΉΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ макроси са GNU C Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡβ€œ Β©GCC Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ – прСдоставя пълСн Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ макроси Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ с фиксиран Ρ€Π°Π·ΠΌΠ΅Ρ€.

ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°:

  • Π“Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° GCC "crtfastmath.o Π½Π΅ Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½";
  • Π½Π°ΠΉ-накрая ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ… Π³ΠΎΡ‚ΠΎΠ²Π° свободностояща libstdc++;
  • GDB Π½Π°ΠΉ-накрая сС ΡΡŠΠ±Ρ€Π°.

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия 5, GCC бСшС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ само с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° make -k, Π±Π΅Π· Π½Π΅Π³ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° изисква crtfastmath.o ΠΈ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈ Π΄ΠΎΡ‚ΡƒΠΊ. Π’ΠΎΠ²Π° Π΅ Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» Π½Π΅ Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ Π·Π° SOFTFP (Π² Ρ‚ΠΎΠ·ΠΈ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π½Π΅ сС интСрСсува Π΄Π°Π»ΠΈ FPU Π΅ Ρ€Π΅Π°Π»Π΅Π½ ΠΈΠ»ΠΈ Π΅ΠΌΡƒΠ»ΠΈΡ€Π°Π½!). Всичко бСшС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ с посочСния ΠΊΠ»ΡŽΡ‡, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° свободностоящитС libstdc++ ΠΈ GDB.

Π›ΡŽΠ»Π΅Π΅Ρ‚Π΅ сС Ρ‚ΡƒΠΊ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€