Dbox2-Images mit gcc 4.x

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

dbt hat geschrieben:Es ist nicht so, dass es keiner ernst nimmt, aber in Bezug auf den aktuellen CVS-Stand kann ich es nicht nachvollziehen, wobei ich eine Vermutung habe. Das Dumme ist nur, dass ich das drin habe. Dann würde ich schon etwas mehr Hintergründe wissen.
Welche Infos brauchst Du?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

Ich habe meinen Patch updated, mit einer IMHO besseren Lösung:

Code: Alles auswählen

--- a/Config.make
+++ b/Config.make
@@ -26,8 +26,17 @@ STRIP                = $(CROSS_COMPILE)strip
 OBJCOPY                = $(CROSS_COMPILE)objcopy
 OBJDUMP                = $(CROSS_COMPILE)objdump
 
+check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi)
+
 CPPFLAGS       := -D__KERNEL__ -DMODULE -I$(DRIVER_TOPDIR)/include -I$(DRIVER_TOPDIR)/dvb/include -I$(KERNEL_LOCATION)/include
 CFLAGS         := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -Werror -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
+
+# disable pointer signedness warnings in gcc 4.0
+CFLAGS += $(call check_gcc,-Wno-pointer-sign,)
+
+# disable stupid and dangerous "optimization" in gcc 3.2+
+CFLAGS += $(call check_gcc,-fno-delete-null-pointer-checks,)
+
 AFLAGS         := -D__ASSEMBLY__ $(CPPFLAGS)
 
 MODLIB         := $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
So wird's im Kernel auch gemacht.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

seife hat geschrieben:Ich habe meinen Patch updated, mit einer IMHO besseren Lösung:
Dein Patch, inkl. der letzten Änderung, ist als EDIT: entfernt verfügbar. Er
baut driver/ auf den Stand vom 22.05.2011 zurück und pflegt Deine Änderungen
ein. Leider treten damit beim Booten eines gcc3-yadds folgende Fehler auf:

Code: Alles auswählen

[BOOT] running /etc/init.d/S05drivers
depmod: *** Unresolved symbols in /lib/modules/2.4.37.11-dbox2/misc/avia_av.o
depmod:         errno
depmod: *** Unresolved symbols in /lib/modules/2.4.37.11-dbox2/misc/avia_gt.o
depmod:         errno
depmod: *** Unresolved symbols in /lib/modules/2.4.37.11-dbox2/misc/avs.o
depmod:         debug
depmod: *** Unresolved symbols in /lib/modules/2.4.37.11-dbox2/misc/cam.o
depmod:         errno
die mittels EDIT: entfernt behoben werden. Damit bootet ein gcc3-yadd,
dieser Patch ist noch nicht mit gcc4 getestet. EDIT: s/static int/int/ zum Kompilieren mit gcc4.

Obige Patches sind erstmal für gcc3 gedacht, damit das CVS in einem stabilen
Zustand ist, bevor cdk-Support für gcc4 hinzukommt.

EDIT: Bitte aktualisierte Version testen: gcc412_driverfix.diff3
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

die errno nicht static zu machen dürfte korrekt sein.

Edit: ich bin mir sogar sehr sicher, dass das korrekt ist und die errno-Variable nie funktioniert hat.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

gcc4-Zwischenstand:
in driver/avs/avs_core.c fehlt "int debug;"
Beim Booten erscheinen folgende Fehler:

Code: Alles auswählen

Warning: /lib/modules/2.4.37.11-dbox2/misc/dvb-core.o symbol for parameter dvbdev_debug not found
/lib/modules/2.4.37.11-dbox2/misc/dvb-core.o: symbol for parameter dvb_shutdown_timeout not found
/lib/modules/2.4.37.11-dbox2/misc/dvb-core.o: insmod /lib/modules/2.4.37.11-dbox2/misc/dvb-core.o failed
/lib/modules/2.4.37.11-dbox2/misc/dvb-core.o: insmod dvb-core failed
"s/static int/int" hilft auch hier, beim nächsten Booten kommt dann:

Code: Alles auswählen

Warning: /lib/modules/2.4.37.11-dbox2/misc/dvb-core.o symbol for parameter debug not found

Warning: /lib/modules/2.4.37.11-dbox2/misc/dbox2_fp.o symbol for parameter useimap not found
Module dbox2_fp loaded, with warnings

Warning: /lib/modules/2.4.37.11-dbox2/misc/at76c651.o symbol for parameter debug not found
Module at76c651 loaded, with warnings

