From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60203) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9lAg-0004eT-RO for qemu-devel@nongnu.org; Mon, 19 Mar 2012 18:35:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S9lAf-0004wu-31 for qemu-devel@nongnu.org; Mon, 19 Mar 2012 18:35:22 -0400 Received: from mail-vx0-f173.google.com ([209.85.220.173]:38846) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S9lAe-0004wT-Os for qemu-devel@nongnu.org; Mon, 19 Mar 2012 18:35:21 -0400 Received: by vcbfl11 with SMTP id fl11so8546989vcb.4 for ; Mon, 19 Mar 2012 15:35:18 -0700 (PDT) MIME-Version: 1.0 From: =?ISO-8859-1?Q?Jo=E3o_Corr=EAa?= Date: Mon, 19 Mar 2012 19:34:57 -0300 Message-ID: Content-Type: multipart/mixed; boundary=f46d043893a93e18dc04bba02c31 Subject: [Qemu-devel] help with helper functions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --f46d043893a93e18dc04bba02c31 Content-Type: multipart/alternative; boundary=f46d043893a93e18d704bba02c2f --f46d043893a93e18d704bba02c2f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Guys, I'm trying to use some helper functions to instrument translated code, but I'm getting some segfaults while doing it. Here are some code I've placed: target-i386/helper.h DEF_HELPER_1(foo, void, tl) target-i386/op_helper.c #ifdef TARGET_X86_64 void foo(target_ulong t0){ } target-i386/translate.c static inline void gen_jmp_im(target_ulong pc){ #ifdef TARGET_X86_64 printf("test2\n"); gen_foo(pc); printf("test3\n"); #endif tcg_gen_movi_tl(cpu_tmp0, pc); tcg_gen_st_tl(cpu_tmp0, cpu_env, offsetof(CPUState, eip)); } What happens is that, test2 is printed but test3 is never printed, what means that the function gen_foo(pc) never ended. Attached to this e-mail follows the output generated with valgrind. Any help will be very useful. Thanks in advance. Jo=E3o. --f46d043893a93e18d704bba02c2f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi Guys,

I'm trying to use some helper functions to = instrument translated code, but I'm getting some segfaults while doing = it. Here are some code I've placed:

target-i38= 6/helper.h
DEF_HELPER_1(foo, void, tl)

target-i386/= op_helper.c
#ifdef TARGET_X86_64

<= div>void foo(target_ulong t0){

}

target-i386/translate.c
static inline void = gen_jmp_im(target_ulong pc){ =A0 =A0 =A0=A0
=A0 =A0 #ifdef TARGET= _X86_64
=A0 =A0 printf("test2\n");
=A0 =A0 ge= n_foo(pc);
=A0 =A0 printf("test3\n");
=A0 =A0 #endif
=A0 =A0 tcg_gen_movi_tl(cpu_tmp0, pc);
=A0 =A0 tcg_gen_st_tl(cp= u_tmp0, cpu_env, offsetof(CPUState, eip));
}=A0
<= br>
What happens is that, test2 is printed but test3 is never printed, what mea= ns that the function gen_foo(pc) never ended.

Atta= ched to this e-mail follows the output generated with valgrind.

