All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works
@ 2007-03-24 17:50 Axel Zeuner
  2007-03-24 20:15 ` Anthony Liguori
  2007-03-25 13:40 ` [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works Avi Kivity
  0 siblings, 2 replies; 17+ messages in thread
From: Axel Zeuner @ 2007-03-24 17:50 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 3980 bytes --]

Hi,

there were a lot of discussions about compiling qemu with gcc4 or higher. The 
summary of the discussions were, as I understood, that compiling qemu with 
gcc4 requires changing the code generation engine of the most of the 
supported targets. These changes require a lot of work and time.

How about splitting the current static code generation process further? 
Today gcc produces object code and dyngen adapts it for the purposes of qemu, 
i.e produces the generation function, patches in parameters ..:
gcc -c op.o op.c ;dyngen -o op.h ... op.o . 
The op_XXX functions generated by gcc may not contain more than one exit
and this exit must be at the end, no not intended jumps to external
functions may occur.

It is possible to split the transformation into the following steps: 
Generate assembly output from the C-Sources: gcc -S -o op-0.s op.c.
Convert the assembly output: cvtasm op.s op-0.s. 
Assemble the converted assembler sources: as -o op.o op.s. 
Use dyngen as before: dyngen -o op.h ... op.o. 
Nothing will change if cvtasm copies only the input to the output, i.e. this 
additional pass will not break existing code.

A full featured converter (cvtasm) has a lot of dependencies: it has to 
support all hosts (M) (with all assembler dialects M') and all targets N, 
i.e. in the worst case one would end with M'x N variants of it, or M x N if 
one supports only one assembler dialect per host.  It is clear, that the 
number of variants is one of the biggest disadvantages of such an approach.

Now I will focus on x86_64 host and x86_64-softmmu target.
cvtasm has to do the following tasks in this case:
0) convert repXXX; ret to ret only. (Not done yet, x86_64 only, but does not 
harm).
1) append to all functions, where the last instruction is not a return a ret 
instruction.
2) add a label to all functions with more than one return before the last  
return.
3) replace all returns not at the end of a function with an unconditional jump 
to the generated end label. Avoid touching op_exit_tb here.
4) check all jump instructions if they contain jumps to external labels,  
replace jumps to external labels with calls to the labels.

The task 0-2 are easy, task 3 may, task 4 is definitely target/host dependent, 
because there exist intentionally some jumps to external labels, i.e. outside 
of the function, for instance op_goto_tb. 
Please correct me, if I am wrong or something is not mentioned above. 

The attached cvtasm.c allows compiling op.c/op.s/op.o without any disabled 
optimisations in Makefile.target (patches for Makefile and Makefile.target are 
attached). The program itself definitely needs a rewrite, is not failsafe and 
produces to much output on stdout. 

The macro OP_GOTO_TB from exec-all.h in the general case contains two nice 
variables and label definitions to force a reference from a variable into the 
op_goto_tbXXX functions. Unfortunately gcc4 detects that these variables and 
lables are unused and suppresses their generation, as result dyngen does not 
generate two lines in op.h:
case INDEX_op_goto_tb0: 
	...
	label_offsets[0] = 8 + (gen_code_ptr - gen_code_buf); // <--
	...
case INDEX_op_goto_tb1: 
	...
	label_offsets[1] = 8 + (gen_code_ptr - gen_code_buf); // <-- 
	...
and qemu produces a SIGSEGV on the first jump from one buffer to the next.
I was not able to force gcc4 to generate the two variables, therefore I had to 
replace the general macro with a host dependent one for x86_64 similar to x86 
but using the indirect branch method. 
After the replacement qemu worked when compiled with gcc4.

I made my checks with the following compilers using Debian testing amd64: gcc 
version 3.4.6 (Debian 3.4.6-5) and gcc version 4.1.2 20061115 (prerelease) 
(Debian 4.1.1-21).

Please note: These patches work only for x86_64 hosts and x86_64 targets. They 
will break all other architectures. I did not check i386-softmmu. It works 
for me. 

I apologise for the size of the attachments.

Kind regards
Axel