Warning: /lib/modules/2.4.37.11-dbox2/misc/ves1x93.o symbol for parameter debug not found
/lib/modules/2.4.37.11-dbox2/misc/ves1x93.o: symbol for parameter board_type not found
/lib/modules/2.4.37.11-dbox2/misc/ves1x93.o: insmod /lib/modules/2.4.37.11-dbox2/misc/ves1x93.o failed
/lib/modules/2.4.37.11-dbox2/misc/ves1x93.o: insmod ves1x93 failed

Warning: /lib/modules/2.4.37.11-dbox2/misc/avia_av.o symbol for parameter sptsfix not found
[...]
Module avia_av loaded, with warnings

Warning: /lib/modules/2.4.37.11-dbox2/misc/avia_gt.o symbol for parameter hw_sections not found
[...]
Module avia_gt loaded, with warnings
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

Ok, schau ich noch mal durch.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

Mit meinem Halbwissen(c) vermute ich, dass die Nutzung von
Funktionen eines Modules durch ein anderes Modul in driver/
verbesserungsbedürftig ist. Mit dem Kernel-Modul-strip-Patch
und gcc4 passiert beim yadd-boot folgendes:

Code: Alles auswählen

depmod: *** Unresolved symbols in /lib/modules/2.4.37.11-dbox2/misc/aviaEXT.o
depmod:         avia_gt_set_playback_mode
depmod:         avia_gt_get_playback_mode
Ohne strip-Patch tritt der Fehler nicht auf. Der Code beider Funktionen
befindet sich in dvb/drivers/media/dvb/avia/avia_gt_napi.c, dazu in
include/dbox/aviaEXT.h:

Code: Alles auswählen

extern int avia_gt_get_playback_mode(void);
extern void avia_gt_set_playback_mode(int);
und in ext/aviaEXT.c dann die Aufrufe der Funktionen. Wie kann das
Wegoptimieren in aviaEXT.o verhindert werden? Deklaration der Funktionen
in einer gemeinsamen header-Datei statt "extern" in aviaEXT.h?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:uclibc ist noch ungetestet
PS: kernel 2.6 auch...
Meine ersten Erfahrungen mit kernel 2..6/gcc 4.1.2/yadd:

Code: Alles auswählen

$IM avia_gt_fb

Code: Alles auswählen

input: DBOX-2 FP IR as /devices/virtual/input/input0
Oops: kernel access of bad area, sig: 11 [#1]
PREEMPT
NIP: c015de44 LR: c015e974 CTR: c015e930
REGS: c3d8fd30 TRAP: 0300   Not tainted  (2.6.26.8-dbox2)
MSR: 00009032 <EE,ME,IR,DR>  CR: 39003053  XER: 8000007f
DAR: 0000000c, DSISR: c0000000
TASK = c3c4a400[205] 'modprobe' THREAD: c3d8e000
GPR00: c015e974 c3d8fde0 c3c4a400 00000000 c3d8fe08 00000001 609effdd c5055cc4
GPR08: 00000001 00000000 c5060268 00000030 39003053 1001d2a4 0000001e 00000064
GPR16: c3d691e0 c506dc34 c506dc0c 00000064 c506dbe4 00000000 00000020 c506d61c
GPR24: 00000021 c506c000 00000001 c5055cd0 c3d419b0 c3d44818 00000000 00000002
NIP [c015de44] i2c_transfer+0x14/0xbc
LR [c015e974] i2c_master_send+0x44/0x68
Call Trace:
[c3d8fde0] [c506c000] 0xc506c000 (unreliable)
[c3d8fe00] [c015e974] i2c_master_send+0x44/0x68
[c3d8fe20] [c505d1fc] fp_sendcmd+0x20/0x40 [dbox2_fp]
[c3d8fe40] [c5071150] dbox2_fp_rc_init+0xc4/0xdc [dbox2_fp_input]
[c3d8fe60] [c5071074] dbox2_fp_input_init+0x74/0x8c [dbox2_fp_input]
[c3d8fe80] [c003827c] sys_init_module+0x1490/0x1604
[c3d8ff40] [c0002660] ret_from_syscall+0x0/0x38
Instruction dump:
38a5f930 90010014 4bfd975d 80010014 38210010 7c0803a6 4e800020 7c0802a6
9421ffe0 bf810010 90010024 7c7e1b78 <8123000c> 542b0024 80090000 7c9c2378
Segmentation fault
avia_gt_fb: $Id: avia_gt_fb_core.c,v 1.54.2.5 2007/10/09 01:03:38 carjay Exp $
/root/tuxbox/work_glibc26/compile/driver/dvb/drivers/media/dvb/avia/avia_gt.h: unsupported chipset
FATAL: Error inserting avia_gt_fb (/lib/modules/2.6.26.8-dbox2/extra/dvb/drivers/media/dvb/avia/avia_gt_fb.ko): No such device
PS: Ein kleiner Patch zum Kompilieren der 2.6er-Version von driver/: EDIT: Patch ist im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Wie kann das Wegoptimieren in aviaEXT.o verhindert werden? Deklaration der Funktionen in einer gemeinsamen header-Datei statt "extern" in aviaEXT.h?
Ich antwortet mir mal selber ;) Ja, das funktioniert.
Die Lösung gibt es hier: http://www.tuxbox-cvs.sourceforge.net/f ... 74#p379674
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