Any help will be very useful. Thanks in advance.
J= o=E3o.
--f46d043893a93e18d704bba02c2f-- --f46d043893a93e18dc04bba02c31 Content-Type: application/octet-stream; name=valgrind_output Content-Disposition: attachment; filename=valgrind_output Content-Transfer-Encoding: base64 X-Attachment-Id: f_h003dnrx0 am9hb0Bsb2NhbGhvc3Q6fi9jb3VudGVyJCB2YWxncmluZCBxZW11LXg4Nl82NCBjb3VudGVyCj09 OTE2Nz09IE1lbWNoZWNrLCBhIG1lbW9yeSBlcnJvciBkZXRlY3Rvcgo9PTkxNjc9PSBDb3B5cmln aHQgKEMpIDIwMDItMjAxMCwgYW5kIEdOVSBHUEwnZCwgYnkgSnVsaWFuIFNld2FyZCBldCBhbC4K PT05MTY3PT0gVXNpbmcgVmFsZ3JpbmQtMy42LjEtRGViaWFuIGFuZCBMaWJWRVg7IHJlcnVuIHdp dGggLWggZm9yIGNvcHlyaWdodCBpbmZvCj09OTE2Nz09IENvbW1hbmQ6IHFlbXUteDg2XzY0IGNv dW50ZXIKPT05MTY3PT0gCj09OTE2Nz09IFdhcm5pbmc6IGlnbm9yZWQgYXR0ZW1wdCB0byBzZXQg U0lHS0lMTCBoYW5kbGVyIGluIHNpZ2FjdGlvbigpOwo9PTkxNjc9PSAgICAgICAgICB0aGUgU0lH S0lMTCBzaWduYWwgaXMgdW5jYXRjaGFibGUKPT05MTY3PT0gV2FybmluZzogaWdub3JlZCBhdHRl bXB0IHRvIHNldCBTSUdSVDMyIGhhbmRsZXIgaW4gc2lnYWN0aW9uKCk7Cj09OTE2Nz09ICAgICAg ICAgIHRoZSBTSUdSVDMyIHNpZ25hbCBpcyB1c2VkIGludGVybmFsbHkgYnkgVmFsZ3JpbmQKdGVz dGUyCj09OTE2Nz09IENvbmRpdGlvbmFsIGp1bXAgb3IgbW92ZSBkZXBlbmRzIG9uIHVuaW5pdGlh bGlzZWQgdmFsdWUocykKPT05MTY3PT0gICAgYXQgMHg2MDE5MDBCNTogPz8/IChpbiAvdXNyL2xv Y2FsL2Jpbi9xZW11LXg4Nl82NCkKPT05MTY3PT0gICAgYnkgMHg2MjM4RDFEOTogPz8/Cj09OTE2 Nz09ICAgIGJ5IDB4NjIzOEQxQkY6ID8/Pwo9PTkxNjc9PSAKPT05MTY3PT0gSW52YWxpZCByZWFk IG9mIHNpemUgNAo9PTkxNjc9PSAgICBhdCAweDYwMThGNDNEOiA/Pz8gKGluIC91c3IvbG9jYWwv YmluL3FlbXUteDg2XzY0KQo9PTkxNjc9PSAgICBieSAweDYyMzhENzRGOiA/Pz8KPT05MTY3PT0g ICAgYnkgMHg3RTRDRkZBNzogPz8/Cj09OTE2Nz09ICAgIGJ5IDB4NjIzOEQ3NUY6ID8/Pwo9PTkx Njc9PSAgICBieSAweDFGRkZGRkZGRjogPz8/Cj09OTE2Nz09ICBBZGRyZXNzIDB4N2U0Y2ZmYjAg aXMgbm90IHN0YWNrJ2QsIG1hbGxvYydkIG9yIChyZWNlbnRseSkgZnJlZSdkCj09OTE2Nz09IApx ZW11OiB1bmNhdWdodCB0YXJnZXQgc2lnbmFsIDExIChTZWdtZW50YXRpb24gZmF1bHQpIC0gY29y ZSBkdW1wZWQKPT05MTY3PT0gU3lzY2FsbCBwYXJhbSBydF9zaWdhY3Rpb24oYWN0LT5zYV9mbGFn cykgcG9pbnRzIHRvIHVuaW5pdGlhbGlzZWQgYnl0ZShzKQo9PTkxNjc9PSAgICBhdCAweDREQzEx NjU6IF9fbGliY19zaWdhY3Rpb24gKHNpZ2FjdGlvbi5jOjY3KQo9PTkxNjc9PSAgICBieSAweDYw MTdBQ0Y2OiA/Pz8gKGluIC91c3IvbG9jYWwvYmluL3FlbXUteDg2XzY0KQo9PTkxNjc9PSAgICBi eSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZGRkZGRkZG RkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAg ICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZGRkZG RkZGRkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9 PSAgICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZG RkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAgICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkx Njc9PSAgICBieSAweEZGRkZGRkZGRkZGRkZGRkU6ID8/Pwo9PTkxNjc9PSAgQWRkcmVzcyAweDdm ZWZmZjYzMCBpcyBvbiB0aHJlYWQgMSdzIHN0YWNrCj09OTE2Nz09IAo9PTkxNjc9PSAKPT05MTY3 PT0gSEVBUCBTVU1NQVJZOgo9PTkxNjc9PSAgICAgaW4gdXNlIGF0IGV4aXQ6IDYzLDE2MywyMDUg Ynl0ZXMgaW4gODIgYmxvY2tzCj09OTE2Nz09ICAgdG90YWwgaGVhcCB1c2FnZTogMjMyIGFsbG9j cywgMTUwIGZyZWVzLCA2MywxOTEsNzQ2IGJ5dGVzIGFsbG9jYXRlZAo9PTkxNjc9PSAKPT05MTY3 PT0gTEVBSyBTVU1NQVJZOgo9PTkxNjc9PSAgICBkZWZpbml0ZWx5IGxvc3Q6IDQ3IGJ5dGVzIGlu IDIgYmxvY2tzCj09OTE2Nz09ICAgIGluZGlyZWN0bHkgbG9zdDogMCBieXRlcyBpbiAwIGJsb2Nr cwo9PTkxNjc9PSAgICAgIHBvc3NpYmx5IGxvc3Q6IDAgYnl0ZXMgaW4gMCBibG9ja3MKPT05MTY3 PT0gICAgc3RpbGwgcmVhY2hhYmxlOiA2MywxNjMsMTU4IGJ5dGVzIGluIDgwIGJsb2Nrcwo9PTkx Njc9PSAgICAgICAgIHN1cHByZXNzZWQ6IDAgYnl0ZXMgaW4gMCBibG9ja3MKPT05MTY3PT0gUmVy dW4gd2l0aCAtLWxlYWstY2hlY2s9ZnVsbCB0byBzZWUgZGV0YWlscyBvZiBsZWFrZWQgbWVtb3J5 Cj09OTE2Nz09IAo9PTkxNjc9PSBGb3IgY291bnRzIG9mIGRldGVjdGVkIGFuZCBzdXBwcmVzc2Vk IGVycm9ycywgcmVydW4gd2l0aDogLXYKPT05MTY3PT0gVXNlIC0tdHJhY2stb3JpZ2lucz15ZXMg dG8gc2VlIHdoZXJlIHVuaW5pdGlhbGlzZWQgdmFsdWVzIGNvbWUgZnJvbQo9PTkxNjc9PSBFUlJP UiBTVU1NQVJZOiAzIGVycm9ycyBmcm9tIDMgY29udGV4dHMgKHN1cHByZXNzZWQ6IDYgZnJvbSA2 KQpTZWdtZW50YXRpb24gZmF1bHQKCg== --f46d043893a93e18dc04bba02c31--