From patchwork Fri Apr 3 19:11:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185178 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp913800ilr; Fri, 3 Apr 2020 12:12:25 -0700 (PDT) X-Google-Smtp-Source: APiQypLK7sId+rRf62VuuppU4QhK7pb/XhFNre/g4/8tOVFv+1rmm97AMwoIP2+RrlbhMAIfzCc+ X-Received: by 2002:ac8:1aed:: with SMTP id h42mr10014400qtk.43.1585941145478; Fri, 03 Apr 2020 12:12:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941145; cv=none; d=google.com; s=arc-20160816; b=hiktbCF8Dt50M9UghGXmL3BdSI6GY/etfUAvhc3lr5REGwnKCgdTGTB3rzOlO8voJP Z6PsmPr3YTl5uIHzavZNNBnj3kChcd53ZoeMM5DHMe1lvbc0vGhxQxKwDOCnNX+zmqJD 5Dv4G6OT7siVSNsassI6PfoPSwYNuwoJFeIUy1pu1lZzJ/7Pwv4vCPbdMhxa//jOg98G azXAOozUCj7CqKj616/EBxKd/eU0Y7xOTD8e8ffDqAhHMa5oKTBR3qlaw1OATRPrd8ke 267PwGSuCggJrUamMjzYdLphM11n0dykndGeUVvl6yhoO5632JkIlOHrA7FMySwH97I3 zuUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=+bAv2HPSumCjz45QTmpT65MHVnN93v/+fTRM89VHFyg=; b=j/JZmGBC/kLiQe6WbneBVM12ZcdXkAOsSV2m3fskXcuFXAUcdGyZYmqL2Xt30/KJnD shs/dJzjzwjERNJvA7K6HIqw6YhdHdGHIMO0J1ZfV7g43ppg2XlpY7HW2HTxTdWNsR7+ 0p8n8yDMIbzj7nuJJow0InCO5SaUtFMtz6ae4IWIlz5li6ubM+Uz8D/mWQv0rld6ErWX rlv+I0kyWlJgT21hFFZsn+X9w+JedWP6IBnYEBkBvajWW3AKijgsKBMdqmUNP+hk+M6s n70j9DXzhGjTJSltJabUdzjJ5zKspytvl6j59tmo1QTQl3OvgXShZ7FP7i3EFcUUFZy3 9aMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=yK80QjmI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k16si1627140qki.332.2020.04.03.12.12.25 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:12:25 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=yK80QjmI; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60056 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjs-0003Fx-R1 for patch@linaro.org; Fri, 03 Apr 2020 15:12:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40233) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjQ-0003FP-DZ for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjP-000200-1X for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:56 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:40096) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjO-0001xC-LH for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:54 -0400 Received: by mail-wr1-x443.google.com with SMTP id s8so7674625wrt.7 for ; Fri, 03 Apr 2020 12:11:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+bAv2HPSumCjz45QTmpT65MHVnN93v/+fTRM89VHFyg=; b=yK80QjmIo8e7BiILucvoVLSRw1slFmjM0ixIcZ1APs/uqRY1aqhiIjg1U8HKCBlk7a 2SIfRuEu55FGF5MgvxJdWuuLJ7U8mdmhVf+SJgcHlCLwNbiJQKusN1oKNZozSEFpm7OA tojXMZHU1vFnykDXF4MsGdJ/spSGRTUNAJJo7YaXf3JIFOdXDx6VMFdy7jq5rG+rqqyv GAwNglWd16vbNHK/Hsbn72X/+fC4611gFwfZC+9ifN2OzQLX1Tco8ChwoO6LTe5FlWat /Ukg+bnbKvUKSOA/XowjHPyhLyU0ErtjiCXwNgg5AsEBtnKUMwOelX54exmmrrmCsorU QkMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+bAv2HPSumCjz45QTmpT65MHVnN93v/+fTRM89VHFyg=; b=XG/9lN/z+LMxCfP0FrGXiUdr3HrvdZjyiiH9F13PYQ4QQO8QznfwKb3yVg/gw1+oRC LY6DvyoKwAKX1dAopmxPphyLs559bDkUCmFqvanWbuPylfG6Td4ACalAH1yuXgFmvFO4 w7jBFlm+AlCz9XLJjgawWIwEEKkN4Uty+i3zxDmTa367H/QmEP2UH7yK32J8KOFJxhtv Y2ipsg9uPgPeWtW54chLZFiKy4R2yIgbXcn9qHQoMuejQ+c2KrZxhInsEUPlWyyopsTB QpFT1JlXbrhCvwlk8pG9Nl0+64ugWRFEGsyNKtAkli4I9UjIx/h/imdt35tSZuC5zA7I TYiA== X-Gm-Message-State: AGi0PuZ3upSxrZvULtcbQ6TYojMjjSeEGVx9Nt4blmuxZW6vVqJWQD6E yI08xAM2hRYXeBFvO3tIoyBa/w== X-Received: by 2002:adf:e90b:: with SMTP id f11mr10454150wrm.65.1585941113556; Fri, 03 Apr 2020 12:11:53 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id r5sm12481552wmr.15.2020.04.03.12.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:51 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id AE1E41FF87; Fri, 3 Apr 2020 20:11:50 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 01/12] elf-ops: bail out if we have no function symbols Date: Fri, 3 Apr 2020 20:11:39 +0100 Message-Id: <20200403191150.863-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" It's perfectly possible to have no function symbols in your elf file and if we do the undefined behaviour sanitizer rightly complains about us passing NULL to qsort. Check nsyms before we go ahead. While we are at it lets drop the unchecked return value and cleanup the fail leg by use of g_autoptr. Another fix was proposed 101 weeks ago in: Message-Id: 20180421232120.22208-1-f4bug@amsat.org Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- include/hw/elf_ops.h | 48 +++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 23 deletions(-) -- 2.20.1 diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h index a1411bfcab6..e0bb47bb678 100644 --- a/include/hw/elf_ops.h +++ b/include/hw/elf_ops.h @@ -104,19 +104,21 @@ static int glue(symcmp, SZ)(const void *s0, const void *s1) : ((sym0->st_value > sym1->st_value) ? 1 : 0); } -static int glue(load_symbols, SZ)(struct elfhdr *ehdr, int fd, int must_swab, - int clear_lsb, symbol_fn_t sym_cb) +static void glue(load_symbols, SZ)(struct elfhdr *ehdr, int fd, int must_swab, + int clear_lsb, symbol_fn_t sym_cb) { - struct elf_shdr *symtab, *strtab, *shdr_table = NULL; - struct elf_sym *syms = NULL; + struct elf_shdr *symtab, *strtab; + g_autofree struct elf_shdr *shdr_table = NULL; + g_autofree struct elf_sym *syms = NULL; + g_autofree char *str = NULL; struct syminfo *s; int nsyms, i; - char *str = NULL; shdr_table = load_at(fd, ehdr->e_shoff, sizeof(struct elf_shdr) * ehdr->e_shnum); - if (!shdr_table) - return -1; + if (!shdr_table) { + return ; + } if (must_swab) { for (i = 0; i < ehdr->e_shnum; i++) { @@ -125,23 +127,25 @@ static int glue(load_symbols, SZ)(struct elfhdr *ehdr, int fd, int must_swab, } symtab = glue(find_section, SZ)(shdr_table, ehdr->e_shnum, SHT_SYMTAB); - if (!symtab) - goto fail; + if (!symtab) { + return; + } syms = load_at(fd, symtab->sh_offset, symtab->sh_size); - if (!syms) - goto fail; + if (!syms) { + return; + } nsyms = symtab->sh_size / sizeof(struct elf_sym); /* String table */ if (symtab->sh_link >= ehdr->e_shnum) { - goto fail; + return; } strtab = &shdr_table[symtab->sh_link]; str = load_at(fd, strtab->sh_offset, strtab->sh_size); if (!str) { - goto fail; + return; } i = 0; @@ -170,8 +174,13 @@ static int glue(load_symbols, SZ)(struct elfhdr *ehdr, int fd, int must_swab, } i++; } - syms = g_realloc(syms, nsyms * sizeof(*syms)); + /* check we have symbols left */ + if (nsyms == 0) { + return; + } + + syms = g_realloc(syms, nsyms * sizeof(*syms)); qsort(syms, nsyms, sizeof(*syms), glue(symcmp, SZ)); for (i = 0; i < nsyms - 1; i++) { if (syms[i].st_size == 0) { @@ -182,18 +191,11 @@ static int glue(load_symbols, SZ)(struct elfhdr *ehdr, int fd, int must_swab, /* Commit */ s = g_malloc0(sizeof(*s)); s->lookup_symbol = glue(lookup_symbol, SZ); - glue(s->disas_symtab.elf, SZ) = syms; + glue(s->disas_symtab.elf, SZ) = g_steal_pointer(&syms); s->disas_num_syms = nsyms; - s->disas_strtab = str; + s->disas_strtab = g_steal_pointer(&str); s->next = syminfos; syminfos = s; - g_free(shdr_table); - return 0; - fail: - g_free(syms); - g_free(str); - g_free(shdr_table); - return -1; } static int glue(elf_reloc, SZ)(struct elfhdr *ehdr, int fd, int must_swab, From patchwork Fri Apr 3 19:11:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185181 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp915584ilr; Fri, 3 Apr 2020 12:14:16 -0700 (PDT) X-Google-Smtp-Source: APiQypLWvvXaZhxexSYfmNoqN3Zyyj3XeNDMUNUoCwI5SsekKhXbp58EbR4m4DDhHha+h3oY3O1R X-Received: by 2002:ac8:f85:: with SMTP id b5mr9736033qtk.158.1585941256200; Fri, 03 Apr 2020 12:14:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941256; cv=none; d=google.com; s=arc-20160816; b=CiWI6Q2iS7n6LMciJxhsoxfCaPbpDv3IRVqgzK19CwT4g3FMFr8acPdMTiRbotDA96 QKgrBWOLfAm/1aFQWRVhzJaRVscMKVBqoyocooI+dPF4yswi0T49W6PXAa2EJjL/C6eg +T/srbr/1hOihSU0KWlk8yK/pRh4ClrBRPZwYrwC9W6cz8/mtaGFNcsupVoXk+Y6dxNG oD7RNxkIIhRyjPKaP/1qxyb4fL+ZS+zR8qKqqJdhbwdYRjYc3Hvf1GRw74vUrzgxXZVV Ohg9F/ku+Ndqc5fmHl/auI/kgR1fgVTsQoe72ZSFahmIb6sHk8f9oI6Q8LLzPYiSRQx4 gZCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=9yYReGEoMkqsfZWblGMzvHlMGSzTNisl1Y211B1bnEY=; b=GSTPnpg9Ej06hq5ZzFAe3f8rm7sUq86IwPU/D+U78fc00VtM4jXYi9CuXqg3rlMRAd bXFclx4GnIxytcwIchfVOCOWFdJM6WKc61RIazl0BSmR8YaA5MKaDkHWIXkLewF+OUV3 5+l0l0xT36PErHPoyZK+Hk/xtbOehEwbCKHsOnJmKXNgYg0ePxeZdJvMa8ejjSqBeLxj CFBChY7HGbqIwJCPM1iya4lD55w4vbSyKE8KsFK8gXTowRYsyhZVKxFw/BQZu7v8rhFJ 2XKR/r7kgoBOotsUSnRIMnUPWsP8DRUD86TU1iwuw9aHDXIwrydzdkOZc6Hlh4xsYFhO gADQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=K5NNnLA8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s12si6026182qth.9.2020.04.03.12.14.16 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:14:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=K5NNnLA8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRlf-0006uC-Os for patch@linaro.org; Fri, 03 Apr 2020 15:14:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40411) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjT-0003GB-5y for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjS-000284-59 for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:59 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:39787) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjR-00022w-UO for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:58 -0400 Received: by mail-wm1-x342.google.com with SMTP id e9so8904410wme.4 for ; Fri, 03 Apr 2020 12:11:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9yYReGEoMkqsfZWblGMzvHlMGSzTNisl1Y211B1bnEY=; b=K5NNnLA8kQ8cHlQxExClBCwKnhdlLhBVE/KiPCZLBWC7OV0Ye9YRL4HMB0BNPgkHOk AB+OFaWl6BtYt9R7R9o/ykTr7SU8tykYfVrwo1NebcRsrl3UTeXItTsWo2LlRB6suiR2 8N2hy/ICndn/3hLTMMSkXrm/SeFnMbDWYlotLSrl3V0ccOxbLqJPp6Tlc05gw9i+ijW3 s1aq//oJ1IDWdfjjBftYFlf1bFVA8ixQyRtsdX+wz0o5ZjuAOq/08C5umO15A+UAifec sgADKKoDVtbe6y5XqGlopGhguRyYP62/6Ho6mFIND5iylHj4Kp7Y0YGj4XtmGPT4JqtM 1bww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9yYReGEoMkqsfZWblGMzvHlMGSzTNisl1Y211B1bnEY=; b=UuNB7ar7mlv64jOdhjiiY5t0e75LdK6zx4mezRve+ng/ZIfWWxIsHtS7YclEZpt+WF XGa0x5se2i56wEq/o6wIN3rtMnvWub6J9cAVarIw3h55jK9sGf99LpnkASX+qKGWDMAI xrsBTYVygMNQW7FAG8KVuRYlp0kZzy644BYH4aW/L0qHlTiG4DGG/0bSnPrfBYg2unyD CFpA9M/apLPEP3YDAi4c2gdV39/fJt5z1tCqfwTfiVo/NK+uJmsZBfGDP99YcQwmtVWr pvjgcAcQNCiXGWGoNa/SJsjshFW9AC72jGTgf6iIzcDtJzaOuGrjHQ7cg6aCRxjWTHSJ 116Q== X-Gm-Message-State: AGi0PuYo1EPKV2kysy3nOjB+hY2NInkOwq0GDnsc61FhBLIiSEdkPI+B h3W/EFOk8EtboWAPZb+lnv0ZKA== X-Received: by 2002:a7b:c2a1:: with SMTP id c1mr9774878wmk.138.1585941115898; Fri, 03 Apr 2020 12:11:55 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id w15sm2587012wra.25.2020.04.03.12.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:51 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C29BC1FF8C; Fri, 3 Apr 2020 20:11:50 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 02/12] linux-user: protect fcntl64 with an #ifdef Date: Fri, 3 Apr 2020 20:11:40 +0100 Message-Id: <20200403191150.863-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Checking TARGET_ABI_BITS is sketchy - we should check for the presence of the define to be sure. Also clean up the white space while we are there. Signed-off-by: Alex Bennée Reviewed-by: Laurent Vivier Reviewed-by: Richard Henderson --- linux-user/syscall.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -- 2.20.1 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5af55fca781..b679bc6b136 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -11331,11 +11331,11 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, This is a hint, so ignoring and returning success is ok. */ return 0; #endif -#if TARGET_ABI_BITS == 32 +#ifdef TARGET_NR_fcntl64 case TARGET_NR_fcntl64: { - int cmd; - struct flock64 fl; + int cmd; + struct flock64 fl; from_flock64_fn *copyfrom = copy_from_user_flock64; to_flock64_fn *copyto = copy_to_user_flock64; @@ -11346,7 +11346,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1, } #endif - cmd = target_to_host_fcntl_cmd(arg2); + cmd = target_to_host_fcntl_cmd(arg2); if (cmd == -TARGET_EINVAL) { return cmd; } From patchwork Fri Apr 3 19:11:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185180 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp915520ilr; Fri, 3 Apr 2020 12:14:11 -0700 (PDT) X-Google-Smtp-Source: APiQypLLbSOzi5SQ4ooD9eVmq2vmdZm5jB8B+xg9UIpfHnyCsGZTxfc8g88ZExfl6k7ilysNEZ6R X-Received: by 2002:a37:87c7:: with SMTP id j190mr10606972qkd.66.1585941251539; Fri, 03 Apr 2020 12:14:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941251; cv=none; d=google.com; s=arc-20160816; b=dpPFYmqiNBwuFz9LDDbijW0mr10DWBDLn2apVYmCKQLOcsQETNXGjnLdqCxkrThmOX QS82NJt4Fy2Wu4yMKMLLHD/gacW9knbCuBzid+lRrvtmKZGqUOfHF19fgn932sakNOOD ZzAfzX1AzdkeQIac/iaRI55FuttIcCrmj21/SEeKmY9Ti/Wzs7PFO1rL+PkxN11ok0Bo SzEuIQ9h3ziQlmOC3hRKNClHMKc0Nt9+2o55EAZROIN3WUCsbMI7lvNockn4G1eMBlxK fLdMY2C8gg23g8M77czM0RJSehH6bT28TMLBbkWOnrl9FB9pR+CLvmsiqjpg9B0MPVqT ttmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=R7MN9eSx9agbWPqT5OjGjNM4Lpuf6u0q6HsuyaT0dMs=; b=aGK1oV9kvG4MjRdT6Alq5EHT00kv1MuIWKHuOBNafCbTww0lJ/WnNuR+JJ9w0+nuzd 3HvGD+wcJYUw2gLXGqvqrBZyEcp5n2StlMknxbvtK0Ea5AqDgQN/p70+zVf0RhFHV5yi xCD/bfofph2ahwqsKyncP6VTWdw57SFz9PSYOXyx8SzIeC2tTBqRSTP+uoVOVDychpBr ALQLGE8RHBAi57OlN93S8/avP6ne98b8q5AdxYd+pnN5v3sSS9NofRJD8httQrcYBeby acY0XDEEBiqz+PwhrglaPnqH61iba5aL9rJ604r1VDpMwRe5KiR6hW7gjaHgtlOfJORO NeqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="BONettR/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id o20si6154287qkk.83.2020.04.03.12.14.11 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:14:11 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="BONettR/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60138 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRlb-0006eg-3m for patch@linaro.org; Fri, 03 Apr 2020 15:14:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40290) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjS-0003Ff-4H for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjP-00021q-Sj for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:57 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:40752) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjP-000206-MR for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:55 -0400 Received: by mail-wm1-x341.google.com with SMTP id a81so8870936wmf.5 for ; Fri, 03 Apr 2020 12:11:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=R7MN9eSx9agbWPqT5OjGjNM4Lpuf6u0q6HsuyaT0dMs=; b=BONettR/CVYQoMOwUD4wfIm3Y7+Q0ldet1ttJYyBwey05p1vyzvBKbeOTVPmtK3/Sg T33I8vcG5F3OfsDlbKz++1IxtogEzpN7dypoREzNIuE3NIuYH0Bedg6/3y730smfb8Fu 0vGAPnFNcuKoKuxlKZ0sX9xZMBzn+FHOHS/rEtaDrKKJwW81ju4JPNc1T7HkPtUGHBOj 1mljXvF9Px61bQV1ylFzhqqw7aWLYCvsCXc+dZctNXj0A7CSBp0vBI0mz4eBaFXqgVMU 32qaaXitVivYOKYde2CK2/Y9YM5+pMw49mKkBuR/6gySiXeID3L0Yx3JRDKbdWOd8u5L yfyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=R7MN9eSx9agbWPqT5OjGjNM4Lpuf6u0q6HsuyaT0dMs=; b=m5C9qU9I+mrvWJrxGeOEjLi+NR72xn9QzXJ/uEGBdD9fjm/K8iUDCbCZLKrZk1ZZC6 8Cxmlbo+6oNua8Ym+0KG1rFxhHxmpl5FhHj0HwI3s0oI0U5S6SOrq8SeOt7GLkplc47X biWebLSM2YzfvhVBj9IYytXeM+2VB5cx+Pr3sSDZ6zXOc+BU/ESrlgl4MOCR4WgzBa3z 2Dt/42SZY8+B8H+0e1HyF5fw1l/9k+HGJ0nvBHd0mmpmC3GqwpGyebsHtIrIhR9bxR5T BvcQfuKvzQAToKfWR6m0Ygn8+k3Mief5KpKd3RuoIzd7FHYsVPUOyaItXuktuJMawymr +snA== X-Gm-Message-State: AGi0PubmTPKrAmC8dTu6pLNyGmAN2rrNdLStofzwX3Cg0t5cZbW/TeiU LYeCz1PvoJSyVb9Rmt6z8nzVAA== X-Received: by 2002:a1c:1d02:: with SMTP id d2mr1706593wmd.78.1585941114631; Fri, 03 Apr 2020 12:11:54 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g194sm2615680wme.32.2020.04.03.12.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:51 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id DAF421FF8F; Fri, 3 Apr 2020 20:11:50 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 03/12] tests/tcg: remove extraneous pasting macros Date: Fri, 3 Apr 2020 20:11:41 +0100 Message-Id: <20200403191150.863-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= , Richard Henderson Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" We are not using them and they just get in the way. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- tests/tcg/x86_64/system/boot.S | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) -- 2.20.1 diff --git a/tests/tcg/x86_64/system/boot.S b/tests/tcg/x86_64/system/boot.S index 205cfbd3982..73b19a2bda6 100644 --- a/tests/tcg/x86_64/system/boot.S +++ b/tests/tcg/x86_64/system/boot.S @@ -41,10 +41,7 @@ #define XEN_ELFNOTE_PHYS32_ENTRY 18 #define __ASM_FORM(x) x -#define __ASM_FORM_RAW(x) x -#define __ASM_FORM_COMMA(x) x, -#define __ASM_SEL(a,b) __ASM_FORM(b) -#define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(b) +#define __ASM_SEL(a,b) __ASM_FORM(b) #define _ASM_PTR __ASM_SEL(.long, .quad) ELFNOTE(Xen, XEN_ELFNOTE_VIRT_BASE, _ASM_PTR 0x100000) From patchwork Fri Apr 3 19:11:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185185 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp918301ilr; Fri, 3 Apr 2020 12:16:49 -0700 (PDT) X-Google-Smtp-Source: APiQypL2JiCiVXxIQmeI9NyH+fbDFsfQC0FyIdToG0NM+0RkX/PFk2zUW/hBYJFlc9IQZIh+6ChU X-Received: by 2002:ad4:514d:: with SMTP id g13mr9776370qvq.229.1585941409871; Fri, 03 Apr 2020 12:16:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941409; cv=none; d=google.com; s=arc-20160816; b=FnYkm06cIPsmTuserj024/mO+UvM75GTsEatJ/UzobIL9HVbOVnCvMn5iZdR2gqX67 kttcTHVjA5mV4yC+EF4uyTp04XVZaOfTi7bQth/HRIAhQNZzlzhAhK/iyPDXwwRUnP0Q AfZ9O1v3H8sjoqfPXXF7h+bqcGJv/Kr0t7zvNU/J3pfQzVKEhIHMuVM3D2PfZG9dgSLj A1CyqTWAkbLm/lqC6a/IhBIfpBPKwftXV3LFsCKEYLE38oB+AF6s9UdisAh+Liix+luI UJvVryWHNR0pkxn02+8T37xs2pjIt0VzN8OtSx1rUmfNVcqcySIbBu+W5DjpRroncpJS onvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=L6skE25jv77X3Ic3q30MQuACWpAXjktUtUIdWwwluKc=; b=XPBHJco3j88jW7Vbh64XHc0Khw+ldwNkmT5ZA3jQ9SbxFHZZM5Lq/oExC1tENeqpym y0TVty4CJpZq53MDLAKzwD86kPfVUZY3hZ0hI/ZSpSX7yVr7i9UGv5UNYxrtFI9QaMSx y/Ye2/7PX/6OuwSsrKech32l7U/s+fPi8t/1ZpVuvidftj1DfOmkNFsUF1oiFEfRTE6F /bXzKd/0NbdB7VjYKbM60TQHmJegjyImqv+N2PWxOFZ3PK2rTwP+xtAL8omqQzHEEf6j huuL1FlOlBvDGKPwXh9kDgfuWKZZ/fFCbqRDn5F7J0YAVlHGs9Bt0ofD64negdgHCdzk ylVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="fJTYoCy/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id q47si6200192qtb.26.2020.04.03.12.16.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:16:49 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="fJTYoCy/"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRo9-00028L-9O for patch@linaro.org; Fri, 03 Apr 2020 15:16:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40436) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjT-0003Gx-IH for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjS-00028i-BN for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:59 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:39018) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjS-00026Z-4F for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:58 -0400 Received: by mail-wr1-x442.google.com with SMTP id p10so9799909wrt.6 for ; Fri, 03 Apr 2020 12:11:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L6skE25jv77X3Ic3q30MQuACWpAXjktUtUIdWwwluKc=; b=fJTYoCy/lEiJMV48/JGCu+kfV9Bkzb2MWZwVR/fDUJdJsFcy9Be50ItHs2ID/3dj2p 9zvkmRmQagwdHDeAEoTlV7cpeL0nmXMXrk1VLm6/qZvYF5PxcSUbw6ZDDS0VSwebWMyO xSargiPA4+W9iiDULBOO9TonftJ8/t1AcHgLt7yM8fgBSf3nrR29xLf1//4yUhc9b/pB yjRHEkL3HaxYD6prgUKgXNaOiEoIPa/V1VGPzzTxJHve4bpCMMPW8zGcUK9mWXSSiaes vKtfx/13xyU5hZOocR04YhTmV5o3erbZwuSWG6Z7+ayMHzYaAkCL2R/cuCIrVJY3hNX/ O2iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L6skE25jv77X3Ic3q30MQuACWpAXjktUtUIdWwwluKc=; b=jA+BHlfwOADfI66iMR4KELREAIWFxk9f2hzI3tZutKACVTuO3Vj+Afua/wgMGR+Yos GstgwXQ+gjyXFoN6RmTxnwrYk4QPOUgdGRXVBEuO6jfJuBHw5n74BBoUNF427VaKbRJo LahIb/Ika8dml2jOp8dgxXiC1be3NXYYg+/eIYsOh/i8lRri9SYC3ZTtsfSD8bjetQ/i 9ag6WzZZRRgf6KazmsRr8mAwx79hW4ko0+2lkVEcm158EjSc4la1mlmoPjkXj9NNy5/l HYK4IPLqi3EQEaOtE5x+4vOw9BTaTMmYxyiiTzaS1wHwdGRRwUf2hpw98/jkVQVxGIfX hMPA== X-Gm-Message-State: AGi0PuYVsGZ7Uf+T/MPMc+EoXsuuGzkHYP3DZSkJkEEVsiRJQ1KVsXvN bRGecu5gUruQGv1NE0E3Qq+tsw== X-Received: by 2002:adf:a48d:: with SMTP id g13mr11235534wrb.38.1585941117105; Fri, 03 Apr 2020 12:11:57 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s66sm12965448wme.40.2020.04.03.12.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:53 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id F39E41FF90; Fri, 3 Apr 2020 20:11:50 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 04/12] linux-user: more debug for init_guest_space Date: Fri, 3 Apr 2020 20:11:42 +0100 Message-Id: <20200403191150.863-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Searching for memory space can cause problems so lets extend the CPU_LOG_PAGE output so you can watch init_guest_space fail to allocate memory. A more involved fix is actually required to make this function play nicely with the large guard pages the sanitiser likes to use. Signed-off-by: Alex Bennée Reviewed-by: Laurent Vivier --- linux-user/elfload.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -- 2.20.1 Reviewed-by: Philippe Mathieu-Daudé diff --git a/linux-user/elfload.c b/linux-user/elfload.c index 8198be04460..619c054cc48 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -2172,6 +2172,8 @@ unsigned long init_guest_space(unsigned long host_start, /* Check to see if the address is valid. */ if (host_start && real_start != current_start) { + qemu_log_mask(CPU_LOG_PAGE, "invalid %lx && %lx != %lx\n", + host_start, real_start, current_start); goto try_again; } @@ -2240,7 +2242,11 @@ unsigned long init_guest_space(unsigned long host_start, * probably a bad strategy if not, which means we got here * because of trouble with ARM commpage setup. */ - munmap((void *)real_start, real_size); + if (munmap((void *)real_start, real_size) != 0) { + error_report("%s: failed to unmap %lx:%lx (%s)", __func__, + real_start, real_size, strerror(errno)); + abort(); + } current_start += align; if (host_start == current_start) { /* Theoretically possible if host doesn't have any suitably From patchwork Fri Apr 3 19:11:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185182 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp915897ilr; Fri, 3 Apr 2020 12:14:33 -0700 (PDT) X-Google-Smtp-Source: APiQypKqsrLlLbjEXZ/Lo36HVAhsjx9ra2kabbiX0oLsVeQcOpR1g7mMrizGJAB46Co1Xq6Oc89t X-Received: by 2002:aed:3c42:: with SMTP id u2mr9944801qte.162.1585941272990; Fri, 03 Apr 2020 12:14:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941272; cv=none; d=google.com; s=arc-20160816; b=yRV2PUveaSHNwMdj4mRNgEflyghkMqrtI9WWv/gAUR0mFbM0IMVfv919kwGWpAhqsl 0fmqqEE3n7ocr+S6SS9AhzbOCRFYIGZPIa0TircouHVuz49+/YX55jYPliZeQrS+eZl1 HK3xwLXaRoj/pxHPHjEJtS3LE7ewivpKV2b4XSC1q8VQk3UR4ZgLbEb51RvMW4zTV0Ss g7dY9AUfsJawxZ4VIEaZYfKjViF9WwFT9cBui4sFjQivy61DwcbLRcjKCtCw4/aRz66d IokzMNLdvHcwGZtbE5nrxKbl6/kIeDf3lfMl7eqZHhiFV1cl+TxLmdsnQ9qVb1GGYCh6 eKGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=zezcqVbZAh673hmos+bKgDlwDb2CfDg/on9jJSHU3kk=; b=awqCGwDcaz3GS+Kop7hBFunitYuQ5FhJrUHPH+VdnrjuphgFLwOKifx5z6CA0Dyvy3 O6FoXKI7yQA81D6gF3tWzo0/M6irx5YzdYAZuSPc+dJTKWpRWxTkrEcSJMiGeDExO5Zy 4U1kjTR4j5lLkfyAlQDRs1UZ/F5liWnY4kVfGxLNJgregi3r0cho1ANHof2D/LOOn0na FlSYZ3ufHHdDNcxk0ZJXVZNjuEguvYxX2749ez69CgI/LN3kXzc6StBucvPdMqHiB19y AUT2WZsQjeHVT1nvvupWnJKuwGxvkyzsQs52eK+EkNO9Ykt0M7NXKlt2YgHRabxVzALZ pU4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=lA285D1R; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id f28si6409142qtm.213.2020.04.03.12.14.32 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:14:32 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=lA285D1R; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60150 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRlw-0006tI-H8 for patch@linaro.org; Fri, 03 Apr 2020 15:14:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40704) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjX-0003M8-Mx for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjV-0002HW-IX for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:03 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:42225) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjV-0002Cn-9G for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:01 -0400 Received: by mail-wr1-x443.google.com with SMTP id h15so9786703wrx.9 for ; Fri, 03 Apr 2020 12:12:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=zezcqVbZAh673hmos+bKgDlwDb2CfDg/on9jJSHU3kk=; b=lA285D1Rg7ucY/Doq8MaiRAqRmiAK+itnW0AIVnEylfZBeaiigq+/DF8zs1RJp+Knf wwnAy0h8YjSi3hVoJNkkZeG7YL+JU3Up8cEPukEOKiG7gzXt3OpYkhtubG/mF83rQx0R RgHPIcrehW9jnUGtLgdwoA07RYoGN+XcJYXGzH0vp0WxGV7EHHBOJ4fIej7Tvqs24a4Y 5EaDRSiGRGIA4NhVfaNUpaGBTwLHTqxlYzbM0RT/axbtzCR8CxwCIrDq2SfTLVI3W68z xmmVuofaaEHATkYqwVr2rZtFy/+lz3SsnH1jo9EP6HBURCxD7+zWdSVF/mA8HTYvAAI7 ij1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zezcqVbZAh673hmos+bKgDlwDb2CfDg/on9jJSHU3kk=; b=GWNS3xz5WOh52x61+bbgoenf50arCnXZsyXREgigwgK+3HuM07Dc8D+e1aNNZPltwf Pz5qQRobS4/U1nbptXsiIOBMH4CxlWYfkXUyR2fUc9vynNJ4SV0gdS9NGVW1ctQEqzS4 L6+a8FZiw6Wc9+C9ZphGdWfMIOHPNemqg3e2vJcFJ9Ra65BB/IV/C0u5xH8rY3XRDLoq r5f/ZAzxEOnaxiWdnQ3/F783Fa/OAW4kNkvjeq0tfTfBcpFGbi57ZA1KFgSrcEljMGNP yFPl+OZGIgcMU5S5DnHe1YO2r1sKaYRLQpQIBIAUErmHpdvNxdl9nDjxQ+fVpOeZvdot CUuA== X-Gm-Message-State: AGi0PuZlbL50dKC5jbmTWiDDC/PJtSDm0+tckaIDc5rGPoCu6IChTOXK 0bUdbxOI73pGzNT7FGp1p9Bpmg== X-Received: by 2002:adf:fd44:: with SMTP id h4mr10663153wrs.177.1585941119262; Fri, 03 Apr 2020 12:11:59 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id f62sm12170207wmf.44.2020.04.03.12.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:55 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 1AB1D1FF91; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 05/12] target/xtensa: add FIXME for translation memory leak Date: Fri, 3 Apr 2020 20:11:43 +0100 Message-Id: <20200403191150.863-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Dynamically allocating a new structure within the DisasContext can potentially leak as we can longjmp out of the translation loop (see test_phys_mem). The proper fix would be to use static allocation within the DisasContext but as the Xtensa translator imports it's code from elsewhere I leave that as an exercise for the maintainer. Signed-off-by: Alex Bennée Acked-by: Max Filippov --- target/xtensa/translate.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.20.1 diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c index 8aa972cafdf..37f65b1f030 100644 --- a/target/xtensa/translate.c +++ b/target/xtensa/translate.c @@ -1174,6 +1174,11 @@ static void xtensa_tr_init_disas_context(DisasContextBase *dcbase, dc->callinc = ((tb_flags & XTENSA_TBFLAG_CALLINC_MASK) >> XTENSA_TBFLAG_CALLINC_SHIFT); + /* + * FIXME: This will leak when a failed instruction load or similar + * event causes us to longjump out of the translation loop and + * hence not clean-up in xtensa_tr_tb_stop + */ if (dc->config->isa) { dc->insnbuf = xtensa_insnbuf_alloc(dc->config->isa); dc->slotbuf = xtensa_insnbuf_alloc(dc->config->isa); From patchwork Fri Apr 3 19:11:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185186 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp918846ilr; Fri, 3 Apr 2020 12:17:17 -0700 (PDT) X-Google-Smtp-Source: APiQypJYETMbWqMBToUPoUEa3KabM1cndVc+kYRp5Ez3+OO/NL/6YrgtHWOZ1DUVytTp4swtG+At X-Received: by 2002:ac8:340d:: with SMTP id u13mr9893432qtb.235.1585941437421; Fri, 03 Apr 2020 12:17:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941437; cv=none; d=google.com; s=arc-20160816; b=l9oocxqeWBYoXFj7CF0cSWC+PZIBYwEKJyCg+VlK7nep6uYNAWEGWzUB6V7AcrIVDG oF5VYuKWNQfiSb/UqcEezX1bIAhkp7SaHnGlb1UUNkUnO1oOBC5uDCA4GzhquM9SrmGb RuO2dhaqE9jCkmVYLhi/htE115tE4gN8I51qUR/0PBmYw9F9pC3YZN8r1Hbguxb7MpBf JxXkhVUXi1UXuJqH2Vrk+afneVGocnURr92BOSqt0P5ZR7GUA2VnJM7FtNWOLDG0Bf9y j7VFhGX6O6YYeqt71QuPIW87XX/XBKTegSF9+dfk8S5BtWaBZSVxfJBs2SovGKl9RsyT ZFTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=IiHiPfqSf5RxTYVWG0ZPN64iJbsFrXxtKKLhTgnCXm4=; b=0T7CeYt9gPmtxv8T34hurSONykS0b75vVwMApUUuYt2iwNSKTNzrKW+772sOFvWSX0 Ie/VzkuJPOG0UBDWH3wXW4rM6bya2sPXPU8vJkVul4p/vqM9+JF3hXh+xvxMSkvP8XIm JmoMaBZSsOuH73Q53nNF6CKlRvcp3zWVQV9pwLnwC5q5bssjHdBLAvOxs2HWlRwyehyq UYZYbN4RIxTew0xQpJScAOLjhGsWGEu4o71F8tIgBaN9rExHTF3O48PDvgly3Nmv8niy KHnN8r4THO7pUIMaSZ7ciSwMpq28+ke85vjHy1JPkWcRJEVGQuLqOYRNLEwibNNCbmix uuRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=vNCHrUh1; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 7si6278675qkm.185.2020.04.03.12.17.17 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:17:17 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=vNCHrUh1; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRoa-0002Kw-UL for patch@linaro.org; Fri, 03 Apr 2020 15:17:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40578) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjV-0003Jp-Mx for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjT-0002CF-H9 for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:01 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:38124) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjT-00029U-AA for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:11:59 -0400 Received: by mail-wm1-x329.google.com with SMTP id f6so8896975wmj.3 for ; Fri, 03 Apr 2020 12:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=IiHiPfqSf5RxTYVWG0ZPN64iJbsFrXxtKKLhTgnCXm4=; b=vNCHrUh14ftnala+hX/PRVKkCzQAHERXu+tCmyveg8c0F7d0dGozNsXPo6JHZz2CJO LQyMmzrwElE8jJthxbUrDD2FpUJ/e46imTp+nQxzxPaPuqJUMvHrgnBu6vWnIYJ7Sp0J y63xaCmLCrd902cr4slNIll7r6PprV76R2BXW7X/AA58aRKBDb9QDB5WfEeoYiSvWwsa g14noLR3rwfvn1uahOsr6bE3KT9t506Vzc8jzJOyQsMJQusq2MAcFHMAf3uxtGOEn8O8 72j1M3++YAY1qINpwWFOsIgnQFoR12ycrqwylW+zURJ0iqDEV8LELcWA8CWRZXxMw1At Tsrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=IiHiPfqSf5RxTYVWG0ZPN64iJbsFrXxtKKLhTgnCXm4=; b=cA9VqL+QYWbdFpsfDJZ6UooJ2263svFwMAuwxGN+wvPKJ+PlKL0V24jxvgjFu74h0t XV71u6Nz40GQFEvnv8D9lhPS1hx8MCyJHTgQ3a17NIAmA8YT+4auQ/HXVao3DDyoKxbR FfOewYXFfKRXDwMj+DRNXf3+EiJzGiKVR/0OLvtUaA4I9iSQbjvAvh8d5j/CYEokvhMx qDLF2d1h6470B6sK8B8yK4n+f8HusHTvj019gr6/YbeDzM78gUX29U81zPTZI7nDbuP2 N8bD+yctL5NVYDn5l/NiQkxwaK4l+M0+B1Zq+RsfoZqDAoC73XoaeVJJnGtIx0GeBaiN Se/g== X-Gm-Message-State: AGi0PubmZSlGQZWSS3Ym+Tb9jVOXDzLtG/gS6PyoJteqP+NagI9LxYj8 +hurQOKIij/zd0/tGAARFKUwfQ== X-Received: by 2002:a05:600c:218d:: with SMTP id e13mr10084372wme.148.1585941118248; Fri, 03 Apr 2020 12:11:58 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id t11sm12997902wru.69.2020.04.03.12.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:55 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 31BAA1FF92; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 06/12] gdbstub: fix compiler complaining Date: Fri, 3 Apr 2020 20:11:44 +0100 Message-Id: <20200403191150.863-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::329 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson , Denis Plotnikov , Euler Robot , Chen Qun , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Denis Plotnikov ./gdbstub.c: In function ‘handle_query_thread_extra’: /usr/include/glib-2.0/glib/glib-autocleanups.h:28:10: error: ‘cpu_name’ may be used uninitialized in this function [-Werror=maybe-uninitialized] g_free (*pp); ^ ./gdbstub.c:2063:26: note: ‘cpu_name’ was declared here g_autofree char *cpu_name; ^ cc1: all warnings being treated as errors Signed-off-by: Denis Plotnikov Message-Id: <20200326151407.25046-1-dplotnikov@virtuozzo.com> Reported-by: Euler Robot Reported-by: Chen Qun Reviewed-by: Richard Henderson Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé --- gdbstub.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.20.1 Reviewed-by: Miroslav Rezanina diff --git a/gdbstub.c b/gdbstub.c index 013fb1ac0f1..171e1509509 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -2060,8 +2060,8 @@ static void handle_query_thread_extra(GdbCmdContext *gdb_ctx, void *user_ctx) /* Print the CPU model and name in multiprocess mode */ ObjectClass *oc = object_get_class(OBJECT(cpu)); const char *cpu_model = object_class_get_name(oc); - g_autofree char *cpu_name; - cpu_name = object_get_canonical_path_component(OBJECT(cpu)); + g_autofree char *cpu_name = + object_get_canonical_path_component(OBJECT(cpu)); g_string_printf(rs, "%s %s [%s]", cpu_model, cpu_name, cpu->halted ? "halted " : "running"); } else { From patchwork Fri Apr 3 19:11:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185183 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp917994ilr; Fri, 3 Apr 2020 12:16:34 -0700 (PDT) X-Google-Smtp-Source: APiQypI6BNIfkCtFjDdJebaPXh02MI5eFSdTP5H2TvOtkEHQisTUHoJ7irmhE6YRl3YJ//uTgzQp X-Received: by 2002:a0c:a284:: with SMTP id g4mr9690547qva.131.1585941394110; Fri, 03 Apr 2020 12:16:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941394; cv=none; d=google.com; s=arc-20160816; b=aJrN+pbVg0OrOmpYEsdmBs8lMgt4AOicCgtHbECDS+AOGz9FLQX862gaUPzHmem9Al elPTlrdrPWzEwFbcG4dSe1jtamcw8C9ssYY11VAqr+P2AcIMWh71dALG+OKiVbx9CkVc beFHI4DgyH20b05Knno7hJ7RbIH2V3V8RHDD+Yyqx91RHPSYGnULQnanKgAJks8lKajb iVBzKAM8YOl4JdtWdl9VZDAXlfER4xMhqSPSeTQrh2G3SsQmT2M1cpBgXLqM8ZizMiU3 ZkvD1ON0d7VOz1uHNYBrrCnUFKoLmc1ohaj02dyPBOPPv3/QjhNA4VUbN/s2AjYgAdM8 0ciQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=g9xr3EL2jz3uIXqebGO8vaQXLJoFQmUrqrOGsA7SE/w=; b=jH9B7ZZoIOTUJbvX2KQEgkm2uGsJ1KweMQCTLdhlyye/OSkSLqXgnSyrw8bfWXZYAF rEh/vVk4x9DVWafxZTh8GU2CFHE6iSHWmDMOji5h63DksZRxx1QPsECg7PjUhZPWb9bA +fF78wTX1MrtWELTXSU/3A3tSeWrE5pBzZKzBIo7Jv3VeiTI5Mj4gxYlYsUkhmzXCnXD M22Hg3gUV/0DyGpxb1Q8pp7Fh0UQEXePpnn6u7QnmnbxtOXEl/n2F7CVtS5CSCAS0spL 3CSx8DFLu2Us0I+Z83cZ/MVtbhH1OIbYI5VfzdSI2eYnhYIuqxhN+M96p51UZB4g3/4M Yelw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=GFsnxyyn; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id x188si6109145qka.54.2020.04.03.12.16.34 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:16:34 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=GFsnxyyn; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60200 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRnt-0001hA-JR for patch@linaro.org; Fri, 03 Apr 2020 15:16:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40648) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjW-0003KN-RV for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjV-0002Ig-TK for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:02 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:39789) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjV-0002Ft-Lm for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:01 -0400 Received: by mail-wm1-x344.google.com with SMTP id e9so8904731wme.4 for ; Fri, 03 Apr 2020 12:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g9xr3EL2jz3uIXqebGO8vaQXLJoFQmUrqrOGsA7SE/w=; b=GFsnxyynZgCjj4EsqktcZg00qrQza5SzQnhyq35gTpDDp9JcA/qzzP/vF18KaaWtMz BawuEpgGWs3FpP9bqoFqrwV+8LbHvhXEoVLAMBmmTNQbPajmknXUrZKkqW1jTw71KhuO dye6UMd7V68jHP9snRtylzp8TqtUU5z4cBt3ZavcrWnEC6+XSviEwyF38TmWJv18BrDp +S3Oa0YaGTtzutFl3RhiBqQ+AY6kpDLJP8vT1O5BpDK9L1CNWQvJhF5SxgRaeH7L/ac0 kDs9yH5ZH8ceh9eGCQTGZVB4p629NbOFWbNPe8xuUbfRFo8xtl6wVPZI1v06XsW+rnKS f5ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=g9xr3EL2jz3uIXqebGO8vaQXLJoFQmUrqrOGsA7SE/w=; b=XRxk0tygvnh6yB0Xrp1J2A5fNne+UbBWygnwttw+HdH4986biaY4FQ0uVSR5HFeR1x Av97vrL9gI69e7BBJ+qAGM5FyHp9J2Ne5LD3Txk8GsfYTiQpoWpnYmo2pPYARfkB4Qsh OOzPU8hQ6wgcUxTa8lHtjFIFuWDENwa++WTm4OLPTNYZj29vr0+qJtVto0diLw//cA+0 0R6+Qzm70rzqRJqNBsTNSLF+FrFkxZZTF/nCdAHgE2xk2KlXQlJ76wfo2YjKUcqvlzOV J1/Y0xruf2k8NVr24MkNb2u7mQLelRJQZRuPYvEbIu0oQqCm8hg5aGHfKJFTYGqwbmHr ehCA== X-Gm-Message-State: AGi0PuZUjzyTD4N/DKrjzLxNlCYzKeiSu8TV8973yViJSZYRlDAqJEW+ pvY/56dyCp6h/CMc81cqbZcm6Q== X-Received: by 2002:a1c:4e11:: with SMTP id g17mr10422549wmh.80.1585941120598; Fri, 03 Apr 2020 12:12:00 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id a13sm598120wrn.27.2020.04.03.12.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:57 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 4886D1FF93; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 07/12] softfloat: Fix BAD_SHIFT from normalizeFloatx80Subnormal Date: Fri, 3 Apr 2020 20:11:45 +0100 Message-Id: <20200403191150.863-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson , Aurelien Jarno , Peter Maydell Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson All other calls to normalize*Subnormal detect zero input before the call -- this is the only outlier. This case can happen with +0.0 + +0.0 = +0.0 or -0.0 + -0.0 = -0.0, so return a zero of the correct sign. Reported-by: Coverity (CID 1421991) Signed-off-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20200327232042.10008-1-richard.henderson@linaro.org> --- fpu/softfloat.c | 3 +++ 1 file changed, 3 insertions(+) -- 2.20.1 diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 301ce3b537b..ae6ba718540 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -5856,6 +5856,9 @@ static floatx80 addFloatx80Sigs(floatx80 a, floatx80 b, flag zSign, zSig1 = 0; zSig0 = aSig + bSig; if ( aExp == 0 ) { + if (zSig0 == 0) { + return packFloatx80(zSign, 0, 0); + } normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 ); goto roundAndPack; } From patchwork Fri Apr 3 19:11:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185187 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp920001ilr; Fri, 3 Apr 2020 12:18:27 -0700 (PDT) X-Google-Smtp-Source: APiQypJCLVob8g/uAaVZbCxxy+1T8NVKj+ylHI57TVTGttTl3Gf/4JYLOXRPLCaQtnx+hoc2YAc/ X-Received: by 2002:a37:e318:: with SMTP id y24mr10571639qki.39.1585941507722; Fri, 03 Apr 2020 12:18:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941507; cv=none; d=google.com; s=arc-20160816; b=i9ImX5qCCURsHK8AAdxdYQlZBEyrDN2LmfO9FysdCEZop5mgB8pfQ2Z445NxruU+xy bGs1NyaT/76bM2mrUXEmH1CHzMsf4dtf2ajXnIGK2Yskoiq9IG2+CevpRklxJwli07xW gGbQDtPE5u01ActYxCdznNWNfFYQ/5aElR2JmbZ17DFw8LvaywNExVEjIFHStXbbltcI 0SLRhnAk0etB7wZi5iP/0FJjl2FOWcJUcCSiJV7QQPkH5Ep9r8nyyoNJ+8Vu/ewAPS3d 6gWIMcXpFB8JkZv0rLPeMaW2LWNu7OdOxZUV9ETg9y/Og24MYVcZXEfRSzBbo63mUR14 F21Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=DQHtt4SCEmnNGJRjmTOgUWPksbgm0tCqnL6/z7xrXlo=; b=cgv4wT7DJnCPemYu2p1vFuSZhXmLbiU14Pr/awteAhzPtVtOu+XntMrNI9o2fJUhuM fsue4+5WCBRRdQTDJFK9DxiRa76ROOxWwSEcpxAIriXfPi2sBJrkpPseNv65mwAQGp4Q N/1oE1kHE1+8FhuJFZNaMsURzzEMKzr1xOeSSQxzCAJAm0qBLylTrAKFDf9hu5Dor7OH +O441xgtTB8kyU4/Imq+8o5hj7fiGLg5+zxL694HdnaYQybF7R5sjL/IC8AFc8jumxzp gnpyyPzKoLmlbl/M6uLqFrtbazkx3HMvM32HPtUWYu3XjcFTcV1UjPXBnmRt0GLBIgab QjMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=FrXp8cJk; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k26si6116993qkj.242.2020.04.03.12.18.27 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:18:27 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=FrXp8cJk; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60242 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRpj-0003x5-6E for patch@linaro.org; Fri, 03 Apr 2020 15:18:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40740) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjY-0003O7-Hr for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjW-0002M9-VG for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:04 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:36136) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjW-0002Ir-LB for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:02 -0400 Received: by mail-wr1-x443.google.com with SMTP id k1so386448wrm.3 for ; Fri, 03 Apr 2020 12:12:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DQHtt4SCEmnNGJRjmTOgUWPksbgm0tCqnL6/z7xrXlo=; b=FrXp8cJk0jkbd76O4lmqq6FtWFs19W9KdWxGOHmkqJAceS6srTsPEt2ylJiL9MB7L/ HHGdH8W/BkcqF+TmRm1N6k24FCOJhGLy6P87WW57DKyx0XpykmnS8vRO/EFgMUE6i0hD Z3klBJQTjevHMpNILrpHOgUIJrYcuIkZJLrudX7EOlT+RMTYOQ23u9v1PJVS4VtyIlc/ xDFfQDJdZiIL6qpYG91Se/rjRNSUwOeS5vDjd/jltQZBwk9lziBu+eqGq9qk1kYMvxVV BayRvZrEIgVFbvNFv885oxAliAcyw3F8KOhRumTpC4SlMCCLQpsiVAoQHaICKuJ/ePy1 Aftg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DQHtt4SCEmnNGJRjmTOgUWPksbgm0tCqnL6/z7xrXlo=; b=Zfr7MIEbnyiRgqMUYJtErkJyNz9T1VVAoMtFY1FXhJB1U/n8BKsc+6YRp3XeF2mEOE sGCYoA1mk+vSCgrKKa4OKtNN1OJtL7WGf6fN+1uyvYKGKfwq2CEXF/WfmWh7cku7ZLJC zOqdsE+Z/901ecRpwbspEOVN1zxOKnS2V1QPlt3CZpjl/Qu0UtN65VKNop+9L0pjoogz B3/hXPoT//Tjn6STteoDnzcZU3E6UlT5XITmCcIV+AVD5pLlzFyLdt3eRGzLpLo1bV1J m7nqntNIJQWPxomTOTVijN4Yc9LqceoGiR0WO1iDs6EZqvQkBLsL9j1Un05gQ0NIq0NM xJnA== X-Gm-Message-State: AGi0Pubt2L8gA0/C3UgQXemYFyWfYYBqxBrlydFPGy4H6Zwzghb5jkI9 zerEb1LUlgKrN1oKq0I2pFHUeQ== X-Received: by 2002:adf:f401:: with SMTP id g1mr10172141wro.140.1585941121628; Fri, 03 Apr 2020 12:12:01 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id q9sm14726320wrp.84.2020.04.03.12.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:57 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 648381FF96; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 08/12] linux-user: factor out reading of /proc/self/maps Date: Fri, 3 Apr 2020 20:11:46 +0100 Message-Id: <20200403191150.863-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::443 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Unfortunately reading /proc/self/maps is still considered the gold standard for a process finding out about it's own memory layout. As we will want this data in other contexts soon factor out the code to read and parse the data. Rather than just blindly copying the existing sscanf based code we use a more modern glib version of the parsing code to make a more general purpose map structure. Signed-off-by: Alex Bennée --- v2 - s/uint64_t/unsigned long/ for MapInfo structure - limit to 6 fields and strip leading spaces --- include/qemu/selfmap.h | 44 ++++++++++++++++++++++++ linux-user/syscall.c | 58 +++++++++++++++---------------- util/selfmap.c | 77 ++++++++++++++++++++++++++++++++++++++++++ util/Makefile.objs | 1 + 4 files changed, 150 insertions(+), 30 deletions(-) create mode 100644 include/qemu/selfmap.h create mode 100644 util/selfmap.c -- 2.20.1 diff --git a/include/qemu/selfmap.h b/include/qemu/selfmap.h new file mode 100644 index 00000000000..302c459d695 --- /dev/null +++ b/include/qemu/selfmap.h @@ -0,0 +1,44 @@ +/* + * Utility functions to read our own memory map + * + * Copyright (c) 2020 Linaro Ltd + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef _SELFMAP_H_ +#define _SELFMAP_H_ + +typedef struct { + unsigned long start; + unsigned long end; + + /* flags */ + bool is_read; + bool is_write; + bool is_exec; + bool is_priv; + + unsigned long offset; + gchar *dev; + int inode; + gchar *path; +} MapInfo; + + +/** + * read_self_maps: + * + * Read /proc/self/maps and return a list of MapInfo structures. + */ +GSList *read_self_maps(void); + +/** + * free_self_maps: + * @info: a GSlist + * + * Free a list of MapInfo structures. + */ +void free_self_maps(GSList *info); + +#endif /* _SELFMAP_H_ */ diff --git a/linux-user/syscall.c b/linux-user/syscall.c index b679bc6b136..666be20f3ff 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -117,6 +117,7 @@ #include "qemu.h" #include "qemu/guest-random.h" +#include "qemu/selfmap.h" #include "user/syscall-trace.h" #include "qapi/error.h" #include "fd-trans.h" @@ -7232,45 +7233,45 @@ static int open_self_maps(void *cpu_env, int fd) { CPUState *cpu = env_cpu((CPUArchState *)cpu_env); TaskState *ts = cpu->opaque; - FILE *fp; - char *line = NULL; - size_t len = 0; - ssize_t read; + GSList *map_info = read_self_maps(); + GSList *s; - fp = fopen("/proc/self/maps", "r"); - if (fp == NULL) { - return -1; - } + for (s = map_info; s; s = g_slist_next(s)) { + MapInfo *e = (MapInfo *) s->data; - while ((read = getline(&line, &len, fp)) != -1) { - int fields, dev_maj, dev_min, inode; - uint64_t min, max, offset; - char flag_r, flag_w, flag_x, flag_p; - char path[512] = ""; - fields = sscanf(line, "%"PRIx64"-%"PRIx64" %c%c%c%c %"PRIx64" %x:%x %d" - " %512s", &min, &max, &flag_r, &flag_w, &flag_x, - &flag_p, &offset, &dev_maj, &dev_min, &inode, path); - - if ((fields < 10) || (fields > 11)) { - continue; - } - if (h2g_valid(min)) { + if (h2g_valid(e->start)) { + unsigned long min = e->start; + unsigned long max = e->end; int flags = page_get_flags(h2g(min)); - max = h2g_valid(max - 1) ? max : (uintptr_t)g2h(GUEST_ADDR_MAX) + 1; + const char *path; + + max = h2g_valid(max - 1) ? + max : (uintptr_t) g2h(GUEST_ADDR_MAX) + 1; + if (page_check_range(h2g(min), max - min, flags) == -1) { continue; } + if (h2g(min) == ts->info->stack_limit) { - pstrcpy(path, sizeof(path), " [stack]"); + path = " [stack]"; + } else { + path = e->path; } + dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr - " %c%c%c%c %08" PRIx64 " %02x:%02x %d %s%s\n", - h2g(min), h2g(max - 1) + 1, flag_r, flag_w, - flag_x, flag_p, offset, dev_maj, dev_min, inode, - path[0] ? " " : "", path); + " %c%c%c%c %08" PRIx64 " %s %d %s%s\n", + h2g(min), h2g(max - 1) + 1, + e->is_read ? 'r' : '-', + e->is_write ? 'w' : '-', + e->is_exec ? 'x' : '-', + e->is_priv ? 'p' : '-', + (uint64_t) e->offset, e->dev, e->inode, + path ? " " : "", path ? path : ""); } } + free_self_maps(map_info); + #ifdef TARGET_VSYSCALL_PAGE /* * We only support execution from the vsyscall page. @@ -7281,9 +7282,6 @@ static int open_self_maps(void *cpu_env, int fd) TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE); #endif - free(line); - fclose(fp); - return 0; } diff --git a/util/selfmap.c b/util/selfmap.c new file mode 100644 index 00000000000..15d0acdb437 --- /dev/null +++ b/util/selfmap.c @@ -0,0 +1,77 @@ +/* + * Utility function to get QEMU's own process map + * + * Copyright (c) 2020 Linaro Ltd + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/cutils.h" +#include "qemu/selfmap.h" + +GSList *read_self_maps(void) +{ + gchar *maps; + GSList *map_info = NULL; + + if (g_file_get_contents("/proc/self/maps", &maps, NULL, NULL)) { + gchar **lines = g_strsplit(maps, "\n", 0); + int i, entries = g_strv_length(lines); + + for (i = 0; i < entries; i++) { + gchar **fields = g_strsplit(lines[i], " ", 6); + if (g_strv_length(fields) > 4) { + MapInfo *e = g_new0(MapInfo, 1); + int errors; + const char *end; + + errors = qemu_strtoul(fields[0], &end, 16, &e->start); + errors += qemu_strtoul(end + 1, NULL, 16, &e->end); + + e->is_read = fields[1][0] == 'r' ? true : false; + e->is_write = fields[1][1] == 'w' ? true : false; + e->is_exec = fields[1][2] == 'x' ? true : false; + e->is_priv = fields[1][3] == 'p' ? true : false; + + errors += qemu_strtoul(fields[2], NULL, 16, &e->offset); + e->dev = g_strdup(fields[3]); + errors += qemu_strtoi(fields[4], NULL, 10, &e->inode); + + /* + * The last field may have leading spaces which we + * need to strip. + */ + if (g_strv_length(fields) == 6) { + e->path = g_strdup(g_strchug(fields[5])); + } + map_info = g_slist_prepend(map_info, e); + } + + g_strfreev(fields); + } + g_strfreev(lines); + g_free(maps); + } + + /* ensure the map data is in the same order we collected it */ + return g_slist_reverse(map_info); +} + +/** + * free_self_maps: + * @info: a GSlist + * + * Free a list of MapInfo structures. + */ +static void free_info(gpointer data) +{ + MapInfo *e = (MapInfo *) data; + g_free(e->dev); + g_free(e->path); +} + +void free_self_maps(GSList *info) +{ + g_slist_free_full(info, &free_info); +} diff --git a/util/Makefile.objs b/util/Makefile.objs index 6718a38b616..fe339c2636b 100644 --- a/util/Makefile.objs +++ b/util/Makefile.objs @@ -63,3 +63,4 @@ util-obj-y += guest-random.o util-obj-$(CONFIG_GIO) += dbus.o dbus.o-cflags = $(GIO_CFLAGS) dbus.o-libs = $(GIO_LIBS) +util-obj-$(CONFIG_USER_ONLY) += selfmap.o From patchwork Fri Apr 3 19:11:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185188 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp920602ilr; Fri, 3 Apr 2020 12:19:08 -0700 (PDT) X-Google-Smtp-Source: APiQypLoRt2RWqbgh3itNO5ylXwPqpnULYWEac8htHikrWKgmibF7XMtey1UEbh/0zqGDNA4G6Ug X-Received: by 2002:ac8:7316:: with SMTP id x22mr10466966qto.4.1585941547899; Fri, 03 Apr 2020 12:19:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941547; cv=none; d=google.com; s=arc-20160816; b=U6vVuVJ/D0C4MoR6/J0A5cV002Np7r+5tfVgHiIckJBVA3vsGtW2x3YHR5tAJHebz1 Q/rFwvOIG3FTVdKTKAtbYzds3Btk/niA3aEislRyLawxUxVahRNEs9Fs1PadIDCSVkZe saR/ovKMx27j4jZQNdkYPoYFQRzyUDQoY1gVCL3r3l5uMt3+E7CiRxku5FKhhzte6Bo5 SrPiR3HuN+rAf71ap8aAHg9WK4D8A9CA1iVYyE+MC0ychz+wP0fgbhDor8rD0peVRKA7 XDDHPh0fBmK0OaPXP5Nt1dduzgiq/s5yYkVX4X234LTvjoLa/Tm4WWZy+z0R+0u8XxD1 pQVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=jGuKGm7KMOs2UN9ivTUYCq92gardKrGXU32VGXhYNDc=; b=YvMochgZdTbgG5Dubsmgp69q+9Yn/B7NsVXJGXtH8R71VpEgKysEWaDp6q+3weduNg 83NI0hEuytwr7kKvou9Sx/J9/bleWbL3itRgWyeCj4B3RBTVF49t06B+MD4NGO79G5Jm dMHgjKBKmRhRv49mlMxKSLPBLjDGZmqsgPGn3iImVYB3Ta7Zvx9IYUV+m9z1qp9kfr76 T0ko7+wVGW2YhJizFybpWm6yPFiQEsgK4WZemW6n0Fg7+LIF2Ts7whA7i62bkezIBZea +o+d+IkDN5SfXugjPuVztirsg6dW42y0HoZDgl/ImfKKVIX23V8kIbiY1ztIvuUckYNQ CyMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=O7iku8HT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 9si5985655qte.22.2020.04.03.12.19.07 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:19:07 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=O7iku8HT; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60256 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRqM-0004RQ-Cp for patch@linaro.org; Fri, 03 Apr 2020 15:19:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40773) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRja-0003QP-Co for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjY-0002PD-8h for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:05 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:33624) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjY-0002NB-2D for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:04 -0400 Received: by mail-wm1-x344.google.com with SMTP id z14so2825266wmf.0 for ; Fri, 03 Apr 2020 12:12:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jGuKGm7KMOs2UN9ivTUYCq92gardKrGXU32VGXhYNDc=; b=O7iku8HTg3uKAe/7dfvlzcFGD08ng6bKMt4MS8drysmkTsZl/4npYNDV61AApVDTj6 6CTljDUwfUB5MRyKOXBzGRfnLAAz3Nejn9KiiFTybxx+72uR2UkTtHhW5k969/6ytgne h824DPW6+d3EXrNMdxVnSNrgTtQ+6tAzTQnT+dfBxfWeSWtR/XcxdtIBwK5PGcm7sh9D ubeL7kShk9qqGbDPUM9tZagn6EFXqIAqSvX/c/s64m4jSlf6DAAyo06D+KUEO9488zgv ibnRnlUXi8M0cMYCMR+ONqdyD9/EJTnfhfr/kh9P2ijvXys1McSZgWL667DsKnMPhUvd EiDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jGuKGm7KMOs2UN9ivTUYCq92gardKrGXU32VGXhYNDc=; b=JdLyk5jaxX5Spc2Gi1JT5fdCgjKCj2FcDgFy/sJdRkvCTPl2PD03xt9Jrjrt8YdNrw o+7foC+auPTSkC2X3rluIJcI5zIBjT+wlzIMAYBiW8PnRoBPXruRhMwp5rzQJBtgOUxK eWvQ8xuIw8UCRfjWO4aqGJY+KrhBi6gEk5VithyNlQeDMM+1xAw/SdQeHWPTnyUWacug TPJxTCesY4jk7h7ewrkP+n97BCzMeFW8QQ4u8rvqeBVXJWy9s5OM7ltEtPDCVo/xXg/9 Vi8MVqv+6k0Gdjeq2xG7C/PQTOTh6Rhv5Kr4yflbO4QVEjvwNeXUvA0agqNo16ZXH3o7 xxPQ== X-Gm-Message-State: AGi0PuYzphuNDz0QY4lfvQubz1hA+Ve1zK5kOLwTl7W53yJmBHDyDpZ1 BnZN9xfSfftGJ4awdKblxOtOhoGkSHc= X-Received: by 2002:a1c:b356:: with SMTP id c83mr10557949wmf.10.1585941123000; Fri, 03 Apr 2020 12:12:03 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id k84sm12680120wmk.2.2020.04.03.12.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:57 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 79F271FF98; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 09/12] linux-user: clean-up padding on /proc/self/maps Date: Fri, 3 Apr 2020 20:11:47 +0100 Message-Id: <20200403191150.863-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , Riku Voipio , =?utf-8?q?Alex_Benn=C3=A9e?= , Laurent Vivier Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Don't use magic spaces, calculate the justification for the file field like the kernel does with seq_pad. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- v2 - change for unsigned long update --- linux-user/syscall.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) -- 2.20.1 diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 666be20f3ff..8a610b91402 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7235,6 +7235,7 @@ static int open_self_maps(void *cpu_env, int fd) TaskState *ts = cpu->opaque; GSList *map_info = read_self_maps(); GSList *s; + int count; for (s = map_info; s; s = g_slist_next(s)) { MapInfo *e = (MapInfo *) s->data; @@ -7253,20 +7254,24 @@ static int open_self_maps(void *cpu_env, int fd) } if (h2g(min) == ts->info->stack_limit) { - path = " [stack]"; + path = "[stack]"; } else { path = e->path; } - dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr - " %c%c%c%c %08" PRIx64 " %s %d %s%s\n", - h2g(min), h2g(max - 1) + 1, - e->is_read ? 'r' : '-', - e->is_write ? 'w' : '-', - e->is_exec ? 'x' : '-', - e->is_priv ? 'p' : '-', - (uint64_t) e->offset, e->dev, e->inode, - path ? " " : "", path ? path : ""); + count = dprintf(fd, TARGET_ABI_FMT_ptr "-" TARGET_ABI_FMT_ptr + " %c%c%c%c %08" PRIx64 " %s %d", + h2g(min), h2g(max - 1) + 1, + e->is_read ? 'r' : '-', + e->is_write ? 'w' : '-', + e->is_exec ? 'x' : '-', + e->is_priv ? 'p' : '-', + (uint64_t) e->offset, e->dev, e->inode); + if (path) { + dprintf(fd, "%*s%s\n", 73 - count, "", path); + } else { + dprintf(fd, "\n"); + } } } @@ -7277,9 +7282,10 @@ static int open_self_maps(void *cpu_env, int fd) * We only support execution from the vsyscall page. * This is as if CONFIG_LEGACY_VSYSCALL_XONLY=y from v5.3. */ - dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx - " --xp 00000000 00:00 0 [vsyscall]\n", - TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE); + count = dprintf(fd, TARGET_FMT_lx "-" TARGET_FMT_lx + " --xp 00000000 00:00 0", + TARGET_VSYSCALL_PAGE, TARGET_VSYSCALL_PAGE + TARGET_PAGE_SIZE); + dprintf(fd, "%*s%s\n", 73 - count, "", "[vsyscall]"); #endif return 0; From patchwork Fri Apr 3 19:11:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185189 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp921993ilr; Fri, 3 Apr 2020 12:20:34 -0700 (PDT) X-Google-Smtp-Source: APiQypKggu0DlU6Yy4/H57ChJt4PhGUOU6LzogI3VlYFOY3fv68ZDKiYcO0PhEDr9dO4PdrGxKWA X-Received: by 2002:a05:6214:72f:: with SMTP id c15mr9695935qvz.3.1585941634266; Fri, 03 Apr 2020 12:20:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941634; cv=none; d=google.com; s=arc-20160816; b=B6HNHJebaYsV+4pRUgg8OcHp4ykiZcqmK7LHFKPmgl7Qm7sdt+N0wU9/r+61dkro2n 8vIT0+xFxXXHsCchTUdeyz/EPZ6ZLlo5myRk6Oy6JftenijUo8Q41UY5Pq9PWc7iw1KS xFMZwmDuIMU4tEWohsj3B5g3jQcQFz6hDI7u5tz1+CsG6mg3EcAst+8hCzajTrz+FHZ0 IErb553OXoffXvYrHo1MtQIhu5hXJNCU8q+BapJ+p806SZAj0+Fq9feoGQH+b0u5kdEp BpsoLjIUiaewb/rA7O3rC1W4gC5xPHbqlytXATpT4KzDuLx23dRLGSNBurKWjr7DQnh7 hyvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=BnraU9e2QlfXAnwDnsquPq2nPEANf8Vm3M5lpPbQw3c=; b=gkSSf2+X4L2f1UwADGP1lJwkbV1d3yuEBzYaSbhtpLVEcJ/l5SKHe11U6WNid0pJy/ VsXexR1zSLA5JBM6coT1HaXozIrQY48LdLYL8vgzaUUAcWFK2GMurfILi2OzshzdxHqH rL1bl/fMXP5NL/7gJ5C6nqTgSbm06uWYd4y2qxl97LACs4bVbyWijgW48crMZv5iCH++ ugN/DRsiFWkNDXyjlbdGlcyyjFmGJGMbs9mcmvZS0k7ZA1xXVnbQQO1wbfG77DEdbOPO t8k/W/zeCGPt39tINQk/y2ozQtWJ6WfNaVbgZAXHYMvFKedgyYBvqwQ+DAtPnIuxP/EG Txjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=mnN0kuMJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id s22si5693965qve.129.2020.04.03.12.20.34 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:20:34 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=mnN0kuMJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60272 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRrl-0006A5-Os for patch@linaro.org; Fri, 03 Apr 2020 15:20:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40828) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRja-0003Sj-8N for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjZ-0002QU-8s for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:06 -0400 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:50577) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjZ-0002Pa-1g for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:05 -0400 Received: by mail-wm1-x341.google.com with SMTP id t128so8281811wma.0 for ; Fri, 03 Apr 2020 12:12:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BnraU9e2QlfXAnwDnsquPq2nPEANf8Vm3M5lpPbQw3c=; b=mnN0kuMJWeH2jNmYRvBwWcMWl9zT59HHmZ0M9fZBR3G4+3+vM5nUyBpmtYrbb2oxLd HsRLIU+P0k5W7bH3PX9QwtBqo6PQHjBQKm9imnkIlVI/fDvi/5VyDJ8UahZOVxSUj81I ZEapBaVrfvVZSwTjRCq+8AWAer+VHULRUjdPpO2FwPzbR2OCg4hViVK6z+BPCS68kHiY IIDSKzkx3qXTsLRm7GL3TUzpC6ZlXp+Qie23Y+XCX8q1UuXMsYwjW5M7KinrHmf1vVRe DcOe7BKOUmVrTyC9lQWEr0fntyeSSq5kSb7rclEDoP4dSW/NJuhMueod7ger7YvjGrkQ zJBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BnraU9e2QlfXAnwDnsquPq2nPEANf8Vm3M5lpPbQw3c=; b=Y30hlB5cS2s5TeEQSYVVboN22S8f98DAJZsH9KDqyu5ikhDGUsDIjz5KM1W8JvEu9v caqKTaJZi4ZmLQ/hlsCiHLpRBekK4s4ySSjzxp6rT93T8TFeWy+x2IQNTO1FERhPmEa7 pRz6OcqA99hoaEciqddWBsA9Lr9V8RXuwWCoOOlxproml9id8Uutw9l9pFVptSJ8DU5a KlS2uQseWIHB0/6Z0tmod+4/wTeJwQZlHBAtnuZIngE+UMVbTmeVhr2lvOf5krwZefSx etT3HD4TZnhsi2alkjNBVYR7Pd+V2xHWNZp9Wtm5gCd11sIYQQrnTPutN5v/yQuBliXY jIyg== X-Gm-Message-State: AGi0PuaQm1/B4uIfiq7GUsVqbDQGE7/zdn7oV6SLMklBKnT7GMXUeVwW LCUkp5zuFcSRscebDCH53529LA== X-Received: by 2002:a1c:e055:: with SMTP id x82mr9953081wmg.20.1585941124055; Fri, 03 Apr 2020 12:12:04 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id b187sm13626896wmc.14.2020.04.03.12.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:57 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 94EF91FF99; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 10/12] target/arm: don't expose "ieee_half" via gdbstub Date: Fri, 3 Apr 2020 20:11:48 +0100 Message-Id: <20200403191150.863-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , "open list:ARM TCG CPUs" , =?utf-8?q?Alex_Benn=C3=A9e?= , Peter Maydell Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" While support for parsing ieee_half in the XML description was added to gdb in 2019 (a6d0f249) there is no easy way for the gdbstub to know if the gdb end will understand it. Disable it for now and allow older gdbs to successfully connect to the default -cpu max SVE enabled QEMUs. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson --- target/arm/gdbstub.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c index d9ef7d2187c..8efc535f2a0 100644 --- a/target/arm/gdbstub.c +++ b/target/arm/gdbstub.c @@ -192,7 +192,12 @@ static const struct TypeSize vec_lanes[] = { /* 16 bit */ { "uint16", 16, 'h', 'u' }, { "int16", 16, 'h', 's' }, - { "ieee_half", 16, 'h', 'f' }, + /* + * TODO: currently there is no reliable way of telling + * if the remote gdb actually understands ieee_half so + * we don't expose it in the target description for now. + * { "ieee_half", 16, 'h', 'f' }, + */ /* bytes */ { "uint8", 8, 'b', 'u' }, { "int8", 8, 'b', 's' }, From patchwork Fri Apr 3 19:11:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185184 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp918248ilr; Fri, 3 Apr 2020 12:16:46 -0700 (PDT) X-Google-Smtp-Source: APiQypJFTXKQ5AX1wAue6+RJr8IE5MNn5pM2nAhexytpBDoHMRqAVW+BEFMqUPXbQgRgwNjsjNhw X-Received: by 2002:ad4:4431:: with SMTP id e17mr10255204qvt.64.1585941406860; Fri, 03 Apr 2020 12:16:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941406; cv=none; d=google.com; s=arc-20160816; b=r9sJg2jGCZLcFIakp6Dgat/mtEk/ld7z6k1/hkuaWfW2RcKclIoBvBb0gDP7n6dHmc YfOZsWQfOIHbtWxB7EoM8xBCmVjdXHLHaE4gPEDoBpie3UR+LDyw7Hqj3vCzQVO+/s02 HOm0EVdtnQpTcb9BGeqLhgPdEH9ojVLTDdbBubX0Mxm3yfLTf8uwWzTml+8BhBfVKXOd q1xV/ZMHyEjerPr259fyIVF2YuQNqUiauOQpJJ09TOBbdGafsiIVEi/UatpHaAXyBZHA gkdilgHPfBCPAFvy3Cd6sCXtJO9rXaB1VbGyYhOoutotBROMjTM/Q3NO0Ba9+IYOzx1c Vk6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=DgcsVRLcv58otFdRsNxFND+i/4AlyINLiQErQsSUPtE=; b=yb50+mkLJTRurJSWaBvvAYwMoRRWMhO5nLsBcE1E2SXaVUNwsvn2bEkX8a3ZYQMJou ciAR0Hul5VPVvBxUgOzj6n1/5skC69UmS8zABYMqXz9HPCMQ61Ag9sDHPN2sKkGK0GqD FJsWH4auyCdlNH0AU9ooTYYNJytf3um2K5Rkx9g14A07c22MVqqENkabq1EYzkoZr+80 22qiFYkknsBs3lRmaCOEuqlq9wmSo9b9XVxYpSua07ZjU0DeuYZDgL1zoGyJSWrWvHvw BN9JxWE6f/cyPyvkPAp1QA2uHvm8UWxTPwa2Cn3agBilt84d4tkbXNSMml9GSQb9N7a6 jTRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=b62VDQt7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id k26si6114558qkj.242.2020.04.03.12.16.46 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:16:46 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=b62VDQt7; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRo6-000218-8n for patch@linaro.org; Fri, 03 Apr 2020 15:16:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40910) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjb-0003Vb-HP for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRja-0002V3-8F for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:07 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:39792) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRjZ-0002Ql-Vs for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:06 -0400 Received: by mail-wm1-x343.google.com with SMTP id e9so8904963wme.4 for ; Fri, 03 Apr 2020 12:12:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DgcsVRLcv58otFdRsNxFND+i/4AlyINLiQErQsSUPtE=; b=b62VDQt7B3YmV/5dG6ywTOUYfm7P42bQuEiI5fRJ/Rp08d14EXw/AF5k8JNgFlUhEQ L+Dhj398lyB7K90oUGcCwxuUPK6lo7rb7YrGdrBdNgjNaHnq4o8GldLgPhS1RqtY3n1P cV1JY8SNT81dEHX+FU8jLozLPtpZJUiz69Oh7GqZCqaL3felghuRrKzGYbCXNe0/WAWJ Lf/+1sU3tMA4/SZTImDcWVYU4A/uR4o9K2iNk8yzlmYX9YHeU6CHvCrAopH3eHRZ7J23 URFR/bWFZ0OncpMuHr0Uxz2NgITCv9HSRojONMLWCwmfESYaUtGKfhb/nGpkXhmZ4PQO t6Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DgcsVRLcv58otFdRsNxFND+i/4AlyINLiQErQsSUPtE=; b=TMW6RvAqcepjaAqrPma27eskEL9A/Z1f+c53Knr0bAzOPHwDjgGqn/SZYwXxL1t9vf DIfEHEznq603UkYdIaIKJhfBzk3H1gZ4jx23jGF7aN2o3GkD7H0W1MSxRk69BfwiV4XS H2wV00fAFtVxV40Two8CAllSLjuTJiHq7I9+zzwVUF2o9UYxmCPSKhZuZ1RiyxWt0E+y cxPiwu+HBlWT/Jh6P44ymk0MQEexi4RM9Z6JBRlzH/50b0dfpUOTyJHW/gZu0K92UIQy eFhMfzIu55NAYRiWLu3yjBgmdRItIFR+3xA1wy8XCxP+goUtJg7F7Shb7hHGLY3DCxS0 Q88A== X-Gm-Message-State: AGi0PuasbEcLTLpOZLqKSOkQ+RJWVHLkgtkrpqq1fjr8oUec1y9wfzT6 nwXKhloAS9Kickb81CWm9ien/w== X-Received: by 2002:a1c:9c47:: with SMTP id f68mr9851632wme.148.1585941124945; Fri, 03 Apr 2020 12:12:04 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id c6sm10161053wrm.85.2020.04.03.12.11.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:59 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id AD5241FF9A; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 11/12] hw/core: properly terminate loading .hex on EOF record Date: Fri, 3 Apr 2020 20:11:49 +0100 Message-Id: <20200403191150.863-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , Stefan Hajnoczi , =?utf-8?q?Philippe_Mathieu-Dau?= =?utf-8?b?ZMOp?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The https://makecode.microbit.org/#editor generates slightly weird .hex files which work fine on a real microbit but causes QEMU to choke. The reason is extraneous data after the EOF record which causes the loader to attempt to write a bigger file than it should to the "rom". According to the HEX file spec an EOF really should be the last thing we process so lets do that. Reported-by: Ursula Bennée Signed-off-by: Alex Bennée Reviewed-by: Stefan Hajnoczi Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daudé --- hw/core/loader.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -- 2.20.1 diff --git a/hw/core/loader.c b/hw/core/loader.c index eeef6da9a1b..8bbb1797a4c 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -1447,6 +1447,7 @@ typedef struct { uint32_t current_rom_index; uint32_t rom_start_address; AddressSpace *as; + bool complete; } HexParser; /* return size or -1 if error */ @@ -1484,6 +1485,7 @@ static int handle_record_type(HexParser *parser) parser->current_rom_index, parser->rom_start_address, parser->as); } + parser->complete = true; return parser->total_size; case EXT_SEG_ADDR_RECORD: case EXT_LINEAR_ADDR_RECORD: @@ -1548,11 +1550,12 @@ static int parse_hex_blob(const char *filename, hwaddr *addr, uint8_t *hex_blob, .bin_buf = g_malloc(hex_blob_size), .start_addr = addr, .as = as, + .complete = false }; rom_transaction_begin(); - for (; hex_blob < end; ++hex_blob) { + for (; hex_blob < end && !parser.complete; ++hex_blob) { switch (*hex_blob) { case '\r': case '\n': From patchwork Fri Apr 3 19:11:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 185190 Delivered-To: patch@linaro.org Received: by 2002:a92:de47:0:0:0:0:0 with SMTP id e7csp923498ilr; Fri, 3 Apr 2020 12:22:17 -0700 (PDT) X-Google-Smtp-Source: APiQypJ2TvvIZYIOG6maweSTT6H6B6N+nA7Pqtvvk+lvow2UlIu3p6O8+F/ru3Jj4aCEyHvZtYSq X-Received: by 2002:ad4:436b:: with SMTP id u11mr9520732qvt.117.1585941737629; Fri, 03 Apr 2020 12:22:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585941737; cv=none; d=google.com; s=arc-20160816; b=DUHCa4u+y1KvB9VJVwneP7EeBrFWZWMaKQhG93obtSnWMZ2tbWe3CneiR7envMYlyP DSGiVSl2rzitHFjxI2tpY2UKRUxGjmWDL23RzNmkbDf++P9pHWrWGu5+vGXchGwSPYyG kmOzApp4X+L1NfkWDyBlLo1kSMQAiFOjT/Vv28OzV3YGGyjDKbvLoC+Z/k466JnKxudu 7NlBA1FKJt6ROhKvtLO5h8VSPBjfcRDrvC+/7cPlneqQnPH6LjIMijFVfrggsl6a/IBk sfOJrheEk2mIBmD0/7gwRRhXhnInPgTmhhON5RRAFJSARzwlnCDWskmk360uikr3gfFt a4zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=DyeIxRwQ3r5TyVkIrZoIov4F8W7a9xfnJ4qmjPwmv54=; b=WIdGZRWcRQOdipYKbs/Xy133iSzp0CNMbE+I8yDzgJloRv8CDSxJP/rn0Orhb5Hpjj N2el7enMY06/pJWzlDU8olgtVF4cf11uSn7PsuneFRtx5Bgwy+z7nxla3kUzjS2OBgCH hAghrrWBJAW9+V9ktD/ihExCc/XDdgsWK7lkHuiBPb7WpfYtzBNJmqLOc6NUXpKNbtC/ sR1s4o5QyZq/lysGVmu5jrCIgUQSm0qrGfS+O5gJVptJJu3MsLc1Am6nBuiifkUKm+9a RgeQJdH2d0fEkq4M/QP3mhJMSf0b8t0o37T+4diwrUJHvyFeCO40n/FybjgqGZCrMbVg hd+w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=HE2pRBeH; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id q125si6330317qke.308.2020.04.03.12.22.17 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Apr 2020 12:22:17 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=HE2pRBeH; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60312 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRtR-0007sm-1i for patch@linaro.org; Fri, 03 Apr 2020 15:22:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41006) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jKRjd-0003Yd-3j for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jKRjb-0002XD-2f for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:08 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:50578) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jKRja-0002VC-Rw for qemu-devel@nongnu.org; Fri, 03 Apr 2020 15:12:07 -0400 Received: by mail-wm1-x342.google.com with SMTP id t128so8281919wma.0 for ; Fri, 03 Apr 2020 12:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=DyeIxRwQ3r5TyVkIrZoIov4F8W7a9xfnJ4qmjPwmv54=; b=HE2pRBeHMSc4igIjt0XF95cKDtlhZawGnFUFuy+PmxcRSm6ybcvG6AndgkNiyUQLsQ pZTAd05urN571KW0zz+iPJDEc11dy2G7GRzBUc8W+Kd9rSg29IX6yKVIecL49VKH+t3V TPLSY2jOQeTxuxWQ0svd2j+62X7jTB+ivEGGBIFu8ItzWMqVqQ1bFOIz+3HJL8fpaTug 4JtYCLJ6nPDBGUQ9EA5r7PJq3qoPyk2da71tNy0kmQ0v4Ei9gdTZQqaaHqBVBiMQ4APA CG6QvsnJ1ERR1XOEEzKO65bSWPPwCJGwTHABZmQrtTD9GUfKCFUcEyT1jZJs9lNVKsgG 7oJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DyeIxRwQ3r5TyVkIrZoIov4F8W7a9xfnJ4qmjPwmv54=; b=CTgu84Zhs4AxIc+RwHJSRKNuXAikXfSSmY2Da141KwR4xGZWhG75wPFUWxEaBZ/LQp p6IfmXe6+CJEwCDlaZgux+W+Plc/GrFfl6TPSzzIDEfbJJavTIbe7CeonjzwBVbSsLJF qMo98xMpK/uYNfMefq6+8/uALbJiicvVW1VeGBWyFQtH5lwMN2MsV+YieIausCMppFUE mafzbp3XWZN+8XuZW2QmIn0mTXPBzfXLhCLw8cMdbrsmej5/p73rBrUL0WBg7hLzVyfQ 4xo8MKUE8TNYKPpSbPba38UA+BmzXKbc0+JJG4DFNfTOBdn1J/c8P0piyYvD6bxrO0oN h88A== X-Gm-Message-State: AGi0PubS9en2YmAr+dgO/lu1WphXgBMHyjfbHRxMOOcueIUCsuh4BFDl ePU1iMT8aZ8enIia+B7hkuYe6A== X-Received: by 2002:a1c:41d6:: with SMTP id o205mr9971548wma.122.1585941125880; Fri, 03 Apr 2020 12:12:05 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 138sm12521183wmb.21.2020.04.03.12.11.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Apr 2020 12:11:59 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C200B1FF9B; Fri, 3 Apr 2020 20:11:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 12/12] configure: Add -Werror to PIE probe Date: Fri, 3 Apr 2020 20:11:50 +0100 Message-Id: <20200403191150.863-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200403191150.863-1-alex.bennee@linaro.org> References: <20200403191150.863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::342 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Richard Henderson Without -Werror, the probe may succeed, but then compilation fails later when -Werror is added for other reasons. Shows up on windows, where the compiler complains about -fPIC. Signed-off-by: Richard Henderson Signed-off-by: Alex Bennée Message-Id: <20200401214756.6559-1-richard.henderson@linaro.org> --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.20.1 Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé diff --git a/configure b/configure index 22870f38672..233c671aaa9 100755 --- a/configure +++ b/configure @@ -2119,7 +2119,7 @@ if compile_prog "-Werror -fno-pie" "-no-pie"; then fi if test "$static" = "yes"; then - if test "$pie" != "no" && compile_prog "-fPIE -DPIE" "-static-pie"; then + if test "$pie" != "no" && compile_prog "-Werror -fPIE -DPIE" "-static-pie"; then QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS" QEMU_LDFLAGS="-static-pie $QEMU_LDFLAGS" pie="yes" @@ -2132,7 +2132,7 @@ if test "$static" = "yes"; then elif test "$pie" = "no"; then QEMU_CFLAGS="$CFLAGS_NOPIE $QEMU_CFLAGS" QEMU_LDFLAGS="$LDFLAGS_NOPIE $QEMU_LDFLAGS" -elif compile_prog "-fPIE -DPIE" "-pie"; then +elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then QEMU_CFLAGS="-fPIE -DPIE $QEMU_CFLAGS" QEMU_LDFLAGS="-pie $QEMU_LDFLAGS" pie="yes"