Mourice hat geschrieben:Im Image fehlt bei "Einstellungen ..." der Punkt "Einstellungen speichern".
Dieser Patch behebt das Problem, warum auch immer ;)
EDIT: Patch ist im CVS
Getestet mit gcc3/4-yadd und gcc4-flash

PS:
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00001.html
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00007.html
http://cvs.tuxbox-cvs.sourceforge.net/l ... 00005.html
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Hi, ich habe die Übersicht verloren. Welche Patche brauch man jetzt noch um gcc4 mit K24 zu bauen?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Hi, ich habe die Übersicht verloren. Welche Patche brauch man jetzt noch?
Für gcc4 alleine reicht http://www.tuxbox-cvs.sourceforge.net/f ... 33#p379533

Für gestripte Kernel-Module (funktioniert auch ohne gcc4 trotz des Dateinamens):
http://www.tuxbox-cvs.sourceforge.net/f ... 50#p379350
und
http://www.tuxbox-cvs.sourceforge.net/f ... 74#p379674

In driver/ wird momentan stark nach gcc/4 unterschieden, seife hat einiges
dazu programmiert mit kleinen Anpassungen von mir:
http://www.tuxbox-cvs.sourceforge.net/f ... 65#p379665
Diese Patches werden allerdings NICHT benötigt, um ein funktionierendes
Image zu bauen.

Ich nutze die vorgenannten driver/-Patches momentan nicht, da ich derzeit
an anderen Problemen arbeite, wie z.B. Neutrino/Einstellungen speichern,
ein weiterer wichtiger Patch:
http://www.tuxbox-cvs.sourceforge.net/f ... 81#p379681

Testen kannst Dann gerne noch
zlib 1.2.5 http://www.tuxbox-cvs.sourceforge.net/f ... 27&t=49658
BB 1.18.5 http://www.tuxbox-cvs.sourceforge.net/f ... 79#p379679
Beides funktioniert hier.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

strip-modules24_412fix.patch und gcc412_driverfix.diff überschneiden sich in der genannten Reihenfolge.

Code: Alles auswählen

patching file driver/dvb/drivers/media/dvb/avia/avia_gt_dmx.c
Hunk #1 FAILED at 49.
Hunk #2 succeeded at 1254 (offset -4 lines).
1 out of 2 hunks FAILED -- saving rejects to file driver/dvb/drivers/media/dvb/avia/avia_gt_dmx.c.rej
patching file driver/dvb/drivers/media/dvb/avia/avia_gt_dmx.h
patching file driver/dvb/drivers/media/dvb/avia/avia_gt_napi.c
Hunk #1 FAILED at 73.
Hunk #2 succeeded at 490 (offset -8 lines).
Hunk #3 succeeded at 850 (offset -8 lines).
1 out of 3 hunks FAILED -- saving rejects to file driver/dvb/drivers/media/dvb/avia/avia_gt_napi.c.rej
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

GetAway hat geschrieben:strip-modules24_412fix.patch und gcc412_driverfix.diff überschneiden sich
Lass gcc412_driverfix.diff bitte erstmal weg, ich werde mich wieder
damit befassen, wenn strip modules getestet im CVS ist.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von dbt »

rhabarber1848 hat geschrieben:
Mourice hat geschrieben:Im Image fehlt bei "Einstellungen ..." der Punkt "Einstellungen speichern".
Dieser Patch behebt das Problem, warum auch immer ;)
gcc412_neutrinosavesettings.diff
Getestet mit gcc3/4-yadd und gcc4-flash
Hast du ein Snapshot von dir, bei mir sieht das so aus. Ich kann das Fehlen dieses Eintrages nicht nachvollziehen :gruebel:
Mainsettings.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

dbt: mit gcc4 gebaut?