[-- Attachment #2: exec-all.h.diff.zip --]
[-- Type: application/x-zip, Size: 694 bytes --]

PK\x03\x04\x14\0\0\0\b\0—x6·Žðë-\x02\0\0\x06\x04\0\0\x0f\0\0\0exec-all.h.diff¥RkOÛ0\x14ý\x1cÿŠ£ IIÓôE)(ˆ©€\x18š\x04c\x1aý¶N–›8mXb\aÇ}LÓþûn\x1a
…ñmWQ¬ûôñ=ç³Jä&‚ÜÈ8\x14yÞY°³ÿ7öíò\x1ei–Ë\bÝJ/M,«î£,–Íïå®öŠ\x19iM&W™šÃÐQeZ¡ß9ê±$KS„K„¦v÷\x01†a¸ç:ƒ\x13|’3\fz½c\f\x06Ñáq4ì#ì‘9ÛAA\x10¼*\x1fâV˜¦¼?ŠŽ†QoД³ñ\x18áááq{„ >\x06#ŒÇ\fŽ\x03¸ýhª\ÿtÊð\aë\x05½\f^Ïg`ÁÌ³\x14‰L3%\x13xœoNF|4äÜg\x01\vº-\_^b\b]Ú¬È*YA¬Å/Ø…D.f2'?µÒl\x03sm5¢ÐC«»íœ,²
ôÕ¹BdŠ\x16$*ZOª›ú؈jA\x13uŠz¯ \x1c±.J\x02—`ÙÅnÎ<Ž	Aí\x1c48q}7¹ã“\vO—J\x14²\r;+…\x11E^[Êwj›² ÑøíìŒ|­t–´`…™K{æÕ\x1eZ¾çy\x13#T•\vKÜ]ä:þIѧ‰~øÑθ’^[û]ýðOwƒ8\x17UÁ9+]÷å’ó盜ºÂƒÛI„\x15S5µîë\x14±Ñ\x11y6W8\x01‘ò6y~\x7fËï¾ò›ó‹«^[þåüöÊSm4\x0fõáFMÇ\x13Ž\x17s;K‘ ŸîO|[RÖ
ÕË
ï£z(J´>ôÞOÖ\x02zŽï%"çߐ+\¯Ù²O;Ûe÷…\x170ð*I
\x041ü°¤«I<õ¢1ÛR Ki¶ŒTð
m$Jm¬˜Q\x7f¬\x13¢<Ѥ\x1c¥-õÈ„ý\x05PK\x01\x02\x14\x03\x14\0\0\0\b\0—x6·Žðë-\x02\0\0\x06\x04\0\0\x0f\0	\0\0\0\0\0\0\0\0\0¤\0\0\0\0exec-all.h.diffUT\x05\0\a.Z\x05FPK\x05\x06\0\0\0\0\x01\0\x01\0F\0\0\0Z\x02\0\0\0\0

[-- Attachment #3: Makefile.diff.zip --]
[-- Type: application/x-zip, Size: 631 bytes --]

PK\x03\x04\x14\0\0\0\b\0x6\v\x05,Éò\x01\0\0\x05\x04\0\0\r\0\0\0Makefile.diff¥Rm‹›@\x10þ\x1c\x7fÅ@=ˆÑM4I›«GÁÔó®GïÈ\x11Sè‡Ò`tM—S×ÛÕpã~{GI\x10Ú\x0fí‚;Ï2ϼ<ãÜe\x11}±á!x¢1K¨òéÿ²t}¨’Ù0’¼\x14!•£gš–ÍÕV2vŠ …`tDz-\b4’ñ\f¬¡eM•ˆÅ1\x12ˆ¨ß§ö\b!ÇGÏš!\x1606Í\x19XïmÓ´'3 &ž^“F×õ\x13{<=cÏlszd+Ž\x03d|iÌ@¯oÇQ@ IlPû«ÅâÞ×\x10\/\´‚†¥” \x17ID–›ˆ	raC´Ï¶4SûÞwÏÿv£)ú\x1f]\x10îŠ@¦'*ôÔþÃü«§\x01q±\x10\x06Ê\x02\x0eᆡ:\x1a4Õ΋W­åAÑp/Œ¶˜Qu<_Þz«õõÝÒ×´ZÛä£a™ WfZ«ëtÔ¶8\fë^¾,üÕÚu+ÑîÍýü¶–ï>>\x1eñç¹ï­[\x17á : þÄ\x06õŽ2û \x15óêÿžWW LhÙ
¼ƒ`ÇY\x04<‰`S2¼sÁ7	M%lö8ž”×Û”ó‚f\x05Ã1íe!\x178¸¢\x0eª6A¢H‘\x02‰!äY̶Ã4xjá/à9a“Ë\x0f5
[ˆ³!ç\x0e\x12ˆôÀhЁÐ<Žù\aCŽ_pÚ¢î&¬P)2r\x1eÁà\r\x06£Á^[\x0eªŠ\x15ñß·¤ ²ÍXÐ\x11s\x01\x11*íüü+ˆ8ü謗\x1aUc}}\x05úÂ
°à
\x19¿\x01PK\x01\x02\x14\x03\x14\0\0\0\b\0x6\v\x05,Éò\x01\0\0\x05\x04\0\0\r\0	\0\0\0\0\0\0\0\0\0¤\0\0\0\0Makefile.diffUT\x05\0\a:Z\x05FPK\x05\x06\0\0\0\0\x01\0\x01\0D\0\0\0\x1d\x02\0\0\0\0

[-- Attachment #4: Makefile.target.diff.zip --]
[-- Type: application/x-zip, Size: 888 bytes --]

PK\x03\x04\x14\0\0\0\b\0¸x6>o'\x17å\x02\0\0í\a\0\0\x14\0\0\0Makefile.target.diff¥UmoÚ0\x10þŒ\x7fʼn¢	š\x18HZJ—Ž
Æè‹Ô\x17\x04Ý´I“ªÔ8à58ÔNh·\x0fûí;'…BÛµÙê\x0fgû|Ͻ<‰ÏÇrÄï<8õ¯y B^}5æ1i½}Aw\bƧ\a5\x1d%Šq]»áÓ$\x13\x02Ús¢x¬\x04Ÿ\v9\x06…“\x16‘\x04§ê4\2\x12A\04\x01ªÒý“d)¥u\x05·Ž*\x05n½Þ\x04gÇÛnxn\x13h\x1dG!sjYÖSÐö\x1a¨±åmmg Òn\x03u›ö\x0eX(›Ðn\x1389þ8l\x118êô{ƒËîÁIçpØ*•³E…À§og‡½³VµZ^[ý”c.KåÞ×ÞðóA…XÝ/\x17á©9bóØ×Ó‡#Ø€Ds\x05ÈQèÇ‘\x02éO9‹Îà°wqÙ\x19t\Œ±²Eˆ\bø\r”×µ¶¯¦•4ëæ®í8`5ß›ÉäÍ\x18f±¡·\x05¥²žð0D\x17¸ìv+(Ïû÷µ˜S\x01:\x04\x1aAmÄç5™ )½c+»ï\x04ÖÇþÊ¡»ÿÎÙƒxÂ%p6‰ h\x1c\x16÷€‡š/5®Ñ\x04\x02ö°\x12B—Ñ-,“ùèd™®\r4\x11U<R#®èU\x18±kmC±XÉ\x03^[3Ís^[ÇŠsÊ&¹íÍf*~qªÅUˆ\x7f05Vùsc*ÒúG2!4\x03Y^[ÿGD\x1eÜ\x03\x13y¬×¨È\x03x‰‹<ø§dÀë ?\x14cICÿŠ/Bå\x06™PÿŠ	\x12ÉŒ\x12qÏØM\x1f\x19µê©ûì:6\x1c\x17û‡Õp¶lÇMï#¶\x06ÄV'\x1e ŒÐaÖ80Âr\rtlna©\r¥\x0fæš\x18ËÔž\x11\v¥ÎÖæ\x0e§Å0]xöBwûýû5í\x19ÑŒÖ«Âxµ^\x05\x04s®®"Í)v¬û¶Âõ\x12ž\x05_hMbÄJ\x13Ì’ÕiI/\aa«ub7\k¯ ´i#\b°3\x1aÚ±·\0‹FFà\x0f\x13âÉ­ˆ' c?\x16\fß‘±Ð1W\x19ñ»NJüî¢\x7f/Sùkt\x16r_z„\x16\x14Ö^[À&~\x1d\x14>lþFT\x7fpn ‹¯‡õ±T¢·ÁŒ×Œ¹\x0e…š¥«`–˜\x19yzp¶ÂÓ›ýbºBbÝaè¥Ì˜gAfïBæÑ®?PK\x01\x02\x14\x03\x14\0\0\0\b\0¸x6>o'\x17å\x02\0\0í\a\0\0\x14\0	\0\0\0\0\0\0\0\0\0¤\0\0\0\0Makefile.target.diffUT\x05\0\amZ\x05FPK\x05\x06\0\0\0\0\x01\0\x01\0K\0\0\0\x17\x03\0\0\0\0

[-- Attachment #5: cvtasm.c.zip --]
[-- Type: application/x-zip, Size: 4784 bytes --]

PK\x03\x04\x14\0\0\0\b\0x6a”\x05\x135\x12\0\0ÇD\0\0\b\0\0\0cvtasm.cå\x1cksÛÆñ3õ+Ît\x15\x01\x14D“ršIMC©ãÚm:Ž“i\x1eÓ\x19ǃ\x01I@\x02\r\x02(\x0e”œ‡þ{w÷ÞxP”ÒöK3ILÜííîíûö\0?ΊU¾['ì9oÖY9½º8zl\x0fåÙ²3\x16×—í±:+Zc«æç*Á¡#ÞÄM¶b×e¶fI]—µ·*\vÞ°ÕU\OXºm\x026N}\x16Eq\x03ˆ–»&‰"Ï+Ê:ivuáû\v#+`Ùu\x13Å|ë½þêÍ«	Œ\x04Lü*w\rB"È6Î
\x0f\x7f\0§«@\x10šàõ\x7fôë\x11ƒ\x7fp	›Àâ	,[Ð\x10Â×ògÊ<ZË\x1e…ì)óÙ¯G#Áùø\a\x1e_&ÏØ1\aø)G¢SþS1\x0e\bû»Ù{_`¸•(YÈÒ²J
¦çïƒq=ö-"\b\x11²·?¼ycSaãcþŒ­Ê]¾fEÙ0Ä\0$\x15•¹K\x05xp¨œ\x03•^[‡
@ô‘¹\x17•\x1a¶¢D\x0fr\x13ÒƉt•—<ñ:\x03Y!Ÿ…\x1aÙlqt{°1H5¡N2\x05\x01Ør—¾›ÏÎ?}/Æ®ã(Ï`ñu¬Ÿ\x01\x7fÝx×q\0¨”\bÂk^T`¡Mê\x01‚€g¿$%ýô\x11*¸Ž\x15ã7uÖ$\x04“\x05ó\0,\x1d8”sÉǬñžú=Äy^®"±“½&<¸Hn5­v\r÷Æ4\x05e!ă¶u\b#\x13Æ·´Öc¸¿¨a\x1cT-q\v€*d\x12„ÛÆQ\x19Ó8\x1aYœ1ÏÕ_ÕC²N\x04BI P´\vî;¤\v ­`\x11¬\0æ,\x16`Z°°ŸƒB°ð\x18Ö¬“4+’µ\x17EÙÓÏ?‹"Ÿýö›\x1ad0ú\x11\x06?û\x14Ə\x1e‹Qöâ\x1f/ÿ\x16ýíÅwÑË\x1f¿^|÷5›\x1fé¹o¾^ÿðöeôíë\x7f²qYEc³ê»¯£\x7f¼úž\x05wôÅ›¯þúvÎÆÓê<γˢgö\x1cf{æþòå_£7ß¼„IØiwŠBÓxšfyâNþýëo£7/¾|õ\x06¨F\x11°y™\x14Q\x1e/“|>\0x.\x017Ûj6\0òÔ€\0\x16¥^Û'	ü\a€\x7fûâëWß½{\x1f
ÅŽaÅ8?c\b\x1aãM±LÌH"‡ôÈR\fÄ\x06f)ab="\x06~ÑÏ—\x02 7k.åš\äbàÒÀä\x12æR\x14rÄ`.Jó³¢ÉÊ\x1aá4b\x06$„!Áå¯ÙÑ­›n®0„Øò«”+H+ö˜7!Ÿ;a'd¶êñ§¦õ\ÓóÑ\b\x17›Ñâ\x04ÃÉÈrFM7*ëè—¤.ï /x¬lb3߉(öú$n¢=»‚©<±‘‚\x0fŸžVᣍ»(‹Cð?Ò\x04>ù„¸~„\ï£VïV\rËÁâ#Î~Õ9dÂr\x01­B•óDÑga+•\x026aÉ
ˆ¼ÌÁ\v!Pñ¹M¶<i<\x1eÌT‚™p_Æ/~vAˆÃùùçz$‡„ªb¶\x020ð9Ô\x12a7e\x12Ùu\x02L”?\x0fó’ÖI‚8sߦ6k1cž‹!J„hŒÃŒÊ)‚¶cM­õô窬`\x03Bã­ùZáo¯³ä%%œ+	çjS¬–¿ô¸µLƒ1³\fK4X#Í\0´¸\x02ÆpY€ÃâÿÅéÜÍDy¿¸Vy\x12×ސ¸8\x11›9*\x06â\x03¢¯vü*BƒíÊ_T´l¥«$Ì¡\x02{¨ÕËÎØœj=eÙÖÔ„C\x04‘Þ\x10š4ÎiÃ1Jg$-4\x17?źÅvIH{@º¸\r)ðÓS®…éÌÏî²\b`b­‹ú\a˜\0\r\x16Æ0É]•\a¨(â­Âô2iVXú\x18B^}óZ”Ä-¡ç\x01:ãˆD»ÒWÄâ%°úÁ©÷Z…¨*{M=·\x0f/Êy\x05¼0A4ЀÍ\x03yºqc¾`¹©a«àOÛmR4CdŽF#‘F\x18덲ö D…á©©WWµ`åäñ‰%è:„r2œQ\x061\v@Ëì\vøï\x19\x14•\x17¡\x1aw]§vì@Ø&ñI•LTÄÛd .€8ìm\x10¯\b®«N(ÜñWÿžò²hmè™Ú*˜•o¢ÒiÌ1`\x1d\x06\x17›Ð\x11#¤Ð²pg óŒžPV\x13éñ*^%œMž€\x13á*©I§¹\bиbu•¬>À\x19®†ƒ˜»t™47	œËÄò¸X‹­\x10ÊJ¢3\x19” ´ÝzR\v\0OYóQŸÁä\x01ælÜ#‰BÂCô\x10\x14OÙ|!¦\x10¥‡ò\x16\x19˜³ç¡–8­\x1fÉàI:¡Õ\x01?ÃÀ9\x1aá\x10D‚¹\f\x04#á:£Û®\x0fñ^#ϸ0!ËP*\aQÂù”\x11,œm]Q¾-‹ÇÏPp–\x11·-\x0fll\x16 Î\x1f\x11£Cvk›–H”Y±Žšò\x03œÁ‡Œ\x17mwÔ¶KZâ³®ÁVd¬ð¯0V\x01g\x1d™†U	v\x11º¬WC.—îŠ\x15\x1e5Å©y¿ï\x11û£ûy\x1d¶€ÂŽ€ò`<Å\x19Õ¢p\x1a\0ÀQïŠ?+^Ç{œ–yˆ\x17uG‡I²S\Ç.ˆ\x15a¦è \x1f›:†Ý5W	SxiSäVí\x1d$Å:tÝŒ-°ò”ó\vwUŠ¸Bãé\x12Êï€!j\x19“hMp\x12œh÷\x1dpWZ%÷†?as´Ö7NŒ]'š:£™>'~\x14Î\x0eòcÁVǏÃ\az±kq\x03ÙÊîþÔá ¥æPj“§îqÔ^k\aÉ\x1c`ë\x0fI38Þoð8³ÏtqÌ\x18î}Í\x14WwÍ”¸$3•ów˜©„ú?5SÛT6\x1f?F`hP)\x1ePt‚úf[\x11;fò^F\x04ËûlHbÝ\x17þ\0„µÊ\x15B‡\x16\x1fŸ§°\x1c\x19TB…nó@.@¹«Þ\x03%!¬ï`ŽÚ\x06Â`à	$n4ê˜$UIƸ\x14ÖE\x17´c¹Ì\x142zo\x03fFŒ
{€Ú…ŒI\x16.hK£ƒ\f	i\f×.8ë\x1a\x14˜ÒCb\x1f\x18Õ°!õ؏^[\x06û\rS›\x05ŃCáf\aÚ°ñÜmß÷1a*_ܾa¿ÕÊcÙ¤²Oª\x1f\x06÷:©\x02â@Q–öû91åÃÂ9¦¡¶t‹è@Mxî*5­äÔ‘f¾G^[}ê\0’\0sG6´-\x04 ûB„ìVï\v\x11°’	qõx>Lª\x10¡PÎ{ã\0@Zq\0ž(\x0e¨3Äü.a·6OMò{l?\x1eÚ¼hÊ÷Ô•\x04ÄB«s¿GF±èˆ¢öS:G\vì >w®\0\x05Â!‰ÇJÞ¢À\x1fvlÉ:þ]’^//ï!g€\x1eÚ¿¼Ä\x18\x12uhßtì\x115P0¦‡=ô°UÒ–¸\x1aïÈ\x1c‘\rŠ\x1d&\x0f\x12<ÀY¢‡§û	¿·ò…\x1cõ€ºW׬wT½„\x11WE¸žëÖ÷\x13qPeU	Ø“š\x12N\x13g\x05gòÆ1Y«9Р5HhÔ©ÙåX \8øWå\x0e¸·\x0eÙÅ‚)\0§†ÞÁA§à5YˆŠ½n“ÞÚ5õþz„q@¿¾Ó¤t×[O+È/`\x15­V¥\v¾¯aÙâ—éfe_;ñNf°Ÿî˜•\vÚnªwØìlLß¾Z—ðè\x17¨åµºÜ\x13_m\x13Ûåâ@\x02›u¬f½Ûu‡\x01q\x02 ¦ÇzW!–Ôªv±3æe`ò,{NË\x17§§™hÛ
ŽÞeïCëb¡Ö£~vû´Öæõ}Æ^ëQ-wœ\x11AF\biDœ²Œú\È,uÙâ–6«/V¸Í%–)ö¨êÁ“¸\x01ד'ŒÇ`&?»\røÂ	§\	’¨)tJ’#=­\x16Ýî\x15Dž4æög@\x10}’^[¾	jÓˆ«
\x03^[>\f\x10J;g¬¡¨Ù\x17›zì\x14¤ ®;R!Þ€á¯\x02Ÿ>Ó¦kÜTÛ¼‰v-\x1e*ÛörwÝ;Äý>¬ÔõHJV?2:KµRT\x1eT™R÷qùp\x13¤¢t€µ¦)‚\rFæQÄÔÎÉÕ‘j\b\x1f\x03„jyÀ…YÞe(=÷^[\x1d\x1dÊ[\x0eÇ}”`ÿÐéÊñõT¹\x0fsýGÐLµ\x03\x05e‡W£¡¬HK;\x11b½Îž³\x19“‹i€cÒI>Bö)âÜd\x1fœB\x10ºÛ(JB\x01ÿàp '/$.V¦Lœ\x03¦Œý]!Åä–Ëž´Z¿\x7f\x16É\x0e\x01°¿sS—Å%!™š•˜!á˜Ë\x11o\f\x1c¸Ó(ð.\0`¶ñ%èDPåøê‹óbˆ¯²,\x11)vÛeR+\x04È,\f\x12ãYÓ<¥\x19+wãþtz‡à‰{ÅƸ\x16œIá…
®ðD¢ÏÄ%…®g’Æ-\x14n²æJ\b…}a\x03Ґ\x06Õ\x044§ñ 	\x1aVe\x01i¿©ã‚ƒ=mµö©"¡êÁb,Z\x15;P”M\x147\x11µÌÔ¸²\r:îñn\x1c\x10V61\x0f‚\x15ò\x16Èó\x12Å\x1f]ëÊn\x03ÛçKΫqÁ&)\x14*îÔ¾ÅÞ÷.‚æ0ôz6€\x11R†‹Â„ɽNáRt¬) YL†Ö(­¢\x1028ôñ„ôª«e\x14El«UÄ\x02L­LÚŸ\vBfB‚ŠžÎ\x05\x12\x16YL\x15ð\x16w\0?%\0,êÝu\x14-ö,Ãùð¬³\f\x0fôËð\0¯—<òú\x0e	DS¿þÃX\aFô¹\x06 Äu\x19ͱÎ$·‡Vâ\x111·šzmÖÉ͈y»ù\x05Z-Ê^[¼<Ì\x13Ù²&Á‰À4¬[\x11ç-ÅÚ••#c‘\x1fu÷°ÉŠ]²8Ð\x10ðð‘a¼¼Â\x13J]'¼*‹u†\x11—¬‚.hEÖÝð½M\x1dýÞÄrnJû\reÊ¡eËy \0dêá"öÅë5ðï\x11ëØÎâ\x1arÈ\abGÈA4Ý\x01ÃÉñ‰o®£‡ì\x10<%[tDtk‘†ŒÑJ\x11½D·\x15\x12uß:ôÃðÔ÷¡=ÿï }úp´(+îf\x1eº!­AÈÎr4œ™\x16˜—ñuv	a}9Ç\x17À©Í,ðz`\x19\x17sk\0F\0hÃÏÎ߇áI*ß÷³†–'¾åzPó§òÅeÞ¬Ë]\x13Ðk—¦¨89æ'àH»bMï /窾Ó(grOØzqèL\x1cÑŒ¼¶\x17‡›\r\x1c\x1fØ‚m \x1eãÎ\x1c0ŠÔ§§^[½\x05q/\x13\x19Æ‘%j=íhg#\x03±r÷öŠ~\x7f·\x1c~ó^BªÖ—thû–_û2a\x14þ|nü9wëdwåò<0ó}r\x15ì£X…@ϝ{\fc¯Kcú#Kˆ\x14ZG\x03\x16»1÷Y\x14Cñˆ%\b¨ããrî[g»VõAï™ô—\x1fMp¤ï<\x0f-?LqT„¦ú\x18\bì]Å©Š‰J\x11ÖX;>ÍTnħ³\vìZËÐ\x7fzÚг(Úl UÖûÌ‚ì«Únm6\vHÝÙ\x05p{vö{øô\x04\x0f”\x1ceœÆÛ&Ã>]@)ÖÔÕÄaKC±ô×–\0ì"µuá¡õo\x1fÙŒºÓì#kÝotmad\x15¸‡\x1aUƒŠ\b›HÔ\v²á€þ¢\x121ÎÚµü³½j!Q5}µˆ8’˜ó¡!š\r\bFrRÕåz·‚#…¬\x02è\0¬ûŒbðÝüüsùµ‰þˆ„&TeM\x0f~0ž¾9æ\x11~œ1Ö\ah_ï¹Nª<\x06Jú|iÕ\x01\x10Çå¹P;\x0eú]\x0fµ·M–~\x11\x1aS·ë!d}£‹w\x7fœŸc@¼£@\x1aª]\f"µ_3â«bˆ¶ðîÓÙŸ>#J¦{¡y©\r#êQ¼Þ,ý\x17Uhôf]ç)‘ËU6\x13x\x05¥cÖø1{ùã÷øYÇë¯þI—\qŠ\x05\x15\0B\x10ÖP?58Ð\x1cÓ'[Bsd\x16Ö'%Ì|S\x02{	5\a¸GE\x1e\x7f+Ú.eÌ©gg\x17$\x11M\x18ÈÒ3ÑÅ\x0f¬Ä°%[µŸÅÑcpç,m3d>gùϱÄwË\x7fýÔüáó€\x1d\x1f×¼êçÖŒA¹ê‚\x1f¶\x11aYâÅè\U\x16^[UKlÀ\x066Ïù\x02+\x06+á:¯á¢mmÜ>î°1^[#’NK&X$7\x14¼”ZÕ\x01·º§Ž›Y˜¦2~\v»\x04w†á¤–\x05\x12[&°\x15q\x05¸©£!EXiI=÷kÊÁ‡4üù3[â"\x02±Ü¼â\x7fË’\x1cŽÓ=ü	Gx\x18{Çœ\bû¸%'kð•\vÛL`”|\v_ZT\x0eæ\x04]\bU×Èœjè\x1ci­^[#1ÁÉ> ~ÍésQLô¼«­\x15¬^[þVÐ¥+%\fº5vÈ(ænäQ\b™€“PR‹«.äwÚ\x0eÅÆ\x10œ˜ÜÉE"S÷\x1dQ{ƒ­å\x12\x0f6\x18$‰®-+ù–*pTD:Ëh\x1eâ‚Zº–^[ö_6Nì"CµP½ƒ
ÊþÙB¿†+î\x12mP»»'ûwnŸyŸ4Aê«\x06™©MÀ8ÖBùzhMP}Ì…	\0„ð¦·X\x16lw´\x03츐\x05•ÕÔ\x1c@\v¬èuÛÜúš0xêSÝç–!€\x13\v\x05Ö,ÙUÌÙV„¸`e‘ÐŒ{´ÕˆñÓDœŽšå˜Ž\x0eÿ\x13´­Óƒ\x16ªô‚©¬Å1…ÏU‘Þ>\x13É\x04<¦³f‘$k\x0eeàG<F{²m,3ŸÎL\x12^³hÈX„ÝÒ^V÷¦oJ2D²‡\x01—\K\0¦\x16\x7f \x1fªF\x19+à\x17Ùí
ÙïeN±ÒRÅo¿uyÓÍÀÎv˜¾<¢oÖÝ‹eæ¥ê\fë\x1c"È\x14
ëæE½Ð5so²Ó‚.\x01í¯÷Yßçû\x03\x1fý,ö\x04ˆÐ
\x0fë²0W›Â}sõB	}]DŸ¤Ë6­ü\jæv*R­>õü[Ð\x03Hj›\x15”#ì×ÐG‚\x0eÝ\rέ–Tª^ä5…,]ePk\x14•\rÌ–\0…\r$\x12yï…(\b\x1d2¼Ó;\x18l\x13‹&‚ó!	%üìòª1wY\b}•Ôâõa„þލ~\x19\x17»10CAYZ`7Ø\vC‘b(˜y¿²s_˜ª¿C 3//ž…aLa3€G£¹EÇèÁC“©ó*°Æ©tCb\x03®od¤o+\vR ¥°~eˆWÚµ6Òžw*<ÁKÿ\x05x\x1ahm[›\x06îJÐe}ƒ·%äŒÀ\x0el¹Ú5BGÖ}h®d¡ö){B¦HÔ_Ó’¢í\x0fJR4z„\x16Îny¯ørOÖót2y¤&í¯ê}ÇÉ÷ø¸õµ^ï·yâÓ<Ìœø\x17#¬¼•õ7NØ|I¶þ\rPK\x01\x02\x14\x03\x14\0\0\0\b\0x6a”\x05\x135\x12\0\0ÇD\0\0\b\0	\0\0\0\0\0\0\0\0\0¤\0\0\0\0cvtasm.cUT\x05\0\a}Z\x05FPK\x05\x06\0\0\0\0\x01\0\x01\0?\0\0\0[\x12\0\0\0\0

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2007-04-20 17:02 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-24 17:50 [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works Axel Zeuner
2007-03-24 20:15 ` Anthony Liguori
2007-03-25 10:15   ` Axel Zeuner
2007-03-25 23:46     ` Anthony Liguori
2007-03-26  5:49       ` Axel Zeuner
2007-03-26 22:53         ` Paul Brook
2007-03-27  5:48           ` Axel Zeuner
2007-03-25 12:12   ` Axel Zeuner
2007-03-25 23:44     ` Anthony Liguori
2007-03-26  6:16       ` Axel Zeuner
2007-03-29  2:07         ` Anthony Liguori
2007-03-29  6:03           ` Axel Zeuner
2007-03-29 15:51             ` Anthony Liguori
2007-04-20 16:57   ` qemu + gcc4 (Was: [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works) Gwenole Beauchesne
2007-03-25 13:40 ` [Qemu-devel] [RFC/experimental patch] qemu (x86_64 on x86_64 -no-kqemu) compiles with gcc4 and works Avi Kivity
2007-03-26 17:14   ` Axel Zeuner
2007-04-06 21:04     ` Rob Landley

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.