From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38799) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TKwOt-0004ep-L9 for qemu-devel@nongnu.org; Sun, 07 Oct 2012 15:20:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TKwOq-0000Pt-I8 for qemu-devel@nongnu.org; Sun, 07 Oct 2012 15:20:30 -0400 Received: from mail-pb0-f45.google.com ([209.85.160.45]:59830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TKwOq-0000PF-89 for qemu-devel@nongnu.org; Sun, 07 Oct 2012 15:20:28 -0400 Received: by mail-pb0-f45.google.com with SMTP id rp2so3450551pbb.4 for ; Sun, 07 Oct 2012 12:20:27 -0700 (PDT) Sender: Richard Henderson Message-ID: <5071D5F9.4010106@twiddle.net> Date: Sun, 07 Oct 2012 12:20:25 -0700 From: Richard Henderson MIME-Version: 1.0 References: <1349386306-24764-1-git-send-email-rth@twiddle.net> In-Reply-To: Content-Type: multipart/mixed; boundary="------------040108060705000909070004" Subject: Re: [Qemu-devel] [PATCH] exec: Don't request an address for code_gen_buffer if -fpie List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------040108060705000909070004 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 10/07/2012 09:34 AM, Blue Swirl wrote: >> > +#ifdef USE_MMAP >> > + code_gen_buffer = mmap((void *)start, code_gen_buffer_size, >> > + PROT_WRITE | PROT_READ | PROT_EXEC, >> > + flags, -1, 0); >> > + if (code_gen_buffer == MAP_FAILED) { >> > + fprintf(stderr, "Could not allocate dynamic translator buffer\n"); >> > + exit(1); >> > } >> > #else >> > code_gen_buffer = g_malloc(code_gen_buffer_size); >> > map_exec(code_gen_buffer, code_gen_buffer_size); > In this branch (e.g. mingw32), 'start' is unused: > /src/qemu/exec.c: In function 'code_gen_alloc': > /src/qemu/exec.c:531: warning: unused variable 'start' Well, I've rearranged the code to handle this, and it does avoid the warning. But I'm not sure I like the two separate blocks. Especially for the x86_64 MAP32 case. Perhaps we're better off with an __attribute__((unused)) there? r~ --------------040108060705000909070004 Content-Type: text/plain; charset=UTF-8; name="z" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="z" ZGlmZiAtLWdpdCBhL2V4ZWMuYyBiL2V4ZWMuYwppbmRleCA4ZjNiYzc0Li43MDQ0MjZjIDEw MDY0NAotLS0gYS9leGVjLmMKKysrIGIvZXhlYy5jCkBAIC01MjcsMTUgKzUyNywxNCBAQCBz dGF0aWMgdm9pZCBjb2RlX2dlbl9hbGxvYyh1bnNpZ25lZCBsb25nIHRiX3NpemUpCiAjZWxz ZQogI2lmZGVmIFVTRV9NTUFQCiAgICAgaW50IGZsYWdzID0gTUFQX1BSSVZBVEUgfCBNQVBf QU5PTllNT1VTOworICAgIHVpbnRwdHJfdCBzdGFydCA9IDA7CiAjZW5kaWYKLSAgICB1aW50 cHRyX3QgbWF4X2J1ZiA9IC0xLCBzdGFydCA9IDA7CisgICAgc2l6ZV90IG1heF9idWYgPSB+ KHNpemVfdCkwOwogCi0gICAgLyogQ29uc3RyYWluIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBv ZiB0aGUgYnVmZmVyIGJhc2VkIG9uIHRoZSBob3N0IGNwdS4gICovCisgICAgLyogQ29uc3Ry YWluIHRoZSBzaXplIG9mIHRoZSBidWZmZXIgYmFzZWQgb24gdGhlIGhvc3QgY3B1LiAgKi8K ICNpZiBkZWZpbmVkKF9feDg2XzY0X18pCi0jIGlmICFkZWZpbmVkKF9fUElFX18pICYmICFk ZWZpbmVkKF9fUElDX18pICYmIGRlZmluZWQoTUFQXzMyQklUKQotICAgIC8qIEZvcmNlIHRo ZSBtZW1vcnkgZG93biBpbnRvIGxvdyBtZW1vcnkgd2l0aCB0aGUgZXhlY3V0YWJsZS4KLSAg ICAgICBMZWF2ZSB0aGUgY2hvaWNlIG9mIGV4YWN0IGxvY2F0aW9uIHdpdGggdGhlIGtlcm5l bC4gICovCi0gICAgZmxhZ3MgfD0gTUFQXzMyQklUOworIyBpZiAhZGVmaW5lZChfX1BJRV9f KSAmJiAhZGVmaW5lZChfX1BJQ19fKSBcCisgICAgICYmIGRlZmluZWQoVVNFX01NQVApICYm IGRlZmluZWQoTUFQXzMyQklUKQogICAgIC8qIENhbm5vdCBleHBlY3QgdG8gbWFwIG1vcmUg dGhhbiA4MDBNQiBpbiBsb3cgbWVtb3J5LiAgKi8KICAgICBtYXhfYnVmID0gODAwICogMTAy NCAqIDEwMjQ7CiAjIGVsc2UKQEAgLTU0NSwyMiArNTQ0LDEyIEBAIHN0YXRpYyB2b2lkIGNv ZGVfZ2VuX2FsbG9jKHVuc2lnbmVkIGxvbmcgdGJfc2l6ZSkKICNlbGlmIGRlZmluZWQoX19z cGFyY19fKSAmJiBIT1NUX0xPTkdfQklUUyA9PSA2NAogICAgIC8qIE1heGltdW0gcmFuZ2Ug b2YgZGlyZWN0IGJyYW5jaGVzIGJldHdlZW4gVEIgKHZpYSAiY2FsbCIpLiAgKi8KICAgICBt YXhfYnVmID0gMnVsICogMTAyNCAqIDEwMjQgKiAxMDI0OwotICAgIHN0YXJ0ID0gMHg0MDAw MDAwMHVsOwogI2VsaWYgZGVmaW5lZChfX2FybV9fKQogICAgIC8qIEtlZXAgdGhlIGJ1ZmZl ciBubyBiaWdnZXIgdGhhbiAxNk1CIHRvIGJyYW5jaCBiZXR3ZWVuIGJsb2NrcyAqLwogICAg IG1heF9idWYgPSAxNiAqIDEwMjQgKiAxMDI0OwogI2VsaWYgZGVmaW5lZChfX3MzOTB4X18p Ci0gICAgLyogTWFwIHRoZSBidWZmZXIgc28gdGhhdCB3ZSBjYW4gdXNlIGRpcmVjdCBjYWxs cyBhbmQgYnJhbmNoZXMuICAqLwogICAgIC8qIFdlIGhhdmUgYSArLSA0R0IgcmFuZ2Ugb24g dGhlIGJyYW5jaGVzOyBsZWF2ZSBzb21lIHNsb3AuICAqLwogICAgIG1heF9idWYgPSAzdWwg KiAxMDI0ICogMTAyNCAqIDEwMjQ7Ci0gICAgc3RhcnQgPSAweDkwMDAwMDAwdWw7Ci0jZW5k aWYKLSNpZiBkZWZpbmVkKF9fUElFX18pIHx8IGRlZmluZWQoX19QSUNfXykKLSAgICAvKiBE b24ndCBib3RoZXIgc2V0dGluZyBhIHByZWZlcnJlZCBsb2NhdGlvbiBpZiB3ZSdyZSBidWls ZGluZwotICAgICAgIGEgcG9zaXRpb24taW5kZXBlbmRlbnQgZXhlY3V0YWJsZS4gIFdlJ3Jl IG1vcmUgbGlrZWx5IHRvIGdldAotICAgICAgIGFuIGFkZHJlc3MgbmVhciB0aGUgbWFpbiBl eGVjdXRhYmxlIGlmIHdlIGxldCB0aGUga2VybmVsCi0gICAgICAgY2hvb3NlIHRoZSBhZGRy ZXNzLiAgKi8KLSAgICBzdGFydCA9IDA7CiAjZW5kaWYKIAogICAgIC8qIFNpemUgdGhlIGJ1 ZmZlci4gICovCkBAIC01ODEsNiArNTcwLDIzIEBAIHN0YXRpYyB2b2lkIGNvZGVfZ2VuX2Fs bG9jKHVuc2lnbmVkIGxvbmcgdGJfc2l6ZSkKICAgICB9CiAKICNpZmRlZiBVU0VfTU1BUAor ICAgIC8qIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlciBiYXNlZCBvbiB0 aGUgaG9zdCBjcHUuCisgICAgICAgTm90ZSB0aGF0IHRoZXNlIGFkZHJlc3NlcyBhcmUgY2hv c2VuIGluIGNvbmNlcnQgd2l0aCB0aGUKKyAgICAgICBhZGRyZXNzZXMgYXNzaWduZWQgaW4g dGhlIHJlbGV2YW50IGxpbmtlciBzY3JpcHQgZmlsZS4gICovCisjIGlmIGRlZmluZWQoX19Q SUVfXykgfHwgZGVmaW5lZChfX1BJQ19fKQorICAgIC8qIERvbid0IGJvdGhlciBzZXR0aW5n IGEgcHJlZmVycmVkIGxvY2F0aW9uIGlmIHdlJ3JlIGJ1aWxkaW5nCisgICAgICAgYSBwb3Np dGlvbi1pbmRlcGVuZGVudCBleGVjdXRhYmxlLiAgV2UncmUgbW9yZSBsaWtlbHkgdG8gZ2V0 CisgICAgICAgYW4gYWRkcmVzcyBuZWFyIHRoZSBtYWluIGV4ZWN1dGFibGUgaWYgd2UgbGV0 IHRoZSBrZXJuZWwKKyAgICAgICBjaG9vc2UgdGhlIGFkZHJlc3MuICAqLworIyBlbGlmIGRl ZmluZWQoX194ODZfNjRfXykgJiYgZGVmaW5lZChNQVBfMzJCSVQpCisgICAgLyogRm9yY2Ug dGhlIG1lbW9yeSBkb3duIGludG8gbG93IG1lbW9yeSB3aXRoIHRoZSBleGVjdXRhYmxlLgor ICAgICAgIExlYXZlIHRoZSBjaG9pY2Ugb2YgZXhhY3QgbG9jYXRpb24gd2l0aCB0aGUga2Vy bmVsLiAgKi8KKyAgICBmbGFncyB8PSBNQVBfMzJCSVQ7CisjIGVsaWYgZGVmaW5lZChfX3Nw YXJjX18pICYmIEhPU1RfTE9OR19CSVRTID09IDY0CisgICAgc3RhcnQgPSAweDQwMDAwMDAw dWw7CisjIGVsaWYgZGVmaW5lZChfX3MzOTB4X18pCisgICAgc3RhcnQgPSAweDkwMDAwMDAw dWw7CisjIGVuZGlmCiAgICAgY29kZV9nZW5fYnVmZmVyID0gbW1hcCgodm9pZCAqKXN0YXJ0 LCBjb2RlX2dlbl9idWZmZXJfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS T1RfV1JJVEUgfCBQUk9UX1JFQUQgfCBQUk9UX0VYRUMsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmbGFncywgLTEsIDApOwo= --------------040108060705000909070004--