Ich vermute, der gcc4 optimiert da ein wenig zu viel.

Oder die "dereferencing type-punned pointer might break strict aliasing..." Warnings haben doch einen Grund... :-) Zumindest sieht mir der "Fix" danah aus.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

seife hat geschrieben:Oder die "dereferencing type-punned pointer might break strict aliasing..." Warnings haben doch einen Grund... :-) Zumindest sieht mir der "Fix" danah aus.
neutrino_menu.cpp kompiliert ohne Patch ohne Warnungen, hier mein screenshot:
Bild
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von dbt »

seife hat geschrieben:mit gcc4 gebaut?
Noch nicht, das läuft noch, Ergebnis steht noch aus. Muss nur einiges hier ändern.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Ich habe die gcc412_driverfixe weggelassen. Ein Yadd baut durch, aber mit vielen Warnings etc.

Neutrino segfaultet immer an der gleichen Stelle. Mit eigener neutrino.conf habs ich es mal geschafft
das Neutrino bis zum Ende durchstartete. Beim Spielen in der Channellist war aber wieder Schluss.
Das wird noch viel Arbeit.
Log ohne neutrino.conf:

Code: Alles auswählen

/var # [getservices] /var/tuxbox/config/zapit/myservices.xml  found.
/var/tuxbox/config/zapit/ubouquets.xml: No such file or directory
/tmp/currentservices.xml: No such file or directory
[controld] Boxtype detected: (1, Nokia D-BOX2)
[controld]: ROUTEVIDEO v1 = 5 a1 = 1 v2 = 1 a2 = 1 v3 = 0 a3 = 1 fblk=1
[CVideo::setVideoFormat] output format: 4:3(LB)
starting /bin/neutrino
[neutrino] frameBuffer Instance created
812k video mem
[neutrino] enable flash
[neutrino] Software update enabled
[ConfigFile] Unable to open file /var/tuxbox/config/neutrino.conf for reading.
cannot read locale: No such file or directory
/var # [lcdd] time-skin not found -> using default...
[lcdd] weekday-skin not found -> using default...
[lcdd] date-skin not found -> using default...
[lcdd] month-skin not found -> using default...
[LCDFONT] initializing core...
[LCDFONT] adding font /share/fonts/12.pcf.gz...OK (Fix12/Regular)
[LCDFONT] adding font /share/fonts/14B.pcf.gz...OK (Fix14/Bold)
[LCDFONT] adding font /share/fonts/15B.pcf.gz...OK (Fix15/Bold)
[LCDFONT] Intializing font cache...
[LCDFONT] FTC_Face_Requester (Fix14/Bold)
[neutrino] SetupFonts filename: /share/fonts/micron.ttf fontname: Micron
[rcinput] no file /var/tuxbox/config/rc.conf was found
/dev/input/event1: No such file or directory
[neutrino] menue setup
[neutrino] init menus...
[neutrino] GUI-Personalize instance created...
[neutrino] found esound, adding personalized esound entry to mainmenue
[network config] Instance created
[neutrino] setRepeat: delay=25 period=0 use kernel-repeat: no
[drive_setup] Instance created
[neutrino] registering as event client
[LCDFONT] FTC_Face_Requester (Fix15/Bold)
[LCDFONT] FTC_Face_Requester (Fix12/Regular)
Segmentation fault
Neutrino exited with nonzero exit status, restarting...
setPauseScanning false
[yhttpd] Webserver nhttpd/3.1.8 (yhttpd_core/1.2.0)
[LCDFONT] initializing core...
[LCDFONT] adding font /share/fonts/micron.ttf...OK (Micron/Regular)
[LCDFONT] adding font /share/fonts/micron_bold.ttf...OK (Micron/Bold)
[LCDFONT] adding font /share/fonts/pakenham.ttf...OK (Pakenham/Regular)
[LCDFONT] Intializing font cache...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

rhabarber: stimmt, verwechselt. Dein Fix müsste eher so eine "dereferencing type-punned..." warning erzeugen.
...aber warum der hilft, kann ich mir auch nicht wirklich erklären ;)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

seife hat geschrieben:Dein Fix müsste eher so eine "dereferencing type-punned..." warning erzeugen.
Mit meinem Patch gibt es beim Kompilieren von neutrino_menu.cpp ebenfalls keine Warnmeldungen...
diese gibt es z.B. stattdessen hier:

Code: Alles auswählen

