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 »

GetAway hat geschrieben:Man sieht nix.
cdk/configure --enable-debug genutzt?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

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
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Okay, jetzt sieht man etwas.

Code: Alles auswählen

Program received signal SIGSEGV, Segmentation fault.
0x0fb17c60 in ah_angle () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
(gdb) bt full
#0  0x0fb17c60 in ah_angle () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#1  0x0fb18138 in ah_outline_load () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#2  0x0fb18488 in ah_hinter_new_face_globals () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#3  0x0fb19ee8 in ft_autohinter_load_glyph () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#4  0x0fb12030 in FT_Load_Glyph () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#5  0x0fb1fb1c in ftc_sbit_node_load () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#6  0x0fb20000 in ftc_sbit_node_init () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#7  0x0fb1f03c in ftc_cache_lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#8  0x0fb1fe6c in FTC_SBitCache_Lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#9  0x0fb1ffb0 in FTC_SBit_Cache_Lookup () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libfreetype.so.6
No locals.
#10 0x10131e14 in FBFontRenderClass::getGlyphBitmap (this=<value optimized out>, fnt=0x121, glyph_index=2147481896, 
    sbit=0x1023a0b8) at fontrenderer.cpp:159
No locals.
#11 0x101325bc in Font::setSize (this=0x1023ddf8, isize=<value optimized out>) at fontrenderer.cpp:272
        err = <value optimized out>
        temp = 17
        glyph = 0x0
        tM = <value optimized out>
        hg = <value optimized out>
        tg = <value optimized out>
        halflinegap = <value optimized out>
#12 0x10132940 in FBFontRenderClass::getFont (this=0x10221d50, family=<value optimized out>, style=0x10236478 "Italic", 
    size=17) at fontrenderer.cpp:198
        id = 0x102362c0
#13 0x1000d7a4 in CNeutrinoApp::SetupFonts (this=0x101ed508) at neutrino.cpp:1735
        style = {0x10236338 "Regular", 0x102362e8 "Bold", 0x10236478 "Italic"}
        fontname = 0x10235a78 "Micron"
#14 0x1001cec0 in CNeutrinoApp::run (this=0x101ed508, argc=<value optimized out>, argv=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
    at neutrino.cpp:2113
        info = {uptime = 19667, loads = {8928, 2048, 576}, totalram = 31285248, freeram = 7274496, sharedram = 0, 
          bufferram = 0, totalswap = 0, freeswap = 0, procs = 47, pad = 0, totalhigh = 0, freehigh = 0, mem_unit = 1, 
          _f = "\000\000\000\000\000\000\000"}
        loadSettingsErg = 2
        display_language_selection = false
        loadLocale_ret = <value optimized out>
        scansetup = {<CMenuTarget> = {_vptr.CMenuTarget = 0x7ffffd70}, width = 269695112, selected = 1096182081, 
          sat_list_size = 543510104, provider_list_size = 793203800}
        zapit_event = {CZapitClient::FIRST_EVENT_MARKER, CZapitClient::EVT_ZAP_COMPLETE_IS_NVOD, 
          CZapitClient::EVT_ZAP_FAILED, CZapitClient::EVT_ZAP_SUB_COMPLETE, CZapitClient::EVT_ZAP_SUB_FAILED, 
          CZapitClient::EVT_ZAP_MOTOR, CZapitClient::EVT_ZAP_CA_CLEAR, CZapitClient::EVT_ZAP_CA_LOCK, 
          CZapitClient::EVT_ZAP_CA_FTA, CZapitClient::EVT_RECORDMODE_ACTIVATED, CZapitClient::EVT_RECORDMODE_DEACTIVATED, 
          CZapitClient::EVT_SCAN_COMPLETE, CZapitClient::EVT_SCAN_FAILED, CZapitClient::EVT_SCAN_NUM_TRANSPONDERS, 
          CZapitClient::EVT_SCAN_REPORT_NUM_SCANNED_TRANSPONDERS, CZapitClient::EVT_SCAN_REPORT_FREQUENCY, 
          CZapitClient::EVT_SCAN_REPORT_FREQUENCYP, CZapitClient::EVT_SCAN_SATELLITE, CZapitClient::EVT_SCAN_NUM_CHANNELS, 
          CZapitClient::EVT_SCAN_PROVIDER, CZapitClient::EVT_BOUQUETS_CHANGED, CZapitClient::EVT_SCAN_SERVICENAME, 
          CZapitClient::EVT_SCAN_FOUND_A_CHAN, CZapitClient::EVT_SCAN_FOUND_TV_CHAN, 
          CZapitClient::EVT_SCAN_FOUND_RADIO_CHAN, CZapitClient::EVT_SCAN_FOUND_DATA_CHAN}
