|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
ok
(che problema ha il codice prodotto dal gcc-3.1 della mdk?) |
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Niente, semplicemente hanno disabilitato -fomit-frame-pointer...
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#23 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Ok ieri sera ero lesso quindi nulla.
Scaricati l'allegato (rinominalo come test.tar.gz), decomprimilo, e compila il programmino con make. Ti verrà creato l'eseguibile "test", lancialo e dimmi se abortisce o se scrive "ok". Questo test riproduce un fastidioso bug nel gcc 2.9x, che non ho potuto verificare sul 3.x in quanto quello della Mandrake che ho usato ignorava -fomit-frame-pointer. Fammi sapere
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#24 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
/* gcc-3.1 */ $ make all
gcc-3.1 -O2 -fomit-frame-pointer -c -o lib.o lib.cpp gcc-3.1 -shared -o libtest.so lib.o gcc-3.1 -O2 -fomit-frame-pointer -c -o main.o main.cpp gcc-3.1 -o test main.o libtest.so main.o: In function `main': main.o(.text+0x19): undefined reference to `__cxa_begin_catch' main.o(.text+0x33): undefined reference to `__cxa_end_catch' main.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' libtest.so: undefined reference to `__cxa_throw' libtest.so: undefined reference to `typeinfo for char const*' libtest.so: undefined reference to `__cxa_allocate_exception' collect2: ld returned 1 exit status make: *** [all] Error 1 /* gcc-3.0 */ $ make all gcc-3.0 -O2 -fomit-frame-pointer -c -o lib.o lib.cpp gcc-3.0 -shared -o libtest.so lib.o gcc-3.0 -O2 -fomit-frame-pointer -c -o main.o main.cpp gcc-3.0 -o test main.o libtest.so main.o: In function `main': main.o(.text+0x19): undefined reference to `__cxa_begin_catch' main.o(.text+0x33): undefined reference to `__cxa_end_catch' main.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' libtest.so: undefined reference to `__cxa_throw' libtest.so: undefined reference to `typeinfo for char const*' libtest.so: undefined reference to `__cxa_allocate_exception' collect2: ld returned 1 exit status make: *** [all] Error 1 /* gcc-2.95 */ $ make all gcc-2.95 -shared -o libtest.so lib.o gcc-2.95 -o test main.o libtest.so main.o: In function `main': main.o(.text+0x19): undefined reference to `__cxa_begin_catch' main.o(.text+0x33): undefined reference to `__cxa_end_catch' main.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' libtest.so: undefined reference to `__cxa_throw' libtest.so: undefined reference to `typeinfo for char const*' libtest.so: undefined reference to `__cxa_allocate_exception' collect2: ld returned 1 exit status make: *** [all] Error 1 pure col gcc-2.95? |
|
|
|
|
|
#25 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
azz sul gcc della Mandrake funziona
Edita il Makefile e imposta g++ al posto di gcc
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#26 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
ehm è vero è codice C++ ... :p
$ ./test
./test: error while loading shared libraries: libtest.so: cannot open shared object file: No such file or directory mi dà quell'output con tutt'e 3 i compilatori e il file (libtest.so) c'è (nella dir . ) |
|
|
|
|
|
#27 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
PS questa notte mi son compilato mozilla usando gcc-3.1
ho cambiato il makefile e ho sostituito -O2 con -O3 installato i binari così compilati e si chiude dopo un po' da solo (nessun messaggio sulla shell, boh) colpa di gcc-3.1 o di -O3? (per controprova lo sto ricompilando con gcc-3.0, sempre col -O3) |
|
|
|
|
|
#28 | ||
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Sposta libtest.so in /usr/lib, esegui ldconfig e dovrebbe funzionare. Ricordati di sovrascrivere la libreria quando ricompili. Quote:
-fforce-mem -fforce-addr -funroll-loops -fexpensive-optimizations -felide-constructors -ffast-math -march=i686 -mcpu=i686 Se hai un athlon, sostituisci athlon a i686. -fomit-frame-pointer la puoi usare se i sorgenti non sono in c++, oppure se hanno corretto il bug che ti sto chiedendo di verificare.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
|
|
|
|
|
#29 | |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Re: ehm è vero è codice C++ ... :p
Quote:
$ ./test
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
|
#30 | |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
Re: Re: ehm è vero è codice C++ ... :p
Quote:
ho ricompilato mozilla con -O3 ma sempre il solito problema adesso provo con un po' delle opzioni suggerite da ilsensine |
|
|
|
|
|
|
#31 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Re: Re: Re: ehm è vero è codice C++ ... :p
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
|
#32 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
avevo compilato xfree con gcc-3.0 con march=athlon e mcpu=athlon
aggiungendo le altre opzioni da te consigliate che possa cambiar qualcosa? (tipo magari, random freezes |
|
|
|
|
|
#33 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
No, sono solo opzioni di ottimizzazione. Per alcune ho effettivamente verificato un "decente" aumento della velocità (qualche punto percentuale)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#34 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
magari farò delle prove (non che sia na passeggiata compilare tutto xfree...)
ah, la mia cpu è un duron morgan, dotato di sse... per compilare usando anche ste istruzioni? |
|
|
|
|
|
#35 |
|
Senior Member
Iscritto dal: Apr 2001
Messaggi: 178
|
Originariamente inviato da Kernel Panic!!
magari farò delle prove (non che sia na passeggiata compilare tutto xfree...) ah, la mia cpu è un duron morgan, dotato di sse... per compilare usando anche ste istruzioni? -mmmx -msse (credo) potrebbero essere utili anche -march=athlon -mcpu=athlon (o era k7?)
__________________
-----BEGIN GEEK CODE BLOCK----- Version: 3.1.2 GCS/M/E d- +:++ a-- C++>$ UL++ P L++>+++ E---@ W+(-) N++ o? !K w O? M- V- PS PE Y+ PGP- t- 5? X+ R* tv++>+ b+@ DI>+ D+ G e>++ h!(+) r(--) !y? ------END GEEK CODE BLOCK------ [/size] |
|
|
|
|
|
#36 |
|
Senior Member
Iscritto dal: Jul 1999
Messaggi: 2098
|
mah, niente da fare, con tutta quella roba abilitata alla fine il binario che mi fa dà seg. fault
mi sa che lascio stare mozilla (tanto non cambierà molto... +ttosto provo a ricompilarmi kernel e xfree con tutte le ottimizzazioni abilitate) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:29.



