moviebrowser.cpp: In member function 'void CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO*)':
moviebrowser.cpp:2954: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:2955: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:2956: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:2973: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:2974: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3042: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3044: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp: In member function 'bool CMovieBrowser::showMenu(MI_MOVIE_INFO*)':
moviebrowser.cpp:3104: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3105: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3153: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3154: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3155: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3156: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3159: warning: dereferencing type-punned pointer will break strict-aliasing rules
moviebrowser.cpp:3173: warning: dereferencing type-punned pointer will break strict-aliasing rules
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Neutrino segfaultet immer an der gleichen Stelle. Mit eigener neutrino.conf habs ich es mal geschafft
das Neutrino bis zum Ende durchstartete. Beim Spielen in der Channellist war aber wieder Schluss.

Code: Alles auswählen

[controld] Boxtype detected: (1, Nokia D-BOX2
Mourice hat geschrieben:Habe mehrere "Nokias".
Bei einigen booted das Image fehlerfrei, bei einigen fängt das LCD-Display an zu blinken (jetzt müsste das Bild kommen).
Auf meiner Sagem läuft ein gcc4-Image von Beginn an ohne segfaults, Probleme vielleicht Nokia-spezifisch?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Die Warnings meine ich ebenfalls und diese könnte man auch schon mal fixen.

Code: Alles auswählen

menue.cpp: In member function 'int CMenuWidget::getItemId(CMenuItem*)':
menue.cpp:276: warning: control reaches end of non-void function
streaminfo2.cpp: In member function 'void CStreamInfo2::paint_techinfo(int, int)':
streaminfo2.cpp:803: warning: suggest parentheses around assignment used as truth value
streaminfo2.cpp:803: warning: suggest parentheses around assignment used as truth value
Die Segfaults beim Spielen in der Channelist waren unspezifisch, mal ging das Wechseln zwischen
den Bouguets, mal zwischendurch ein Segfault. Mal ging Umschalten, dann brachte Neutrino
beim Starten nur noch Segfaults. Sehr seltsam. Da hilft wohl nur gdb.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

Die type-punned Warnings sind leider nicht so einfach zu fixen. Da würde ich fast eher zu
"-fno-strict-aliasing" greifen... Die haben mich aber auf der TD nie wirklich im Betrieb gestört (und da hatte ich schon ewig mit gcc4 gebaut).

Ihr könnt ja mal in git://gitorious.org/tuxbox-apps/mainline.git, branch td-experimental schauen, ob da noch fixes drin sind. Das war der letzte Stand, den ich auf der TD vom alten Neutrino benutzt habe.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Neutrino startet bis hier, dann greift gdb wegen segfault:

Code: Alles auswählen

[drive_setup] Instance created
[neutrino] registering as event client
[LCDFONT] FTC_Face_Requester (Fix15/Bold)
Ist das so richtig?

Code: Alles auswählen

Remote debugging using 192.168.178.5:5555
Reading symbols from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/ld.so.1...(no debugging symbols found)...done.
Loaded symbols for /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/ld.so.1
0x3000e224 in _start () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/ld.so.1
(gdb) 

Code: Alles auswählen

Program received signal SIGSEGV, Segmentation fault.
0x0fb10c60 in ah_angle () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
(gdb) bt full
#0  0x0fb10c60 in ah_angle () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#1  0x0fb11138 in ah_outline_load () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#2  0x0fb11ba4 in ah_hinter_load () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#3  0x0fb0b030 in FT_Load_Glyph () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#4  0x0fb18b1c in ftc_sbit_node_load () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#5  0x0fb19000 in ftc_sbit_node_init () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#6  0x0fb1803c in ftc_cache_lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#7  0x0fb18e6c in FTC_SBitCache_Lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#8  0x0fb18fb0 in FTC_SBit_Cache_Lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#9  0x100e5f84 in FBFontRenderClass::getGlyphBitmap(FTC_Image_Desc_*, unsigned long, FTC_SBitRec_**) ()
No locals.
#10 0x100e6078 in Font::getRenderWidth(char const*, bool) ()
No locals.
#11 0x100d1730 in CMenuWidget::paint() ()
No locals.
#12 0x100d26a4 in CMenuWidget::exec(CMenuTarget*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No locals.
#13 0x10047498 in COsdLangSetup::showSetup() ()
No locals.
#14 0x10047588 in COsdLangSetup::exec(CMenuTarget*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
No locals.
#15 0x1001d714 in CNeutrinoApp::run(int, char**) ()
No locals.
#16 0x0f67adc4 in __libc_start_main () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libc.so.6
No symbol table info available.
#17 0x00000000 in ?? ()
No symbol table info available.
(gdb) 
Man sieht nix.