[Plug] gcc-i686+debian

Markos Chandras markos.chandras at gmail.com
Sun Nov 9 22:20:52 EET 2008


On Sunday 09 November 2008 22:05:06 Giorgos Keramidas wrote:
> On Sun, 9 Nov 2008 21:42:21 +0200, Markos Chandras 
<markos.chandras at gmail.com> wrote:
> > Ρε παιδια εχω ενα προβλημα στο ... debian
> >
> > Οριστε το uname -a
> >
> > Linux Hydra 2.6.26-1-686 #1 SMP Wed Sep 24 15:02:04 UTC 2008 i686
> > GNU/Linux
> >
> > Προσεξτε το i686
>
> Αυτό σημαίνει πως ο πυρήνας είναι compiled με options που μπορούν να
> εκμεταλλεύονται τα έξτρα features ενός PentiumPro CPU.  Ορισμένα από τα
> optimizations που έχει το kernel source για να παίζει πιο καλά, πιο
> σωστά ή πιο γρήγορα σε PentiumPro ή καλύτερο CPU είναι δηλαδή ενεργά.
>
> > Κοιταξτε και το gcc -v απο το ιδιο μηχανημα
> >
> > Using built-in specs.
> > Target: i486-linux-gnu
> > Configured with: ../src/configure -v --with-pkgversion='Debian
> > 4.3.2-1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
> > --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
> > --enable-shared --with-system-zlib --libexecdir=/usr/lib
> > --without-included-gettext --enable-threads=posix --enable-nls
> > --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3
> > --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc
> > --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release
> > --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
> > Thread model: posix
> > gcc version 4.3.2 (Debian 4.3.2-1)
> >
> > Προσεξτε το i486
>
> Ναι.  Αυτό σημαίνει πως αν δε δώσεις κάτι άλλο με το `-march=XXX', ο
> compiler σου είναι εκτελέσιμο που χρησιμοποιεί μόνο το instruction set
> του 486 (αυτό σημαίνει το `--host=i486-linux-gnu' configure option) και
> το default instruction set που χρησιμοποιεί για τα παραγόμενα εκτελέσιμα
> είναι το instruction set του 486 (το `--target=i486-linux-gnu' option).
>
> > Πως διαολο γινεται αυτο που να το παρει;;;;;;; Μπορω να πω στον gcc να
> > τα γυρισει ολα σε i686;;;;;;; Που στο καλο του το βρηκε το i486 δεν
> > καταλαβαίνω
>
> Το πραγματικό πρόβλημα είναι «Γιατί σε παραξενεύει που είναι i486 ο
> default target επεξεργαστής του default gcc;».  Αν αυτό είναι το
> standard πακέτο του Debian είναι πολύ λογικό, γιατί η ομάδα του Debian
> θέλει να μπορείς να πάρεις το επίσημο GCC package και να το στήσεις
> *και* σε 486 CPU.
>
> Αν θέλεις να τρέχουν και σε 486 τα binaries του GCC, είναι καλό να έχεις
> και το 486-compatibility ως «βασικό» support.  Αυτό δε σημαίνει πως δε
> μπορείς να χτίσεις όλα τα άλλα όμως με `-march=pentium-m' ή ακόμα πιο
> εξωτικά options όπως το `-march=[nocona,k8,athlon64]'.
>
> Εκτός κι αν είσαι από «αυτούς», που τρέχουν Gentoo και νομίζουν ότι τα
> CPU optimizations είναι το βασικό bottleneck του GCC όταν κάνει compile :P

Καταλαβα τι λες. Η αληθεια ειναι οτι θελω να βαλω το debian να χτιζει 
πακετακια για το gentoo ομως το gentoo εχει i686-pc-linux-gnu-* compiler ενω 
το debian i486-pc-linux-gnu-*. Δεν ξερω αν αυτο θα οδηγησει σε υπερσπασμένα 
πακετα εφοσον το μισο θα χτίζεται με τον ένα και το αλλο μισό με τον άλλο.

-- 
Markos Chandras


More information about the Plug mailing list