Κυκλοφόρησε η έκδοση 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.
  • χειριστής delete ( 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

Προσθέστε ένα σχόλιο