#15 0x0f680dc4 in __libc_start_main () from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/libc.so.6
No symbol table info available.
#16 0x00000000 in ?? ()
No symbol table info available.
(gdb) 
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:Hier ist der Patch für gcc4-Support, aktiviert wird er mittels cdk/configure --with-gcc4
gcc412_cdk.diff
Patch aktualisiert für uclibc-kernel2.4-Support, nur "make bootstap" getestet.
PS: yadd-neutrino (wider Erwarten ;) ) positiv getestet.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Kann das an SetupFonts liegen. Das free() am Ende ist auch falsch.

Code: Alles auswählen

void CNeutrinoApp::SetupFonts()
{
	const char * style[3];
	char *fontname;

	if (g_fontRenderer != NULL)
		delete g_fontRenderer;

	g_fontRenderer = new FBFontRenderClass();

	style[0] = g_fontRenderer->AddFont(font.filename[0]);

	fontname = strdup(g_fontRenderer->getFamily(font.filename[0]).c_str());
	fprintf(stderr, "[neutrino] SetupFonts filename: %s fontname: %s\n", font.filename[0], fontname);


	if (font.filename[1] == NULL)
	{
		g_fontRenderer->AddFont(font.filename[0], true);
		style[1] = "Bold Regular";
	}
	else
		style[1] = g_fontRenderer->AddFont(font.filename[1]);

	if (font.filename[2] == NULL)
	{
		g_fontRenderer->AddFont(font.filename[0], true);  // make italics
		style[2] = "Italic";
	}
	else
		style[2] = g_fontRenderer->AddFont(font.filename[2]);

	for (int i = 0; i < FONT_TYPE_COUNT; i++)
	{
		g_Font[i] = g_fontRenderer->getFont(fontname, style[neutrino_font[i].style], configfile.getInt32(locale_real_names[neutrino_font[i].name], neutrino_font[i].defaultsize) + neutrino_font[i].size_offset * font.size_offset);
	}
	free(fontname);
}
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:Kann das an SetupFonts liegen.
Schwer zu sagen, bei mir funktioniert Neutrino.
Nutzt Du andere Fonts als die aus dem CVS?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Ist alles aus dem CVS.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von seife »

Warum ist das free falsch? Wird der allozierte pointer wohin übergeben, wo er dann später noch genutzt wird? IIRC hatte ich das damals durch valgrind gejagt und keine Beanstandungen bekommen...
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Ich kenn das free() nur in Verbindung mit malloc(). So hab ich das noch nicht gesehen.
Ist aber auch jetzt nicht so wichtig, Neutrino chrashed trotzdem auf einer Nokia.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

2. Versuch ohne gcc412_neutrinosavesettings.diff,
aber mit neuem gcc412_cdk.diff und --enable-debug.
Jetzt werden auch die Symbole eingelesen:

Code: Alles auswählen

warning: Can not parse XML target description; XML support was disabled at compile time
Reading symbols from /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/ld.so.1...done.
Loaded symbols for /home/image/tuxbox/dbox2-2.4-gcc4/cdkroot/lib/ld.so.1
_start () at ../sysdeps/powerpc/powerpc32/dl-start.S:33
33	../sysdeps/powerpc/powerpc32/dl-start.S: No such file or directory.
	in ../sysdeps/powerpc/powerpc32/dl-start.S
(gdb) continue
Es läuft jetzt ohne Probleme. :D Einstellungen speichern wird auch ohne fix angezeigt.
Keine Ahnung warum es jetzt läuft. Auch beim 1. Versuch hatte ich alles frisch in
einem leeren Ordner ausgecheckt.
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:
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.
Für gcc4 gibt es nun einen neuen driver/-Patch zum Testen, Link ist im
letzten hier zitierten Posting. Benötigt wird neben gcc412_driverfix.diff3
auch strip-modules24_412fix.patch, positiv getestet mit gcc4/Neutrino
yadd und flash.
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:Keine Ahnung warum es jetzt läuft.
Anderes timing durch debug-Code?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Das sieht ganz so aus. Jetzt ohne --enable-debug gebaut und Neutrino crashed
wieder an unterschiedlichen Stellen beim Spielen mit der GUI. Irgendwann geht's
dann gar nicht mehr.
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:Das sieht ganz so aus. Jetzt ohne --enable-debug gebaut und Neutrino crashed
wieder an unterschiedlichen Stellen beim Spielen mit der GUI. Irgendwann geht's
dann gar nicht mehr.
Ich baue meine gcc4-Images hier mit binutils 2.21.52.0.1, vielleicht macht
das den Unterschied, ich teste es heute mal durch. Seit binutils 2.21 habe
ich Probleme mit gcc3, daher habe ich den Patch bisher nicht committed,
im CVS ist weiterhin 2.20.51.0.12.

Hier der Patch: binutils-2.21.52.0.1.diff
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:ich teste es heute mal durch.
Dbox2, kernel 2.4

Code: Alles auswählen

GNU ld (Linux/GNU Binutils) 2.20.51.0.12.20101020
gcc version 4.1.2
yadd-neutrino mit IDE-Support (keine IDE-Hardware verfügbar), innerhalb
von 10 Minuten alle Menüs angesteuert und alle Programme durchgeschaltet,
kein Absturz...
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Massive Segfaults, auch mit neuerem Binutils keine Besserung.
Auffällig ist das der Hintergrund immer gemalt wird und Neutrino
scheinbar beim Rendern der Schrift abstürzt. Das ist aber nur der
subjektive Eindruck.
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:scheinbar beim Rendern der Schrift abstürzt.
Das gdb-Log deutet ebenfalls auf freetype hin, wie schaut es aus, wenn
Du diesen Patch rückgängig machst? http://www.tuxbox-cvs.sourceforge.net/f ... 19#p379619
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von GetAway »

Das wird nicht viel bringen. Bei falschen ifdef's hätte man Kompilierfehler bzw.
es würde auf keiner Box laufen.
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:Für gcc4 gibt es nun einen neuen driver/-Patch zum Testen, Link ist im letzten hier zitierten Posting. Benötigt wird neben gcc412_driverfix.diff3 auch strip-modules24_412fix.patch, positiv getestet mit gcc4/Neutrino yadd und flash.
Ebenfalls positiv mit gcc3/Neutrino yadd und flash getestet, camd2 funktioniert.
Ich habe soeben alle relevanten Patches für gcc4 und gestripte Kernel 2.4-Module
ins CVS committed.

@dbt: Könntest Du bitte folgende Dateien

http://www.mirrorservice.org/sites/www. ... .3.tar.bz2
http://wl500g.googlecode.com/svn-histor ... conf.patch
http://wl500g.googlecode.com/svn-histor ... cale.patch

auf http://www.tuxbox-cvs.sourceforge.net/cvsdata/files ablegen?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

JtG-Riker hat geschrieben:
JtG-Riker hat geschrieben:Library not found: libgcc_s_nof.so.1 in path: /home/riker/tuxbox/jtg-newide/jtgimage/cdkflash/root-neutrino/lib : /
Mit dem neuen Patch baut es, allerdings wir der Symlink nicht ins Flash gepackt so das dann ältere Binary nicht laufen, z.b. meine Bootinfo oder Callmon.
Bitte testen: EDIT: Patch ist im CVS
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von dbt »

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:
Ist das noch aktuell, hab jetzt erst gelesen? :oops:
Ja, ist noch aktuell. Diese Dateien werden vom gcc4-Support
benötigt, ich bin mir nicht sicher, ob diese dauerhaft unter den
o.g. URLs verfügbar sein werden.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Dbox2-Images mit gcc 4.1.2

Beitrag von rhabarber1848 »

Interessanter Größenvergleich gcc3 <-> gcc4

Code: Alles auswählen

/bin/neutrino 1669436 Byte | 1315992 Byte
/bin/nhttpd    448440 Byte |  310340 Byte
/bin/enigma   2841196 Byte | 3027720 Byte
Warum wird Enigma größer anstatt, wie alle anderen Dateien, kleiner?
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:
dbt hat geschrieben:
Ist das noch aktuell, hab jetzt erst gelesen? :oops:
Ja, ist noch aktuell. Diese Dateien werden vom gcc4-Support
benötigt, ich bin mir nicht sicher, ob diese dauerhaft unter den
o.g. URLs verfügbar sein werden.
Du kannst das übrigens auch selbst da hochladen, , hatte ich vergessen zu sagen. :oops: