From patchwork Wed May 6 12:05:16 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: 11531125 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AE296139F for ; Wed, 6 May 2020 12:09:36 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8386D20736 for ; Wed, 6 May 2020 12:09:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="TOqCRSAm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8386D20736 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:44444 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIrn-0006ET-Is for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:09:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56444) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo0-000673-Cj for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:40 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:34191) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWInz-0008V1-10 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:40 -0400 Received: by mail-wr1-x42f.google.com with SMTP id y3so1915521wrt.1 for ; Wed, 06 May 2020 05:05:38 -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=l0ckrCQ5spxnPtMLXsVmR+wvBlQLiCiMnLYuS1h+C5Y=; b=TOqCRSAmCrEql8RrV+2PZsVlf/9uPc+2OpeS/ne9FajwFAQ9RNxkJ091ChmabyS2G2 sR0OeB0wD+RqAYZEYlgXvGvP+k3uPRm6fnOD3zq+hG9JawhEfEnY+IiX8WAFNxiiLjE3 OBgnPwpT0G/H8dTVlW1VmSnW7hSco/756F1GCQ/aBUVcFvR6tFLASAyPJGQe02N+v3Gn k1r/w18BKAE/ak7mzU5uY4Q8mkjMHmCSaMR5FfNwlKb8owhak5SF9IhBzyPSRwfACvXi xjTlPpLZxMO9BS/29WOYIkTjugmgTZlAxnMMfONte1zzBsCR+BwZwabtNtx1YkzzNJ1I O17w== 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=l0ckrCQ5spxnPtMLXsVmR+wvBlQLiCiMnLYuS1h+C5Y=; b=ZI6Bl2OkJi0cjXoBFV1+/v8iSbegz8pH+x863VY589v73IT9qpWi/sm2iUJysbaUuf 7iWlqu2MjtesxZ/HXnAI2s9BC1K5KwNxkcbm5hejmFAA1UNQG/reTCMoHXUWVUZfPUTl vXO2zQfUSR1oTih1ay/Ih1jLQgnKtUtz3rtiEEvA20wcrpiKbg1qjT8wSASKaZax4FPi RCNb8grpXRYrQL6BlX9vsdcG2Tvuo2KUcCewT61XcrsNTQ7Q2ZWTFJH2UKLaM3RJrMrM DSLoDe5b838G4ibmCImUEBFA63rxBhQX5RzBJqyGUMbN9RwrLmlxxjArkm8rmdQ2gf4Y GCSA== X-Gm-Message-State: AGi0PuY/yBALBWSTMpDu1bXue/sedQexBr5e1wVSDT2PBG6la70aywm9 CDpsfmqA+qSLNhGf0p1yU87wizlJh28= X-Google-Smtp-Source: APiQypJkcGx/j7mGDmCQBPn4ix7LbhHpnk+UVV3jSg5VgUffe9hrgafulRM7Dzj7oK5mTZ5F3Q83BQ== X-Received: by 2002:a5d:6107:: with SMTP id v7mr8712424wrt.270.1588766737270; Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id v16sm2727775wml.30.2020.05.06.05.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:30 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C12A01FF87; Wed, 6 May 2020 13:05:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 01/14] .travis.yml: show free disk space at end of run Date: Wed, 6 May 2020 13:05:16 +0100 Message-Id: <20200506120529.18974-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42f.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex?= =?utf-8?q?_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200501111505.4225-2-alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index 2fd63eceaac..a4c3c6c8058 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,6 +113,7 @@ script: $(exit $BUILD_RC); fi after_script: + - df -h - if command -v ccache ; then ccache --show-stats ; fi From patchwork Wed May 6 12:05:17 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: 11531109 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04DC5913 for ; Wed, 6 May 2020 12:06:29 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CF80B206DD for ; Wed, 6 May 2020 12:06:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="e8L3e8He" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CF80B206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:55106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIol-0007Zx-K6 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:06:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56430) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWInz-00066T-BT for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:39 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:42895) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWInx-0008Ja-Ez for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:38 -0400 Received: by mail-wr1-x42c.google.com with SMTP id s8so1880372wrt.9 for ; Wed, 06 May 2020 05:05:36 -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=dEL/a/ImN1rYjqCt4xsqKBQ8Hzw1yVkwjK2i4M7y2YY=; b=e8L3e8HeID6KIlJO0jF7OHZ2Z3gTQ1TSEXJt38hAP32oIXg+zFD/VXQnoenkP+22Oq cYMfnDJZhJm4gKBV3WLjSPmWAyUNRZDFzmjuFbKcvKId1M+xgsiYVAp2nHTjeU7jMPD/ o+S8MiPILQFZcg4/LK1JZO/cvZldDagFckJDra73qooT7VnJUIed3JMrmWaMNWTGIfZ1 qJg/Gemjly3w2wJwsXKg9rmhBFAb6wC+gHpp4msrEdfq2a9M6WPwljMMXIB5O4hVWex5 aG8YSgC3t5GtPjR/1AOnAHGwidlHSmRhTtZg/GYOSBn1Y9a50titbKc+ftGTo7yGCnfV pV6g== 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=dEL/a/ImN1rYjqCt4xsqKBQ8Hzw1yVkwjK2i4M7y2YY=; b=ZtWcdCQWlCIl0qLi33avuPxQof3VffktIUKWWmFcM1u3K15J9rLjQb63utqr4CdZC5 KkItqe1+K6WeD5V69JHu0m2YKdF9aoyJXDcr0v0jmFR2usubXGt59JFYRToenr/0rglz QmaM6hPDb+3CWr6Pv0pTj6qTX+iCqUJoS/kerC+zIOzLtsOPJSV4jRdMKSxOJvfML3ng 7j3o/Y42q9A43o2Og6qbC2XT1WG/akqGWUXo2i1TbeXtEInVA0Ba58++7vnSileqTRaA GzYXI9mnPriykPaYcbfRfpH6KJu39y0Oo+zaoHNMCPKqj4bLvLLcsMvz76S9Dcsrc8vk /SKQ== X-Gm-Message-State: AGi0PubIcBpz096lvnZpvPYRYxAmYftwSnVj2Xj+7S4t7UvHwzauT2Wy OrUoowh5vGbW44pzPI1UkcIDh9mxfHw= X-Google-Smtp-Source: APiQypJ00Fb8l8QDfc+jre9w/m82j+kT+a9s/8TKuSeoqe3G7lsp9cFF9L1LM5JQ8d9QyC2NgpQK2w== X-Received: by 2002:a05:6000:1203:: with SMTP id e3mr9997532wrx.229.1588766734818; Wed, 06 May 2020 05:05:34 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h137sm10939484wme.0.2020.05.06.05.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:30 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id D5A2D1FF8C; Wed, 6 May 2020 13:05:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 02/14] .travis.yml: drop MacOSX Date: Wed, 6 May 2020 13:05:17 +0100 Message-Id: <20200506120529.18974-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42c.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_FILL_THIS_FORM_SHORT=0.01, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson , =?utf-8?q?Alex_Benn=C3=A9?= =?utf-8?q?e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This keeps breaking on Travis so lets just fall back to the Cirrus CI builds which seem to be better maintained. Fix up the comments while we are doing this as we never had a windows build. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Acked-by: Richard Henderson Message-Id: <20200501111505.4225-3-alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index a4c3c6c8058..49267b73b36 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,9 +9,8 @@ compiler: cache: # There is one cache per branch and compiler version. # characteristics of each job are used to identify the cache: - # - OS name (currently, linux, osx, or windows) + # - OS name (currently only linux) # - OS distribution (for Linux, xenial, trusty, or precise) - # - macOS image name (e.g., xcode7.2) # - Names and values of visible environment variables set in .travis.yml or Settings panel timeout: 1200 ccache: true @@ -271,31 +270,6 @@ jobs: - TEST_CMD="" - # MacOSX builds - cirrus.yml also tests some MacOS builds including latest Xcode - - - name: "OSX Xcode 10.3" - env: - - BASE_CONFIG="--disable-docs --enable-tools" - - CONFIG="--target-list=i386-softmmu,ppc-softmmu,ppc64-softmmu,m68k-softmmu,x86_64-softmmu" - os: osx - osx_image: xcode10.3 - compiler: clang - addons: - homebrew: - packages: - - ccache - - glib - - pixman - - gnu-sed - - python - update: true - before_script: - - brew link --overwrite python - - export PATH="/usr/local/opt/ccache/libexec:$PATH" - - mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR} - - ${SRC_DIR}/configure ${BASE_CONFIG} ${CONFIG} || { cat config.log && exit 1; } - - # Python builds - name: "GCC Python 3.5 (x86_64-softmmu)" env: From patchwork Wed May 6 12:05:18 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: 11531115 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 905E6139F for ; Wed, 6 May 2020 12:07:01 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6666C206DD for ; Wed, 6 May 2020 12:07:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="p+AimE4a" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6666C206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:58170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIpI-0000Ng-Ep for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:07:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo0-00066m-0k for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:40 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:34192) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWInx-0008Bm-EP for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:39 -0400 Received: by mail-wr1-x431.google.com with SMTP id y3so1915290wrt.1 for ; Wed, 06 May 2020 05:05:34 -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=d1f2aEdjsEFanYx6BNV67Yvn98soCaaI3O+YSwy/f9s=; b=p+AimE4aJ/Cg7++kZR1l90QvFobmfJUBthYDeijnCz5z3u0ahbytbgl3PQRFAfCn4K +ZYIIVMg03PqQ+1GwBd5sxM8okQk7USpTxOc6konF5rz7LcYCWwyXwOkHmCb4VSzu5ie JmctO2bWAdqyXtFALYRKicg7kcP3klW2GLDyAAlnpgb44fvvUglsGaLOGDjbXv+DSsqV dDq6aVj9biHd/yKNC+T9vImsanmQOPQ+3mKbVsicB9OktZpBnN3Hc4rfWAbOLrcYnXYH WufOdWpNgo/5afdjckaiUp7nJJBCRPQtpdDyAYKPNw07BLSDU+52mLMzY+nP2gkmskr1 xFnQ== 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=d1f2aEdjsEFanYx6BNV67Yvn98soCaaI3O+YSwy/f9s=; b=dwRB5d3v1OuYcVItgiFYqT8EKn2cHBTj+AO+TSTE/fBy9/oMJZB/ZQvoTmktqAKdH1 DEUskthbr5hSkHfiH+K7UW3adktw8X72THT/oYtNnKA2zqGlUO9ZHF8zcMaQRNr31mWf qSg2OLqz6YJYijPQF1bdYfyDL8u4arn3rH1/x3ejk+rWMe3GDJUe9sTcJxjTKrYyyjQY y/U+zG4xfninyWxHAlMM2Oc5WYFECorN6edVMi5ogakzPKJsbeBC86KH8kGkR101a9Xv hzWHkr/LCiwj8Vbayb7CI/fns6kvCLl2XJl56RsZwKsYM+4x8n3tN8xlYjT5/SyZTEmX U1cQ== X-Gm-Message-State: AGi0PuY4oZXx3rvjIUBgVXRfvMkyWDCza3EoTeWExu+zc6SYvGXN8bRs WPp+m9re4rfWpC9q1efzKzc3Lg== X-Google-Smtp-Source: APiQypLpiKxmTG7yG/IAkqbCGr6rn9WKEMKGU6fwjNoIzHr3aBX3owMf7JdZE5Yc4AWApNYXUwGDbA== X-Received: by 2002:a5d:6503:: with SMTP id x3mr10149959wru.153.1588766733628; Wed, 06 May 2020 05:05:33 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id i6sm2432884wrw.97.2020.05.06.05.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:30 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id EBBEF1FF8F; Wed, 6 May 2020 13:05:29 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 03/14] .cirrus.yml: bump FreeBSD to the current stable release Date: Wed, 6 May 2020 13:05:18 +0100 Message-Id: <20200506120529.18974-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Ed Maste , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Li-Wen Hsu Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Hopefully this will un-stick the test which has been broken for a long time. Signed-off-by: Alex Bennée Reviewed-by: Li-Wen Hsu Tested-by: Li-Wen Hsu Message-Id: <20200501111505.4225-4-alex.bennee@linaro.org> diff --git a/.cirrus.yml b/.cirrus.yml index 90645fede6b..f06f5af2b93 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -3,7 +3,7 @@ env: freebsd_12_task: freebsd_instance: - image: freebsd-12-0-release-amd64 + image_family: freebsd-12-1 cpu: 8 memory: 8G install_script: pkg install -y From patchwork Wed May 6 12:05:19 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: 11531131 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 05A01139F for ; Wed, 6 May 2020 12:11:18 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9DA1D206DD for ; Wed, 6 May 2020 12:11:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="afMAA+H5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9DA1D206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51662 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWItQ-0000pN-LC for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:11:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56448) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo0-00067V-Ot for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:40 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:51414) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIny-0008Je-T8 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:40 -0400 Received: by mail-wm1-x336.google.com with SMTP id x4so2315433wmj.1 for ; Wed, 06 May 2020 05:05:38 -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=ZTJh34FGQCI152lwyVv0YTBLMCIdfCpxo+sU4MbJ6bM=; b=afMAA+H5YqNdc1Geqt97zuQ8Z32W7FIZw3TsHhdzmdUlfPcV1SqAAzpVIDD1ooWzKR e/xGNV9IbZHN8soRR1jkuvLYCnuMYqZ0Fkkhwe+4mb/s63VK98RK6rbApOdbJYjQphEb GgYsTpopVlL4lg38UgNwnJoAWeGiGVzrZzMF2gl/JQjCRIJAbbFWfumGHuv4UyLHYu10 8RARMZeFOvjpkYgbtwC9tqnKVa0ShrAOEz4H7p9O2gbGaXTbuah/mnoOl55SJZs09GX9 wO4HAo5sOCebogDZrWfJN0vtrppoDo/zbKYWFQfS2ktueV8w7aq4rDtGG2pKyIJuiBvy 6BvQ== 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=ZTJh34FGQCI152lwyVv0YTBLMCIdfCpxo+sU4MbJ6bM=; b=bApCGUIhUV1YRsqgmuqN6cDHxRiUEbHCI4B/enNGK6nk5snvdZCP3vayDPLCY6pmOw 52gn0XZo+yE9jdiqSj1NPpVD4L83o2LcvNEfIjl2q00Q1SXSfzIb9KGRw3Azk6QQsFb7 YXXnl/s4lYI2RpzD3p07U8l2+a07j3+Yx2pNjqXqbwmzvseGKL2lQdTjd69dyJ1VMFwl eTzg0Kgb+T/8ccCHAi9JYux/Hr9ILT0mhv+o6GAL4gA1SnSa+2sSC61JdWfcSwzHUSfV NljtF9wKSL8df6MwKzKfgLpQApHssHBnnjOUESeBmQ+ooWvLEPV6u+4xY5+zmD3BCdXO RIzQ== X-Gm-Message-State: AGi0PuYPL6wPniYvqkXnWpWJW6h9lcEGBjmJiSNKwMd7ofNVZxwti4Lc IBjjoMlp1XMuQcH3PPZcdfYHvA== X-Google-Smtp-Source: APiQypIcvNrbXeglYI0QTBJmkNzXle/skaCkV82T09XN2dy0/NyZ4cVCJNeeNN7yc7fEs5MZ1gLWEg== X-Received: by 2002:a05:600c:295a:: with SMTP id n26mr4616891wmd.16.1588766736163; Wed, 06 May 2020 05:05:36 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id l16sm2390029wrp.91.2020.05.06.05.05.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:30 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 0C0821FF90; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 04/14] .cirrus.yml: bootstrap pkg unconditionally Date: Wed, 6 May 2020 13:05:19 +0100 Message-Id: <20200506120529.18974-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Ed Maste , Li-Wen Hsu , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Li-Wen Hsu Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Li-Wen Hsu This ensures compatibility with pkg repo so a change in upstream doesn't break setup. See: https://lists.freebsd.org/pipermail/freebsd-cloud/2020-April/000234.html Message-Id: Signed-off-by: Li-Wen Hsu [AJB: applied from Li-Wen's github, applied sob, tweaked commit message] Signed-off-by: Alex Bennée diff --git a/.cirrus.yml b/.cirrus.yml index f06f5af2b93..de0727cb097 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,7 +6,7 @@ freebsd_12_task: image_family: freebsd-12-1 cpu: 8 memory: 8G - install_script: pkg install -y + install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y bash bison curl cyrus-sasl git glib gmake gnutls gsed nettle perl5 pixman pkgconf png usbredir script: From patchwork Wed May 6 12:05:20 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: 11531135 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A7CD1139F for ; Wed, 6 May 2020 12:12:50 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7C304206DD for ; Wed, 6 May 2020 12:12:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Hcm9XnLG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7C304206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:58082 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIuv-0003V8-KH for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:12:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56458) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo1-00068T-Ij for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:41 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:53708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo0-0000Lh-Qb for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:41 -0400 Received: by mail-wm1-x336.google.com with SMTP id k12so2294600wmj.3 for ; Wed, 06 May 2020 05:05:40 -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=peaM6igo+AhDvK0qqAnxFsdR5nx5YlJ8GTR7GVhQ6qE=; b=Hcm9XnLGvGSEqB9XHdouwA9/fVpoXuwHP70rQijEiQs80jghsXrlSHQRgTLjj0eDKJ 6a3JQk+bm/LWIidhuilsh0PspmO+KPM/mhK6c0s7t2mfhuWaq94NshHFis25QMesKVWE jG3tMuNLFQqMKm/2GHO0Z+qp0+FXH/iiL2gBX0ad8gbMgb3Omg9lYVF+T/myDnhrMxS+ me+lrnOnXLfkidr9oYUnlWzLhGNi/1TGlr6meM4wxpiUvVonFA4sM77ucfkTBvHXR6le qj+EZFAwBAJEdwuQ0AsFA4GECFE0SVDp8DhlS9w1XASspikBROUIJGZF5Anr32pNawTI Oyxg== 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=peaM6igo+AhDvK0qqAnxFsdR5nx5YlJ8GTR7GVhQ6qE=; b=HvnKm7WVFHQEvsCL/eDgwBWWkm+3tJyMB/mYg/s3M5CZnNKsi6jF5J7PhOeGqbSgcl 4GQn6CFTHNi48gT4g67npuQjhqGe9TP4cqkRM/NyDzFmhtOGjCdkVt0/fjZLvyzc3geK hUWdbB9HE3s+ovLTgcPlVXCL5Tt/vSV5M8m4WNi861GmGiklWObGdmYt+qYY7z9e8ICb GyWlVSWA2nT2OXx3S17S46ZZsdtyISAN38veBLflpbGolsGsAdoRYRScw8zIz9fEChD7 q7CVPqh8q67qhXMpaniyqkYhfKx2ziQkqlx7CkcwBDlcyNEB6eYhyCyEeRRmWp/grt+F nlWg== X-Gm-Message-State: AGi0PuYtsBfcaFd2webQi2t7cxdM9d8Udu/ma9NHE8W0gxzuLtOh74+C HPtTxWD03JbdJxvufut761hcLt38egc= X-Google-Smtp-Source: APiQypJVvskfWWSvBhlmk7dJFVzsZkgu15NMv7HFkpeatpHPKVzJJmJIILb2izlwUtTTAa3jCtEm7w== X-Received: by 2002:a05:600c:1:: with SMTP id g1mr4116927wmc.142.1588766739533; Wed, 06 May 2020 05:05:39 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id v131sm2877237wmb.19.2020.05.06.05.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 218661FF91; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 05/14] .travis.yml: reduce the load on [ppc64] GCC check-tcg Date: Wed, 6 May 2020 13:05:20 +0100 Message-Id: <20200506120529.18974-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: Fam Zheng , Richard Henderson , =?utf-8?q?Alex_Benn=C3=A9?= =?utf-8?q?e?= , qemu-devel@nongnu.org, =?utf-8?q?Ph?= =?utf-8?q?ilippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This seems to be timing out quite often and occasionally running out of disk space. Relegate it to light duties. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200501111505.4225-5-alex.bennee@linaro.org> diff --git a/.travis.yml b/.travis.yml index 49267b73b36..fe708792ca2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -458,7 +458,7 @@ jobs: - genisoimage env: - TEST_CMD="make check check-tcg V=1" - - CONFIG="--disable-containers --target-list=${MAIN_SOFTMMU_TARGETS},ppc64le-linux-user" + - CONFIG="--disable-containers --target-list=ppc64-softmmu,ppc64le-linux-user" - name: "[s390x] GCC check-tcg" arch: s390x From patchwork Wed May 6 12:05:21 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: 11531117 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 477B9913 for ; Wed, 6 May 2020 12:08:13 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1DB61206DD for ; Wed, 6 May 2020 12:08:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="WEfHiC7/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1DB61206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:36006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIqS-0002pc-8C for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:08:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo3-0006Aj-81 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:43 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:52242) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo1-0000V7-PP for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:42 -0400 Received: by mail-wm1-x329.google.com with SMTP id 188so2308782wmc.2 for ; Wed, 06 May 2020 05:05:41 -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=fvkeabdgvJPxQm3LnzLPHngBriCPb145ytneLsdCQhg=; b=WEfHiC7/0bgofvJWpro3tI5zatnFNxJgMsYS1+1bZezQClNEviR3/72gqJLnSfFnsY sIAMcmmsqXOxMfCfZxJUImf9kCo9aX3daaXyu1Qx2NOM7Rwq60QqbWba0LIFHcDK7pIn vm49ochaTa8nKhR+fTImPrrdo7vDsuMa/ZeLCUDinei0SSPz+mXV8anGufW6KMpMFYj3 aJnPzkpJtZ/ADZXZYtK5xlT+wH/skQMJAaP4AkKPJ+O1SWK98tYCZy4q/lpA91xYzYxk pHyp90gdHWcTyB/UsIVTzNGyTnR8GxLeqDlrO8AHG45Qn1Q/Oo3RWKOmrfLEsMrHLjgT yn3g== 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=fvkeabdgvJPxQm3LnzLPHngBriCPb145ytneLsdCQhg=; b=p5BgDzF4Ua/zASHHSAKwHk3phxxBdejqAvfDigW3FDX3jeH16hHSvAohuU7CBAPK8x 2kf6sBXSF7xN3Vp38fdJJvLIbtlX0Bjbijb+kddEec7do4LqnT1wdfNMjtSblVfVijIp 0gk7uzscWg6/pnErcR8BkaBpnPoj0kmiC2klRpxaDOsPe0/95PjXYNQRD+7GhaTRM7UR SMx1Broqyv8wwQeaMZY26YWFWipswoxGHTCt+omXynIgu8uUOe8+y8sfxIDTTHbdVnHc rbvVEuhM/0TlaN+6H/5khDHsEtlJDMLNOyyNfQXlIprO9G98QWqKQ9Mrydi0GmP641Ko 3K+Q== X-Gm-Message-State: AGi0PubEWvvmgCrze3MVoqqN0ByBlXejP8+13oWeO28P2Y2Wvaz92Zfi EGIDqf5rlyVW/BtUCsDCA2SR4MvVpZs= X-Google-Smtp-Source: APiQypKOeV+BiMWjXbTXSmgP8cUQrEoGgr8Pu9JX9+A37KVQBlss08cUeYl6U7t3GVmRNGfCaRvbig== X-Received: by 2002:a1c:7415:: with SMTP id p21mr3989036wmc.93.1588766740358; Wed, 06 May 2020 05:05:40 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g69sm2971076wmg.17.2020.05.06.05.05.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 380251FF92; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 06/14] configure: favour gdb-multiarch if we have it Date: Wed, 6 May 2020 13:05:21 +0100 Message-Id: <20200506120529.18974-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x329.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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?= , =?utf-8?q?A?= =?utf-8?q?lex_Benn=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" As gdb will generally be talking to "foreign" guests lets use that if we can. Otherwise the chances of gdb barfing are considerably higher. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200430190122.4592-2-alex.bennee@linaro.org> diff --git a/configure b/configure index 23b5e93752b..c58787100f1 100755 --- a/configure +++ b/configure @@ -303,7 +303,7 @@ libs_qga="" debug_info="yes" stack_protector="" use_containers="yes" -gdb_bin=$(command -v "gdb") +gdb_bin=$(command -v "gdb-multiarch" || command -v "gdb") if test -e "$source_path/.git" then From patchwork Wed May 6 12:05:22 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: 11531121 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2EB3B913 for ; Wed, 6 May 2020 12:08:46 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 044CC206B8 for ; Wed, 6 May 2020 12:08:45 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Qa0KaZfF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 044CC206B8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:39538 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIqz-0004GJ-4L for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:08:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56500) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo5-0006DO-1C for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:45 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:52246) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo4-0000hT-21 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:44 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 188so2308924wmc.2 for ; Wed, 06 May 2020 05:05:43 -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=iv5aExKuZFmBZpEOYjyI0CnqRcGLI8UlOxisphwDQLk=; b=Qa0KaZfFFnqCAdKJx1tyhgNKiK/Y/N610jkiWqKQSaa/M+WlqoyWOo5rPTJgGM5qnD m/HgE8rJCL4KmbabY/OeFiFVT1F3sclG3qUQWg/fTYo1SxH6G4H1FU93DkARRPI2RAsf r1HC7YfJMRs9GH/8ECobuG9f3WfHIQiDznKbSRJLpb8pzdo0ZmhRyUNPG3uRFowEAHz5 FS/TdJu8daJVRGtmkLI5FUgZdvo4WKl2xZzi8JhnNY8OB7ZCSWOl9uwqUGiU/1fZ9Ada 2+cNdSLlruI7IIS21vkgYkwH38B0Gh1qWwmc9nOTqkuKlkp7C5uPvvr7oz+x9Rbsw5sV Gujg== 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=iv5aExKuZFmBZpEOYjyI0CnqRcGLI8UlOxisphwDQLk=; b=qBTm9UnW8nNDt3rMjv6J1lwwEY+Cqj+fcFimLDueMZTmjSaa5gjY+6CEIs5RzpFNkt DkkSGBFuCUdSR/ia2COsbqcvg8lSrx2XYYUbOs0C+KUA3cf/mtBr0DdDm0TAVMWv3gj0 lcRfWGj6H6RyM3geJQ948WYPrvnJY3TAMAjUgtKqzJN4Tjw46JnogtKvwZu6qyNf4Gue BzTtxzRUhT+z/qSIRw84X6YFnt2bqD6GxJHH2DuappDQKY9BWNZj3wLp+yTFJHxtEmnN WKK6hw0G0IJdBg3rWluDWQJYuT/5udZnayZDVyD2rf8sBr47VQc6x+jb06gDqFbzpyGF lCmw== X-Gm-Message-State: AGi0PuayQpb1jM3v0MTrt+lBNxivBNYcubcszJAC6WUiU9azm8fKZspm xZTg6UMm2lOO+4MZ2halEIR4XQ== X-Google-Smtp-Source: APiQypLcfFDTyaEQx+c459MAvXa0iTcf/jpM3BgnhmLEzy04kEC5BRXXXOFDkctvWmc0HpL1nxJsCw== X-Received: by 2002:a1c:f312:: with SMTP id q18mr3967871wmq.175.1588766742586; Wed, 06 May 2020 05:05:42 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id l5sm2610859wmi.22.2020.05.06.05.05.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 513D41FF93; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 07/14] gdbstub: Introduce gdb_get_float64() to get 64-bit float registers Date: Wed, 6 May 2020 13:05:22 +0100 Message-Id: <20200506120529.18974-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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?= , qemu-devel@nongnu.org, Laurent Vivier , "open list:PowerPC TCG CPUs" , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , David Gibson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daudé When converted to use GByteArray in commits 462474d760c and a010bdbe719, the call to stfq_p() was removed. This call serialize a float. Since we now use a GByteArray, we can not use stfq_p() directly. Introduce the gdb_get_float64() helper to load a float64 register. Fixes: 462474d760c ("target/m68k: use gdb_get_reg helpers") Fixes: a010bdbe719 ("extend GByteArray to read register helpers") Signed-off-by: Philippe Mathieu-Daudé Signed-off-by: Alex Bennée Message-Id: <20200414163853.12164-3-philmd@redhat.com> Message-Id: <20200430190122.4592-3-alex.bennee@linaro.org> diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 20e10726929..4a2b8e30893 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -134,6 +134,17 @@ static inline int gdb_get_float32(GByteArray *array, float32 val) return sizeof(buf); } + +static inline int gdb_get_float64(GByteArray *array, float64 val) +{ + uint8_t buf[sizeof(CPU_DoubleU)]; + + stfq_p(buf, val); + g_byte_array_append(array, buf, sizeof(buf)); + + return sizeof(buf); +} + static inline int gdb_get_zeroes(GByteArray *array, size_t len) { guint oldlen = array->len; diff --git a/target/m68k/helper.c b/target/m68k/helper.c index cad40838956..79b0b10ea9b 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -72,7 +72,8 @@ static int cf_fpu_gdb_get_reg(CPUM68KState *env, GByteArray *mem_buf, int n) { if (n < 8) { float_status s; - return gdb_get_reg64(mem_buf, floatx80_to_float64(env->fregs[n].d, &s)); + return gdb_get_float64(mem_buf, + floatx80_to_float64(env->fregs[n].d, &s)); } switch (n) { case 8: /* fpcontrol */ diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index eb362dd9aec..5c11c88b2a8 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -130,7 +130,7 @@ int ppc_cpu_gdb_read_register(CPUState *cs, GByteArray *buf, int n) gdb_get_regl(buf, env->gpr[n]); } else if (n < 64) { /* fprs */ - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); + gdb_get_float64(buf, *cpu_fpr_ptr(env, n - 32)); } else { switch (n) { case 64: @@ -184,7 +184,7 @@ int ppc_cpu_gdb_read_register_apple(CPUState *cs, GByteArray *buf, int n) gdb_get_reg64(buf, env->gpr[n]); } else if (n < 64) { /* fprs */ - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n - 32)); + gdb_get_float64(buf, *cpu_fpr_ptr(env, n - 32)); } else if (n < 96) { /* Altivec */ gdb_get_reg64(buf, n - 64); diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.inc.c index fd763e588ec..2b6e832c4c3 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -9881,7 +9881,7 @@ static int gdb_get_float_reg(CPUPPCState *env, GByteArray *buf, int n) { uint8_t *mem_buf; if (n < 32) { - gdb_get_reg64(buf, *cpu_fpr_ptr(env, n)); + gdb_get_float64(buf, *cpu_fpr_ptr(env, n)); mem_buf = gdb_get_reg_ptr(buf, 8); ppc_maybe_bswap_register(env, mem_buf, 8); return 8; From patchwork Wed May 6 12:05:23 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: 11531113 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A76A3913 for ; Wed, 6 May 2020 12:06:38 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7DC8720714 for ; Wed, 6 May 2020 12:06:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AEMhra6h" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7DC8720714 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:55750 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIov-0007pl-5k for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:06:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56482) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo3-0006BQ-T6 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:43 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:40657) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo2-0000Zh-RO for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:43 -0400 Received: by mail-wm1-x32b.google.com with SMTP id u16so2332859wmc.5 for ; Wed, 06 May 2020 05:05:42 -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=nswgQ5gSAZuGHO+UvPAeMZ2cIqUKiQZ2ZazFCKpY7L4=; b=AEMhra6hRfbwnR7u9gNmQ0hVPEUat++KuMjBMS9JO63c2FKu0hssxkKZZ+yP2S0TK1 mBMD1lxAk+/r3YH2PcpOS/wlqkJvFRcatYcsq0BSpiQcUZOHJQekY/mu9QZiZUEuCGaw wGzXEFm+iOpH1alHmGXbLtpxgA7imVe4rjAa2mky8l4SMvtcAR5vf8lNrJK0WRaGBV/D CsO0/xRQ33oDX0sj4PtMDafMD+XWRIMZBKfcTySNOPi6CVnSV6q2XGMPfQLbMG6HCkAp InnoWbhF+ZpetA0QmVdNvhqEzrxjEb855orVhUjAst7iFsxcd5eymMInLS3Ni37yCw6o E73g== 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=nswgQ5gSAZuGHO+UvPAeMZ2cIqUKiQZ2ZazFCKpY7L4=; b=oasflDxvLB9l3FyKtBB8d0E6MxWFDQKxedQukDYHaUEvABDuklyi7Uo2zSq0JXUcZP eygKXuep028fmPdgFdjXB9vqXvHp/Gp0/9TfyNCaDZzV0XYBWZOEmcr2c7Eq4QOZfu/v u6Npne77sHuJrAe1r1sbWkxkoL8ry9ZYp03q7iSUyddUuOqPk1tcaRqWEabsxm+QXmaL gjqyfQCIWIiguVhoanTaSrknJHKwkDK+9GnmcxZYl+J1qflgIz4ZWGQ3UqLX5jTUJ6Uj KJLO0Tx0TRa/Cn1bkgrOQTiAoJUB5+9UyBzVDOSwllpLobMQ9PsI5f0soAkMZTMntWjc wGBw== X-Gm-Message-State: AGi0PuYDGcEdM1I1WMjWw6yXS7ymBsR32Q91QxI1/Mjkr61ph8Fb4152 Crsw9eySYkOKiuDi/IFVh/ba0Q== X-Google-Smtp-Source: APiQypKMuzBkpsiZzPlOFKdB3IZBQ4CkWGCFtBFBQTMXp7dqNCQ7e6svV1RzlkFKFqUN5jl3wdhJOQ== X-Received: by 2002:a1c:668a:: with SMTP id a132mr4403683wmc.46.1588766741346; Wed, 06 May 2020 05:05:41 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id y31sm2568014wrd.83.2020.05.06.05.05.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 6953D1FF96; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 08/14] tests/tcg: better trap gdb failures Date: Wed, 6 May 2020 13:05:23 +0100 Message-Id: <20200506120529.18974-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: "open list:ARM TCG CPUs" , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" It seems older and non-multiarach aware GDBs might not fail gracefully when faced with something they don't know. For example when faced with a target XML for s390x the Ubuntu 18.04 gdb will generate an internal fault and prompt for a core dump. Work around this by invoking GDB in a more batch orientated way and then trying to filter out between test failures and gdb failures. Signed-off-by: Alex Bennée Message-Id: <20200430190122.4592-4-alex.bennee@linaro.org> diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py index 8c49ee2f225..2bbb8fbaa38 100755 --- a/tests/guest-debug/run-test.py +++ b/tests/guest-debug/run-test.py @@ -50,8 +50,25 @@ if __name__ == '__main__': inferior = subprocess.Popen(shlex.split(cmd)) # Now launch gdb with our test and collect the result - gdb_cmd = "%s %s -ex 'target remote localhost:1234' -x %s" % (args.gdb, args.binary, args.test) + gdb_cmd = "%s %s" % (args.gdb, args.binary) + # run quietly and ignore .gdbinit + gdb_cmd += " -q -n -batch" + # disable prompts in case of crash + gdb_cmd += " -ex 'set confirm off'" + # connect to remote + gdb_cmd += " -ex 'target remote localhost:1234'" + # finally the test script itself + gdb_cmd += " -x %s" % (args.test) + + print("GDB CMD: %s" % (gdb_cmd)) result = subprocess.call(gdb_cmd, shell=True); + # A negative result is the result of an internal gdb failure like + # a crash. We force a return of 0 so we don't fail the test on + # account of broken external tools. + if result < 0: + print("GDB crashed? SKIPPING") + exit(0) + exit(result) diff --git a/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py b/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py index 984fbeb277e..387b2fc20aa 100644 --- a/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py +++ b/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py @@ -70,7 +70,6 @@ except (gdb.error, AttributeError): try: # These are not very useful in scripts gdb.execute("set pagination off") - gdb.execute("set confirm off") # Run the actual tests run_test() diff --git a/tests/tcg/aarch64/gdbstub/test-sve.py b/tests/tcg/aarch64/gdbstub/test-sve.py index dbe7f2aa932..5995689625e 100644 --- a/tests/tcg/aarch64/gdbstub/test-sve.py +++ b/tests/tcg/aarch64/gdbstub/test-sve.py @@ -71,7 +71,6 @@ except (gdb.error, AttributeError): try: # These are not very useful in scripts gdb.execute("set pagination off") - gdb.execute("set confirm off") # Run the actual tests run_test() From patchwork Wed May 6 12:05:24 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: 11531123 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 95174913 for ; Wed, 6 May 2020 12:08:59 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6B7D2206B8 for ; Wed, 6 May 2020 12:08:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="xhW1l5QV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6B7D2206B8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:41008 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIrC-0004pw-GC for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:08:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo8-0006Ku-Bv for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:49 -0400 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]:36862) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo6-0000ub-3Z for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:47 -0400 Received: by mail-ej1-x62d.google.com with SMTP id k8so1103812ejv.3 for ; Wed, 06 May 2020 05:05:45 -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=DrqUaGonDL46LGXalbeGbioWVxgk7+O8lq9vZxw9cGg=; b=xhW1l5QVlhf2N3yHKNGFlo5ygiJGhlR4W1/lnPkeUYBt3jcDyX115BdK5nQOcPpsyK HMGq9yRcHe8b0MsshVMGzH8dYqjoY0mhpV9YzdV/FtQAEZs1Bh/9CENMwZXthISGa4JR t0LJuWE+T1CrDepKC2DjNKwe0eDE0eIFqwSneUFZHQaJGP90I51lvLYZmZIC6/ciWQ15 +dLL1Z05865Zoq/nVP4RKleugsKp+qZ8G6F313Y9nD1xZjXyfPN7UAHYAp9ryqp+xXOj v2lN6xB8LUpWlkQZZk8VcDRI5hdTlQvmT9U+Ie8QKUyMhcpec0jtuDkYcJnQXxp2IR7e S+/A== 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=DrqUaGonDL46LGXalbeGbioWVxgk7+O8lq9vZxw9cGg=; b=XAGKDE59KF3ls68x76hh1n1WSzG1uhZIOWXhj7UgnBFUKXqhuFBp+H8D2qc0ebAqzy 2kDuO82M7CQwmeAo2vEkbFqdeJXFFWb77ds9tsFVZ1zyr9koqDxnkWmSWwW/Kk0BtaR6 1511rz8rH4PrOvb101WAn2i/yjU+PmOGzBXI1c9wlyEGkNf+GrWVnPX3NJvza7t1HpOR hz7CW689smNe38t6lRu81KBtwz5ZmTLyJZrG/mXCE+jjgNnuMGXc19qW88JLlOUq1q1W 7VG3rqFwh5B40LPUSyC2XkQmRqgHzwwnKoBWSw8WfJYdQXcEZMSSUqNeO1mUWEWLv0zG zEgQ== X-Gm-Message-State: AGi0PuaaW1iqWyPoCt2QWT3lEhrdKRMEfQz3WkID6ZGYfIWcyeUs8BSm +wv43ysuZq3u1saltsggmVHil/cWZ3A= X-Google-Smtp-Source: APiQypLh/cz9s9GlwCWMV1rUw6rpeXEEAhWdaU1J5LFVz7er4CUfG4Mu21vZH+lolKW5YJPn2XFp5g== X-Received: by 2002:adf:e2c2:: with SMTP id d2mr9957876wrj.55.1588766743820; Wed, 06 May 2020 05:05:43 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id n6sm436179wrt.58.2020.05.06.05.05.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 806F41FF98; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 09/14] tests/tcg: drop inferior.was_attached() test Date: Wed, 6 May 2020 13:05:24 +0100 Message-Id: <20200506120529.18974-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62d; envelope-from=alex.bennee@linaro.org; helo=mail-ej1-x62d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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: "open list:ARM TCG CPUs" , =?utf-8?q?Alex_Benn?= =?utf-8?q?=C3=A9e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" This test seems flaky and reports attachment even when we failed to negotiate the architecture. However the fetching of the guest architecture will fail tripping up the gdb AttributeError which will trigger our early no error status exit from the test Signed-off-by: Alex Bennée Message-Id: <20200430190122.4592-5-alex.bennee@linaro.org> diff --git a/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py b/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py index 387b2fc20aa..972cf73c315 100644 --- a/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py +++ b/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py @@ -58,9 +58,6 @@ def run_test(): # try: inferior = gdb.selected_inferior() - if inferior.was_attached == False: - print("SKIPPING (failed to attach)", file=sys.stderr) - exit(0) arch = inferior.architecture() report(arch.name() == "aarch64", "connected to aarch64") except (gdb.error, AttributeError): diff --git a/tests/tcg/aarch64/gdbstub/test-sve.py b/tests/tcg/aarch64/gdbstub/test-sve.py index 5995689625e..b96bdbb99af 100644 --- a/tests/tcg/aarch64/gdbstub/test-sve.py +++ b/tests/tcg/aarch64/gdbstub/test-sve.py @@ -59,9 +59,6 @@ def run_test(): # try: inferior = gdb.selected_inferior() - if inferior.was_attached == False: - print("SKIPPING (failed to attach)", file=sys.stderr) - exit(0) arch = inferior.architecture() report(arch.name() == "aarch64", "connected to aarch64") except (gdb.error, AttributeError): From patchwork Wed May 6 12:05:25 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: 11531127 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B6381913 for ; Wed, 6 May 2020 12:09:37 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8C426206DD for ; Wed, 6 May 2020 12:09:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="imxpirmX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8C426206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:44576 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIro-0006Hf-MF for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:09:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56522) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo8-0006KE-1Z for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:48 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:52251) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo6-0000vf-8z for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:47 -0400 Received: by mail-wm1-x332.google.com with SMTP id 188so2309068wmc.2 for ; Wed, 06 May 2020 05:05:45 -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=XI9W7JKa2XyA3yREs7k25PgwkqTKLOYrGC7rNXuuH+4=; b=imxpirmX8HKyoZBurHzjZTMtIol8i8W8TSAxOQM/cqM/zvkxc+Sln0LLcHsTDC99ln /NIGqjJEq1VaODtquy0C2tNWyGUhZeH6zcEDTnj3d2kEkubjdtHDehoN+SiypGTvKEYZ H7V6N39a6hJ+aglkOEsnIbwMkbhbrAwCOXr5EJXa+rgk2pfuc2j50APbdgQckEM1KF9P fcMydYH5fJiPeI2N83abMF3zNxxhhWhxfOFSQ03Oevd47gjGj2sqgseBXc8UR1KsUluF QAMpFpBftBCSUUYrD+s2DEqOIfT71YDeVDUTsnnyYFh/Sz8lbbG94EIiJEFNkNhsAdCs b98g== 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=XI9W7JKa2XyA3yREs7k25PgwkqTKLOYrGC7rNXuuH+4=; b=Lo5K5zh344ITYDpLyGlxC2LZxlerqlQcLeC+Yg9lwMl/7qln8tu2Z/OCJfkL4XcJab 1WLnY7NsEXAevy3FgxJoWb5fybiIrapFVDQ1pg1QCbhXncTNHF5pNYqpdsFeA0L1BVsZ VIXk9rL6wNi1eibyjD/h7H2Q6+NeiaxjTs9XvKcXObukuCQFr0MHoO/Pn8zgSS/Qt0RA QBp1wuFWgaIGVRQXJ8SIXkgnk5gyLOMtbV3cYOPzsDD4dv7wk0A6XhWNelc6hP04Hrc4 hcXEido4Nu/phgzMy8moWe7qoENbMdRxH9YoeVpbOuw1vr/jCC6xvTLgg2zr5u8ukUgb BSIw== X-Gm-Message-State: AGi0PuYv7PrByzqD0PLzNE+SS06oTeuKMNmB0wp9QsDgYBPT6HjyJKP8 OphaYwlI8bz5GeND2Qc0p5jteA== X-Google-Smtp-Source: APiQypLUG/6OiBZ7nOq+Uyn0EDlsPhkCqanW2lscEXsl3tQ6BYDeeboWAKFxHh0TZcNp0UWWKAqkWA== X-Received: by 2002:a7b:ca47:: with SMTP id m7mr4299460wml.55.1588766744768; Wed, 06 May 2020 05:05:44 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id n131sm2716513wmf.35.2020.05.06.05.05.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 945331FF99; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 10/14] gdbstub: eliminate gdbserver_fd global Date: Wed, 6 May 2020 13:05:25 +0100 Message-Id: <20200506120529.18974-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x332.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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=C3=A9?= =?utf-8?q?e?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" We don't really need to track this fd beyond the initial creation of the socket. We already know if the system has been initialised by virtue of the gdbserver_state so lets remove it. This makes the later re-factoring easier. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Message-Id: <20200430190122.4592-6-alex.bennee@linaro.org> diff --git a/gdbstub.c b/gdbstub.c index 171e1509509..b5381aa5204 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -398,8 +398,6 @@ static void reset_gdbserver_state(void) bool gdb_has_xml; #ifdef CONFIG_USER_ONLY -/* XXX: This is not thread safe. Do we care? */ -static int gdbserver_fd = -1; static int get_char(void) { @@ -2964,7 +2962,7 @@ void gdb_exit(CPUArchState *env, int code) return; } #ifdef CONFIG_USER_ONLY - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (gdbserver_state.fd < 0) { return; } #endif @@ -3011,7 +3009,7 @@ gdb_handlesig(CPUState *cpu, int sig) char buf[256]; int n; - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return sig; } @@ -3060,7 +3058,7 @@ void gdb_signalled(CPUArchState *env, int sig) { char buf[4]; - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return; } @@ -3068,7 +3066,7 @@ void gdb_signalled(CPUArchState *env, int sig) put_packet(buf); } -static bool gdb_accept(void) +static bool gdb_accept(int gdb_fd) { struct sockaddr_in sockaddr; socklen_t len; @@ -3076,7 +3074,7 @@ static bool gdb_accept(void) for(;;) { len = sizeof(sockaddr); - fd = accept(gdbserver_fd, (struct sockaddr *)&sockaddr, &len); + fd = accept(gdb_fd, (struct sockaddr *)&sockaddr, &len); if (fd < 0 && errno != EINTR) { perror("accept"); return false; @@ -3137,13 +3135,13 @@ static int gdbserver_open(int port) int gdbserver_start(int port) { - gdbserver_fd = gdbserver_open(port); - if (gdbserver_fd < 0) + int gdb_fd = gdbserver_open(port); + if (gdb_fd < 0) { return -1; + } /* accept connections */ - if (!gdb_accept()) { - close(gdbserver_fd); - gdbserver_fd = -1; + if (!gdb_accept(gdb_fd)) { + close(gdb_fd); return -1; } return 0; @@ -3152,7 +3150,7 @@ int gdbserver_start(int port) /* Disable gdb stub for child processes. */ void gdbserver_fork(CPUState *cpu) { - if (gdbserver_fd < 0 || gdbserver_state.fd < 0) { + if (!gdbserver_state.init || gdbserver_state.fd < 0) { return; } close(gdbserver_state.fd); From patchwork Wed May 6 12:05:26 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: 11531137 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5F0F2913 for ; Wed, 6 May 2020 12:14:22 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 32BAC206DB for ; Wed, 6 May 2020 12:14:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="POJtNPv3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 32BAC206DB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:33462 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIwP-0004zC-DK for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:14:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56534) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIo9-0006Lf-Ah for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:49 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]:39606) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo7-00012z-6z for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:48 -0400 Received: by mail-wm1-x32d.google.com with SMTP id y24so2344096wma.4 for ; Wed, 06 May 2020 05:05:46 -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=usxqN0chs/+svG7Q89+uOboA+O3BScfxkits4ZbaY44=; b=POJtNPv3efthz7dl5Ok8qN9NoLDOYAH5sEvyJa1iHs+ZEaywIM42HrYrK+6dNHrf4R xGZghz6KEq33gyAp3xmwjCCfK/aDSj15xcTcJ0fEjvW1MdLT33P3LvQwuZnZA8AUpuFf /1iu0o7Z0CPnyEsYqa9UiYEO/++x8ckI1uxf65onWQGih/LSz4fKdqe4giP/mcMcgJM1 q3EHslFqG17hve4e/cv+4bSp2NsdxMzGK9LstrA174r/gQbGfYiJDdANURKt893/X0lI okPmN4bqEZXpMKb2XbnCizS2gu1CxGYRs3SAN/w9K9bsKgxVnViSf+5bcc8c5jsBOZOh 8lMw== 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=usxqN0chs/+svG7Q89+uOboA+O3BScfxkits4ZbaY44=; b=VsBzc4vKXE9GC5jvsC2pyelwGSKH6LSgf5Lilky0qHeuEGIDF50Gu92uLXiaMoi5LE dic8JCm3f6h7fxGWomW+TniUdHCq0V61+zofhyRXmb/a4yd7XioD6RUskz9s4Pc2IYrh LL0G92Hr8Ubs+M7j6AgbwcLQFZsaPoV2xaCFgq3VXOefT11T28XADhYYPdGU61Y6/civ 1j2BwwUBXgyoC/oqyv2ujZZXQKSEn3mCh0ZQlkU7fDU4fOvlHebKAo5NGoZmMhVJTbiL tvQHP/ExYUYfU8xzbcSB6vz2OmCCOAry/lQBn6qOfcHMMwDusrCL4mPdU2+VldXkFTLI 0yBg== X-Gm-Message-State: AGi0PuZaXdCT7gjVvE1EV3E39BVp2VJlhLAHb175i5RJexIfSxgC1q9D T1oR2/ySOl8GsJy6ROpg9AZjLg== X-Google-Smtp-Source: APiQypKuKQ2WvvBAp1PD6GMe3t7G8p+MGB027vrBL635JT2rUcR/4hVBiV9bHko4+8IF256fbSMHqw== X-Received: by 2002:a1c:bc08:: with SMTP id m8mr3946648wmf.119.1588766745661; Wed, 06 May 2020 05:05:45 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id k17sm2683515wmi.10.2020.05.06.05.05.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id ADFEB1FF9A; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 11/14] gdbstub/linux-user: support debugging over a unix socket Date: Wed, 6 May 2020 13:05:26 +0100 Message-Id: <20200506120529.18974-12-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32d.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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?= , Riku Voipio , Richard Henderson , Laurent Vivier , qemu-devel@nongnu.org, =?utf-8?q?Alex_B?= =?utf-8?q?enn=C3=A9e?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" While debugging over TCP is fairly straightforward now we have test cases that want to orchestrate via make and currently a parallel build fails as two processes can't use the same listening port. While system emulation offers a wide cornucopia of connection methods thanks to the chardev abstraction we are a little more limited for linux user. Thankfully the programming API for a TCP socket and a local UNIX socket is pretty much the same once it's set up. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200430190122.4592-7-alex.bennee@linaro.org> diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 4a2b8e30893..94d8f83e92d 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -177,11 +177,15 @@ static inline uint8_t * gdb_get_reg_ptr(GByteArray *buf, int len) #endif -#ifdef CONFIG_USER_ONLY -int gdbserver_start(int); -#else -int gdbserver_start(const char *port); -#endif +/** + * gdbserver_start: start the gdb server + * @port_or_device: connection spec for gdb + * + * For CONFIG_USER this is either a tcp port or a path to a fifo. For + * system emulation you can use a full chardev spec for your gdbserver + * port. + */ +int gdbserver_start(const char *port_or_device); void gdbserver_cleanup(void); diff --git a/bsd-user/main.c b/bsd-user/main.c index 770c2b267ad..28f122b80e6 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -738,7 +738,7 @@ int main(int argc, char **argv) CPUState *cpu; int optind; const char *r; - int gdbstub_port = 0; + const char *gdbstub = NULL; char **target_environ, **wrk; envlist_t *envlist = NULL; char *trace_file = NULL; @@ -814,7 +814,7 @@ int main(int argc, char **argv) exit(1); } } else if (!strcmp(r, "g")) { - gdbstub_port = atoi(argv[optind++]); + gdbstub = g_strdup(argv[optind++]); } else if (!strcmp(r, "r")) { qemu_uname_release = argv[optind++]; } else if (!strcmp(r, "cpu")) { @@ -1124,8 +1124,8 @@ int main(int argc, char **argv) #error unsupported target CPU #endif - if (gdbstub_port) { - gdbserver_start (gdbstub_port); + if (gdbstub) { + gdbserver_start(gdbstub); gdb_handlesig(cpu, 0); } cpu_loop(env); diff --git a/gdbstub.c b/gdbstub.c index b5381aa5204..6950fd243f3 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -355,6 +355,7 @@ typedef struct GDBState { int signal; #ifdef CONFIG_USER_ONLY int fd; + char *socket_path; int running_state; #else CharBackend chr; @@ -2962,6 +2963,9 @@ void gdb_exit(CPUArchState *env, int code) return; } #ifdef CONFIG_USER_ONLY + if (gdbserver_state.socket_path) { + unlink(gdbserver_state.socket_path); + } if (gdbserver_state.fd < 0) { return; } @@ -3066,7 +3070,66 @@ void gdb_signalled(CPUArchState *env, int sig) put_packet(buf); } -static bool gdb_accept(int gdb_fd) +static void gdb_accept_init(int fd) +{ + init_gdbserver_state(); + create_default_process(&gdbserver_state); + gdbserver_state.processes[0].attached = true; + gdbserver_state.c_cpu = gdb_first_attached_cpu(); + gdbserver_state.g_cpu = gdbserver_state.c_cpu; + gdbserver_state.fd = fd; + gdb_has_xml = false; +} + +static bool gdb_accept_socket(int gdb_fd) +{ + int fd; + + for(;;) { + fd = accept(gdb_fd, NULL, NULL); + if (fd < 0 && errno != EINTR) { + perror("accept socket"); + return false; + } else if (fd >= 0) { + qemu_set_cloexec(fd); + break; + } + } + + gdb_accept_init(fd); + return true; +} + +static int gdbserver_open_socket(const char *path) +{ + struct sockaddr_un sockaddr; + int fd, ret; + + fd = socket(AF_UNIX, SOCK_STREAM, 0); + if (fd < 0) { + perror("create socket"); + return -1; + } + + sockaddr.sun_family = AF_UNIX; + pstrcpy(sockaddr.sun_path, sizeof(sockaddr.sun_path) - 1, path); + ret = bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)); + if (ret < 0) { + perror("bind socket"); + close(fd); + return -1; + } + ret = listen(fd, 1); + if (ret < 0) { + perror("listen socket"); + close(fd); + return -1; + } + + return fd; +} + +static bool gdb_accept_tcp(int gdb_fd) { struct sockaddr_in sockaddr; socklen_t len; @@ -3091,17 +3154,11 @@ static bool gdb_accept(int gdb_fd) return false; } - init_gdbserver_state(); - create_default_process(&gdbserver_state); - gdbserver_state.processes[0].attached = true; - gdbserver_state.c_cpu = gdb_first_attached_cpu(); - gdbserver_state.g_cpu = gdbserver_state.c_cpu; - gdbserver_state.fd = fd; - gdb_has_xml = false; + gdb_accept_init(fd); return true; } -static int gdbserver_open(int port) +static int gdbserver_open_port(int port) { struct sockaddr_in sockaddr; int fd, ret; @@ -3130,21 +3187,35 @@ static int gdbserver_open(int port) close(fd); return -1; } + return fd; } -int gdbserver_start(int port) +int gdbserver_start(const char *port_or_path) { - int gdb_fd = gdbserver_open(port); + int port = g_ascii_strtoull(port_or_path, NULL, 10); + int gdb_fd; + + if (port > 0) { + gdb_fd = gdbserver_open_port(port); + } else { + gdb_fd = gdbserver_open_socket(port_or_path); + } + if (gdb_fd < 0) { return -1; } - /* accept connections */ - if (!gdb_accept(gdb_fd)) { - close(gdb_fd); - return -1; + + if (port > 0 && gdb_accept_tcp(gdb_fd)) { + return 0; + } else if (gdb_accept_socket(gdb_fd)) { + gdbserver_state.socket_path = g_strdup(port_or_path); + return 0; } - return 0; + + /* gone wrong */ + close(gdb_fd); + return -1; } /* Disable gdb stub for child processes. */ diff --git a/linux-user/main.c b/linux-user/main.c index 22578b16336..2cd443237d8 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -51,7 +51,7 @@ char *exec_path; int singlestep; static const char *argv0; -static int gdbstub_port; +static const char *gdbstub; static envlist_t *envlist; static const char *cpu_model; static const char *cpu_type; @@ -310,7 +310,7 @@ static void handle_arg_seed(const char *arg) static void handle_arg_gdb(const char *arg) { - gdbstub_port = atoi(arg); + gdbstub = g_strdup(arg); } static void handle_arg_uname(const char *arg) @@ -861,10 +861,10 @@ int main(int argc, char **argv, char **envp) target_cpu_copy_regs(env, regs); - if (gdbstub_port) { - if (gdbserver_start(gdbstub_port) < 0) { - fprintf(stderr, "qemu: could not open gdbserver on port %d\n", - gdbstub_port); + if (gdbstub) { + if (gdbserver_start(gdbstub) < 0) { + fprintf(stderr, "qemu: could not open gdbserver on %s\n", + gdbstub); exit(EXIT_FAILURE); } gdb_handlesig(cpu, 0); From patchwork Wed May 6 12:05:27 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: 11531129 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 25BDD913 for ; Wed, 6 May 2020 12:10:19 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EF35B206DD for ; Wed, 6 May 2020 12:10:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="jd4ijWyd" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EF35B206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:47918 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIsU-0007cJ-5T for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:10:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56546) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIoA-0006OE-JY for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:50 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:56021) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo8-0001AS-V5 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:50 -0400 Received: by mail-wm1-x333.google.com with SMTP id e26so2291608wmk.5 for ; Wed, 06 May 2020 05:05:47 -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=To1Amsuya8/2bNrwNOCG3a0ICGx1JiOCuX19yjy7Jus=; b=jd4ijWydmt2SVD8mmixo09H/irXxNi7pM1YtA+gCa4YR7FPhWDky+spPeQ7hD7DM1v G4T9/0rBu3NnfW5ppt05zcgTIDo0TTciWizHFsOWSsTgUtIYAS6jgaXB6d3fLPv2/kWS jHTLIRJdz7Y1Wad9EX67LesLfCLjeyvNNomS6L/UeJSN3AHPEuo4wHvJbRVAu1fC2dU9 8vypFbxH3efYWZzw66ugsYRddMz+CqjEUJxXIPkDgLI8302kgrfDUkQ6qYTK1QmLifPx 8WupfYSmOHgJsCN2HTDQRLHXKSHtwKPSIPIOzIZD1PZ0oyTM6+5xeWLz9t/chM6QuTuM b8Vw== 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=To1Amsuya8/2bNrwNOCG3a0ICGx1JiOCuX19yjy7Jus=; b=hYDEVVFNPwFjcanfmjj2zvRpQsA7ST0JDiBt38fnPkLdFkVg2fA+CWMwIX/UyLnjkT xBu0ZLzVgiLYFUJO2+0lYWvlBruyQuzJmJnQn8eaGB6eOF1Zqv2qfNCeIcRT7DfIQEyh DJz8U7QmXt0GHho9WV41dSnyyv39M9CN30vrZVpT9MynsjuzDjFZPQBRMnM5qtZsWlfL vNIepr/gxb1cyTFJ4tcjYFromXn3Oy/2jYGGeSFb4FCFnSPH+7EC49kEEbPUh3qlrIEJ GPQcfzdv2f4dLiuC1SGu1Dp0gbJ9brZBSflNIjsMxEJllXwh+bZ5shBNlnIB6ouGr+rl 3Rog== X-Gm-Message-State: AGi0PuZUuf/c6Xgfg/Af6KF/1JGEEygztHCkfjWawOvJ0F+DQo5cQ7BW 1OfeDO8M+9QcwKAUuOMDhLiyPA== X-Google-Smtp-Source: APiQypIMU0I8bT2uNzbVDK+pHBqkm1wp5JZwCUwx5/YpHRBiXpTl6pckbWQLYjfzXA9YoAWmhpTMFA== X-Received: by 2002:a1c:4956:: with SMTP id w83mr4022950wma.43.1588766746737; Wed, 06 May 2020 05:05:46 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h74sm1839374wrh.76.2020.05.06.05.05.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:38 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id C3CC41FF9B; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 12/14] tests/guest-debug: use the unix socket for linux-user tests Date: Wed, 6 May 2020 13:05:27 +0100 Message-Id: <20200506120529.18974-13-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Now we have support for debugging over a unix socket for linux-user lets use it in our test harness. Signed-off-by: Alex Bennée Message-Id: <20200430190122.4592-8-alex.bennee@linaro.org> diff --git a/tests/guest-debug/run-test.py b/tests/guest-debug/run-test.py index 2bbb8fbaa38..d9af9573b9e 100755 --- a/tests/guest-debug/run-test.py +++ b/tests/guest-debug/run-test.py @@ -15,6 +15,8 @@ import argparse import subprocess import shutil import shlex +import os +from tempfile import TemporaryDirectory def get_args(): parser = argparse.ArgumentParser(description="A gdbstub test runner") @@ -41,11 +43,15 @@ if __name__ == '__main__': print("We need gdb to run the test") exit(-1) + socket_dir = TemporaryDirectory("qemu-gdbstub") + socket_name = os.path.join(socket_dir.name, "gdbstub.socket") + # Launch QEMU with binary if "system" in args.qemu: cmd = "%s %s %s -s -S" % (args.qemu, args.qargs, args.binary) else: - cmd = "%s %s -g 1234 %s" % (args.qemu, args.qargs, args.binary) + cmd = "%s %s -g %s %s" % (args.qemu, args.qargs, socket_name, + args.binary) inferior = subprocess.Popen(shlex.split(cmd)) @@ -56,7 +62,10 @@ if __name__ == '__main__': # disable prompts in case of crash gdb_cmd += " -ex 'set confirm off'" # connect to remote - gdb_cmd += " -ex 'target remote localhost:1234'" + if "system" in args.qemu: + gdb_cmd += " -ex 'target remote localhost:1234'" + else: + gdb_cmd += " -ex 'target remote %s'" % (socket_name) # finally the test script itself gdb_cmd += " -x %s" % (args.test) From patchwork Wed May 6 12:05:28 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: 11531139 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E1C8915AB for ; Wed, 6 May 2020 12:15:16 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B6F14206DB for ; Wed, 6 May 2020 12:15:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Fv2QuiVP" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6F14206DB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:35630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWIxH-0005su-U4 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:15:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIoD-0006VE-OO for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:53 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:50863) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIo9-0001KO-Ij for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:53 -0400 Received: by mail-wm1-x333.google.com with SMTP id x25so2318080wmc.0 for ; Wed, 06 May 2020 05:05:49 -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=nyAFPIx+jq/Ehvwqrvfm8Rt93l3rNEG7Vx2OIJ8VkIQ=; b=Fv2QuiVPyYdVWGbLkrMIrlVppH+Uqa6EA92bXpKXg2FW7AV89P/JCOLPNXc4DWPH0F wFMkRq0tTgVjRJmId+mAffp6jdGJ5yCmmQUH32X1/MSIXz9Xz6DmrA+DbAq9dv2W7bB4 zVkJW7+q7Jq3ZPzhavJnPaYOOhS25Uvc+mnb1k+XpE/dzznLmOJLGuc5hNunsBqlPkMn uMuZlewPvePHSWuXXT9baVzQ9Z45+ib7QpoybC1FCoPEwIeoC+zKWuD4TW7pzkHQi3LH lvymEb6M2lMShWmBz70LtIQA1cY3OJAz+GriMcoQyRt79viRzJhGWOc9IqKnkgrcR+a3 fUHA== 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=nyAFPIx+jq/Ehvwqrvfm8Rt93l3rNEG7Vx2OIJ8VkIQ=; b=JbiHLgi1k+lISQ+VxW+WWEMQAexFgwQeLqOUYSbtGnU39b32tWBhJnjsRRnR18F8vZ E6jSQKIk5gjBWm4PqmJkpASH7xiI2Vcz2JCusp0lDcIlpu2QibkyMzt0kHnmtTe65wWQ Jv11Zfb38JR5oT2esy7OiS7WP5/TUwiD5JYxKakEtXTuHWZ94oZ9LTDUKOBC5RyrMSL3 uPYU07eJmOzJbeoQzC43k2CIR4RSqODKY7R0rcirnapDsN6dLoMOWjig5QIAPYV6c9dK 2vozimWdbbhEJAI3dOZT7oIQk556A7gr48PT8mk1zULAOzduFOTZ3tR2n7x/pw+Znsh8 V3ig== X-Gm-Message-State: AGi0Pua4D/LaJnvw+jwNuGly+KIQmOOREiy+YHNYe2IaZfbIiSCVDAQ6 upDMyVyq6UYLGr8RTju5fc205Q== X-Google-Smtp-Source: APiQypLrV6q5jm9EqKG/26cy/pXbFw87ZVA4HzZ69cnDNOfqe6nihnOFWY49E6EDL+KmAfnXYJM+2A== X-Received: by 2002:a05:600c:2314:: with SMTP id 20mr3944827wmo.35.1588766748127; Wed, 06 May 2020 05:05:48 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 185sm2935370wmc.32.2020.05.06.05.05.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:45 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id E32711FF9C; Wed, 6 May 2020 13:05:30 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 13/14] tests/tcg: add a multiarch linux-user gdb test Date: Wed, 6 May 2020 13:05:28 +0100 Message-Id: <20200506120529.18974-14-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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?= , qemu-devel@nongnu.org, "Edgar E. Iglesias" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" When the gdbstub code was converted to the new API we missed a few snafus in the various guests. Add a simple gdb test script which can be used on all our linux-user guests to check for obvious failures. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200430190122.4592-9-alex.bennee@linaro.org> diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target index d99b2a9eced..312f36cde5f 100644 --- a/tests/tcg/aarch64/Makefile.target +++ b/tests/tcg/aarch64/Makefile.target @@ -54,9 +54,6 @@ sve-ioctls: CFLAGS+=-march=armv8.1-a+sve ifneq ($(HAVE_GDB_BIN),) GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py -AARCH64_TESTS += gdbstub-sysregs gdbstub-sve-ioctls - -.PHONY: gdbstub-sysregs gdbstub-sve-ioctls run-gdbstub-sysregs: sysregs $(call run-test, $@, $(GDB_SCRIPT) \ --gdb $(HAVE_GDB_BIN) \ @@ -70,6 +67,8 @@ run-gdbstub-sve-ioctls: sve-ioctls --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ --bin $< --test $(AARCH64_SRC)/gdbstub/test-sve-ioctl.py, \ "basic gdbstub SVE ZLEN support") + +EXTRA_RUNS += run-gdbstub-sysregs run-gdbstub-sve-ioctls endif endif diff --git a/tests/tcg/cris/Makefile.target b/tests/tcg/cris/Makefile.target index 24c7f2e7616..e72d3cbdb23 100644 --- a/tests/tcg/cris/Makefile.target +++ b/tests/tcg/cris/Makefile.target @@ -23,6 +23,7 @@ CRIS_RUNS = $(patsubst %, run-%, $(CRIS_USABLE_TESTS)) # override the list of tests, as we can't build the multiarch tests TESTS = $(CRIS_USABLE_TESTS) +EXTRA_RUNS = VPATH = $(CRIS_SRC) AS = $(CC) -x assembler-with-cpp diff --git a/tests/tcg/multiarch/Makefile.target b/tests/tcg/multiarch/Makefile.target index 035b09c8533..51fb75ecfdd 100644 --- a/tests/tcg/multiarch/Makefile.target +++ b/tests/tcg/multiarch/Makefile.target @@ -42,5 +42,19 @@ run-test-mmap-%: test-mmap $(call run-test, test-mmap-$*, $(QEMU) -p $* $<,\ "$< ($* byte pages) on $(TARGET_NAME)") +ifneq ($(HAVE_GDB_BIN),) +GDB_SCRIPT=$(SRC_PATH)/tests/guest-debug/run-test.py + +run-gdbstub-sha1: sha1 + $(call run-test, $@, $(GDB_SCRIPT) \ + --gdb $(HAVE_GDB_BIN) \ + --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ + --bin $< --test $(MULTIARCH_SRC)/gdbstub/sha1.py, \ + "basic gdbstub support") + +EXTRA_RUNS += run-gdbstub-sha1 +endif + + # Update TESTS TESTS += $(MULTIARCH_TESTS) diff --git a/tests/tcg/multiarch/gdbstub/sha1.py b/tests/tcg/multiarch/gdbstub/sha1.py new file mode 100644 index 00000000000..734553b98bb --- /dev/null +++ b/tests/tcg/multiarch/gdbstub/sha1.py @@ -0,0 +1,81 @@ +from __future__ import print_function +# +# A very simple smoke test for debugging the SHA1 userspace test on +# each target. +# +# This is launched via tests/guest-debug/run-test.py +# + +import gdb +import sys + +initial_vlen = 0 +failcount = 0 + +def report(cond, msg): + "Report success/fail of test" + if cond: + print("PASS: %s" % (msg)) + else: + print("FAIL: %s" % (msg)) + global failcount + failcount += 1 + +def check_break(sym_name): + "Setup breakpoint, continue and check we stopped." + sym, ok = gdb.lookup_symbol(sym_name) + bp = gdb.Breakpoint(sym_name) + + gdb.execute("c") + + # hopefully we came back + end_pc = gdb.parse_and_eval('$pc') + report(bp.hit_count == 1, + "break @ %s (%s %d hits)" % (end_pc, sym.value(), bp.hit_count)) + + bp.delete() + +def run_test(): + "Run through the tests one by one" + + check_break("SHA1Init") + + # check step and inspect values + gdb.execute("next") + val_ctx = gdb.parse_and_eval("context->state[0]") + exp_ctx = 0x67452301 + report(int(val_ctx) == exp_ctx, "context->state[0] == %x" % exp_ctx); + + gdb.execute("next") + val_ctx = gdb.parse_and_eval("context->state[1]") + exp_ctx = 0xEFCDAB89 + report(int(val_ctx) == exp_ctx, "context->state[1] == %x" % exp_ctx); + + # finally check we don't barf inspecting registers + gdb.execute("info registers") + +# +# This runs as the script it sourced (via -x, via run-test.py) +# +try: + inferior = gdb.selected_inferior() + arch = inferior.architecture() + print("ATTACHED: %s" % arch.name()) +except (gdb.error, AttributeError): + print("SKIPPING (not connected)", file=sys.stderr) + exit(0) + +try: + # These are not very useful in scripts + gdb.execute("set pagination off") + gdb.execute("set confirm off") + + # Run the actual tests + run_test() +except (gdb.error): + print ("GDB Exception: %s" % (sys.exc_info()[0])) + failcount += 1 + pass + +print("All tests complete: %d failures" % failcount) +exit(failcount) From patchwork Wed May 6 12:05:29 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: 11531133 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7B95F913 for ; Wed, 6 May 2020 12:11:19 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 41B1D206DD for ; Wed, 6 May 2020 12:11:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="sdxmYPdd" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 41B1D206DD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:51810 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jWItS-0000t2-CG for patchwork-qemu-devel@patchwork.kernel.org; Wed, 06 May 2020 08:11:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56552) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jWIoB-0006Rj-U2 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:51 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:33713) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jWIoA-0001Oq-J7 for qemu-devel@nongnu.org; Wed, 06 May 2020 08:05:51 -0400 Received: by mail-wr1-x434.google.com with SMTP id h9so1913738wrt.0 for ; Wed, 06 May 2020 05:05:50 -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=iiQCh//VFjxvmb6d7KKNLbr0lXh1jk7zOyRpXGAoAJ0=; b=sdxmYPddTxb3LN2vOnBpgGedl2sxGR7QRuWnGYv669AaJNgKAUTU9Tye/YSMxkI3jm MzMrY7GwB8nNPBcWOaB2cji+Rzn234pGgGLIJh9G+Mz0y69KkgWj46Nxx8E9AFj7Vhso wAi1acVJoXYNmms2agbSzCui58hvu2gQtMR2VNVMfrOVQbisHb2gXA8JI0ABJEzeXnoU vfrRErCW1Dk+Xsuw4P5Th9utjhxaNWqFdZXGRxma0tqVP8D2zLdB68DVaWRPXPeF/gUf zWmdlMKgAIMKjPr5pfPC5bdrZL8gWatq3FVIhX7c7nBA41wwyiU0w8BJRqLSF/4hxP/0 EvVQ== 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=iiQCh//VFjxvmb6d7KKNLbr0lXh1jk7zOyRpXGAoAJ0=; b=hXeBv2x1EENaQ6MwhNGs+kn11PAUJBRbEUqbU7plo0wZjI2F+pp6zPoLJh/OysLZPG q8QexsJpP3/hXlTQ6qRRJdfSKqcxM7fzJ7tgO3wQ38sHT84mneb6LGIZU5k2xD+kQKoi t7E4aGi1MC7XnEJmU6amhMXMY8onUXVZzLqVvGRDwAaRRQXZHDoiEh5wZgom5GK06AMl rxovqX90mrNEVPII0DZ3hBhAFPNq5GX3QM65PdV7W5zVIOyQPi/C5FTiBrTR1RC4Boo1 TorpgfFBFgg4mzt47j0XhJlbr+zzb5/NMSgRwCsjhXgQa+0nGcj1d4SmONzU+U4ZypLY JrYg== X-Gm-Message-State: AGi0PuZP5qCA6q/LwoLeFCR/hUcM1q4HqT1Wnj927oMVvVoNmVdWUTiJ aQ71fN4Di+848GkJ/7qSl9lHMg== X-Google-Smtp-Source: APiQypIrfaBNf8xh6nnne+NS1iggKY9AWVxwwHCJzE2XrJ0ZH9EWjWzgTIXPPqK4AtiCMoe2DO4J9w== X-Received: by 2002:adf:ed82:: with SMTP id c2mr9822818wro.255.1588766749088; Wed, 06 May 2020 05:05:49 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id u12sm2855904wmu.25.2020.05.06.05.05.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2020 05:05:46 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 063761FF9D; Wed, 6 May 2020 13:05:31 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL 14/14] target/m68k: fix gdb for m68xxx Date: Wed, 6 May 2020 13:05:29 +0100 Message-Id: <20200506120529.18974-15-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200506120529.18974-1-alex.bennee@linaro.org> References: <20200506120529.18974-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x434.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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 , qemu-devel@nongnu.org, Laurent Vivier , KONRAD Frederic , =?utf-8?q?Philippe_Mathieu-D?= =?utf-8?q?aud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" From: KONRAD Frederic Currently "cf-core.xml" is sent to GDB when using any m68k flavor. Thing is it uses the "org.gnu.gdb.coldfire.core" feature name and gdb 8.3 then expects a coldfire FPU instead of the default m68881 FPU. This is not OK because the m68881 floats registers are 96 bits wide so it crashes GDB with the following error message: (gdb) target remote localhost:7960 Remote debugging using localhost:7960 warning: Register "fp0" has an unsupported size (96 bits) warning: Register "fp1" has an unsupported size (96 bits) ... Remote 'g' packet reply is too long (expected 148 bytes, got 180 bytes): \ 00000000000[...]0000 With this patch: qemu-system-m68k -M none -cpu m68020 -s -S (gdb) tar rem :1234 Remote debugging using :1234 warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0x00000000 in ?? () (gdb) p $fp0 $1 = nan(0xffffffffffffffff) Signed-off-by: KONRAD Frederic Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Reviewed-by: Laurent Vivier Message-Id: <1588094279-17913-3-git-send-email-frederic.konrad@adacore.com> Message-Id: <20200430190122.4592-10-alex.bennee@linaro.org> diff --git a/configure b/configure index c58787100f1..0d69c360c0e 100755 --- a/configure +++ b/configure @@ -7825,7 +7825,7 @@ case "$target_name" in ;; m68k) bflt="yes" - gdb_xml_files="cf-core.xml cf-fp.xml m68k-fp.xml" + gdb_xml_files="cf-core.xml cf-fp.xml m68k-core.xml m68k-fp.xml" TARGET_SYSTBL_ABI=common ;; microblaze|microblazeel) diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index 9445fcd6df5..72c545149e9 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -292,16 +292,38 @@ static void m68k_cpu_class_init(ObjectClass *c, void *data) cc->tcg_initialize = m68k_tcg_init; cc->gdb_num_core_regs = 18; - cc->gdb_core_xml_file = "cf-core.xml"; dc->vmsd = &vmstate_m68k_cpu; } -#define DEFINE_M68K_CPU_TYPE(cpu_model, initfn) \ - { \ - .name = M68K_CPU_TYPE_NAME(cpu_model), \ - .instance_init = initfn, \ - .parent = TYPE_M68K_CPU, \ +static void m68k_cpu_class_init_cf_core(ObjectClass *c, void *data) +{ + CPUClass *cc = CPU_CLASS(c); + + cc->gdb_core_xml_file = "cf-core.xml"; +} + +#define DEFINE_M68K_CPU_TYPE_CF(model) \ + { \ + .name = M68K_CPU_TYPE_NAME(#model), \ + .instance_init = model##_cpu_initfn, \ + .parent = TYPE_M68K_CPU, \ + .class_init = m68k_cpu_class_init_cf_core \ + } + +static void m68k_cpu_class_init_m68k_core(ObjectClass *c, void *data) +{ + CPUClass *cc = CPU_CLASS(c); + + cc->gdb_core_xml_file = "m68k-core.xml"; +} + +#define DEFINE_M68K_CPU_TYPE_M68K(model) \ + { \ + .name = M68K_CPU_TYPE_NAME(#model), \ + .instance_init = model##_cpu_initfn, \ + .parent = TYPE_M68K_CPU, \ + .class_init = m68k_cpu_class_init_m68k_core \ } static const TypeInfo m68k_cpus_type_infos[] = { @@ -314,15 +336,15 @@ static const TypeInfo m68k_cpus_type_infos[] = { .class_size = sizeof(M68kCPUClass), .class_init = m68k_cpu_class_init, }, - DEFINE_M68K_CPU_TYPE("m68000", m68000_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m68020", m68020_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m68030", m68030_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m68040", m68040_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m68060", m68060_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m5206", m5206_cpu_initfn), - DEFINE_M68K_CPU_TYPE("m5208", m5208_cpu_initfn), - DEFINE_M68K_CPU_TYPE("cfv4e", cfv4e_cpu_initfn), - DEFINE_M68K_CPU_TYPE("any", any_cpu_initfn), + DEFINE_M68K_CPU_TYPE_M68K(m68000), + DEFINE_M68K_CPU_TYPE_M68K(m68020), + DEFINE_M68K_CPU_TYPE_M68K(m68030), + DEFINE_M68K_CPU_TYPE_M68K(m68040), + DEFINE_M68K_CPU_TYPE_M68K(m68060), + DEFINE_M68K_CPU_TYPE_CF(m5206), + DEFINE_M68K_CPU_TYPE_CF(m5208), + DEFINE_M68K_CPU_TYPE_CF(cfv4e), + DEFINE_M68K_CPU_TYPE_CF(any), }; DEFINE_TYPES(m68k_cpus_type_infos) diff --git a/gdb-xml/m68k-core.xml b/gdb-xml/m68k-core.xml new file mode 100644 index 00000000000..5b092d26de0 --- /dev/null +++ b/gdb-xml/m68k-core.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + +