Alternativni UNIX systemy - BSD

Dalibor Straka dast na panelnet.cz
Pátek Leden 12 21:22:25 CET 2007


On Fri, Jan 12, 2007 at 12:08:13AM +0100, Jan Kasprzak wrote:
> Martin `MJ' Mares wrote:
> : Ahoj!
> : 
> : > pri c += 5 dostane program SIGSEGV pri c += 4 vse v poradku. Chyba bude
> : > asi v gcc version 3.4.2. Je to vizitka solarisu. Jaky kompilator, takovy
> : > unix ;-)
> : > 
> : > Dluzno dodat, ze kompilator SunStudio cc, tuto chybu nema. Kdo takove
> : > veci ma vedet? Chyba je bohuzel run-time, takze kod muze zhavarovat
> : > uplne blbe, kdyz se posunujete v bufferu nikoliv o znamou konstantu.
> : 
> : Chyba kompilatoru to urcite neni, zmineny zdrojak neni podle normy
> : korektni -- nikdo nerika, ze pointer na char jde pretypovat na pointer
> : na nejaky sirsi typ a pak k nemu pristupovat.
> : 
> : (Kdyby to byl Solaris na SPARCu, nedivil bych se vubec, protoze SPARC,
> : pokud si dobre pamatuji, nedovoluje unaligned pristupy k 32-bitovym
> : cislum.)
> 
> 	Jo, taky bych rekl ze to je vec platformy. Na IRIXu/mips by to
> taky nefungovalo.
> 
Ahoj,

v ruzovych brylich jsem spustil gcc, ktere na Solarisu (o hw toho stroje
nic nevim) zdrojak bez chyby skompilovalo. Nicmene nahodne padal a
dlouho jsem paril gdb. Gdb neni zrovna muj oblibeny shell. Alespon jsem
vse napsal podle normy. Jenom je kod hure citelny, protoze misto
jednoducheho pretypovani se veci ukladaji jinam, a pak se vola memcpy
na jednotlive bloky stejneho typu. Kdyby byl lepsi napad, soukrome jej
velmi ocenim. Na cistote kodu si davam zalezet.  

-- Dalibor Straka


Další informace o konferenci Linux