From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id 2CF1B386181F for ; Mon, 30 Oct 2023 00:03:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2CF1B386181F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2CF1B386181F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=45.83.234.184 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698624189; cv=none; b=AIp18xMOYyhYXrVB4Qzx2UNG0i7DiJqW/qTkiLeirvMguK9rkcmIuKz/Xq+hBiR3a9/qRArucsoMHtpE1CC4UpgSrj7aclPfvslfowqbtmGGi5hbjUlxbILRahwvLWsb2iDHGeboEglxtS+PPWAPVN68QQMH5OFNtF6jOWYLnfk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698624189; c=relaxed/simple; bh=WclPl1GqButfuVgrWCPYBDKv3RXT0g2e1ytC7/fCMWY=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=iVqESHBIoUTHhI3ZOtVLfqSfwb/eP7slP8q2rHpxK42PfDqo7Zmdiih80SGmwqIVv+HvHZ/sxsxiN2LW1z4zHCop5U0xrVdIIwpAcGkDHwFqbcRIuTrUOHie5/bVfP7GOS5V8SxTdFdQxe+MwTX4Djw32+Nxp7icYaja5vHQPkY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from csb.redhat.com (deer0x03.wildebeest.org [172.31.17.133]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 3E079302FDC1; Mon, 30 Oct 2023 01:03:06 +0100 (CET) Received: by csb.redhat.com (Postfix, from userid 10916) id 654C8E7EA4; Mon, 30 Oct 2023 00:35:20 +0100 (CET) From: Mark Wielaard To: buildbot@sourceware.org Cc: Mark Wielaard , Simon Marchi Subject: [PATCH] Add GDB sanitize builder Date: Mon, 30 Oct 2023 00:35:12 +0100 Message-Id: <20231029233512.729668-1-mark@klomp.org> X-Mailer: git-send-email 2.39.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3034.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Just the address sanitizer for now. Building with undefined sanitizer doesn't work. Disable sim because it doesn't build with address sanitizer. Suggested-by: Simon Marchi --- builder/master.cfg | 59 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/builder/master.cfg b/builder/master.cfg index 681d9cc..fa22282 100644 --- a/builder/master.cfg +++ b/builder/master.cfg @@ -854,6 +854,7 @@ gdb_scheduler = schedulers.SingleBranchScheduler( reason="binutils-gdb project master branch gdb files update", builderNames=["gdb-centos-x86_64", "gdb-fedora-x86_64", + "gdb-fedora-sanitize-x86_64", "gdb-rawhide-x86_64", "gdb-debian-testing-x86_64", "gdb-debian-armhf", @@ -878,6 +879,7 @@ gdb_try_scheduler = schedulers.AnyBranchScheduler( onlyImportant=True, reason="binutils-gdb project users try branch gdb files update", builderNames=["gdb-try-fedora-x86_64", + "gdb-try-fedora-sanitize-x86_64", "gdb-try-rawhide-x86_64", "gdb-try-debian-testing-x86_64", "gdb-try-fedora-arm64", @@ -2798,6 +2800,18 @@ gdb_configure_32_step = steps.Configure( name='configure', haltOnFailure=True, logfiles={"config.log": "config.log"}) +# Use only address sanitizer, code doesn't build with undefined sanitizer. +# Disable sim since it doesn't even build with address sanitizer, +gdb_configure_sanitize_step = steps.Configure( + workdir='gdb-build', + command=['../binutils-gdb/configure', + '--enable-targets=all', '--disable-sim', + 'CFLAGS="-fsanitize=address -O2 -g"', + 'CXXFLAGS="-fsanitize=address -O2 -g"', + 'LDFLAGS="-fsanitize=address"'], + name='configure', + haltOnFailure=True, + logfiles={"config.log": "config.log"}) gdb_make_step = steps.Compile( workdir='gdb-build', command=addOutputSync.withArgs(['make', @@ -2947,6 +2961,32 @@ gdb_factory_make_only.addSteps(bunsen_logfile_upload_steps([ # no tests being ru (["../gdb-build/gdb/config.log"],"gdb")])) gdb_factory_make_only.addStep(gdb_rm_step) +# Used for sanitizer builds (only x86_64 for now) +gdb_factory_sanitize = util.BuildFactory() +gdb_factory_sanitize.addStep(gdb_git_step) +gdb_factory_sanitize.addStep(gdb_rm_step) +gdb_factory_sanitize.addStep(gdb_configure_sanitize_step) +gdb_factory_sanitize.addStep(gdb_make_step) +gdb_factory_sanitize.addStep(make_gdb_check_step()) +gdb_factory_sanitize.addSteps(bunsen_logfile_upload_cpio_steps( + ["*.sum", "*.log"], + workdir='gdb-build', + tagsuffix='/native')) + +gdb_factory_sanitize.addStep(make_gdb_check_step('--target_board=native-gdbserver')) +gdb_factory_sanitize.addSteps(bunsen_logfile_upload_cpio_steps( + ["*.sum", "*.log"], + workdir='gdb-build', + tagsuffix='/gdbserver')) + +gdb_factory_sanitize.addStep(make_gdb_check_step('--target_board=native-extended-gdbserver')) +gdb_factory_sanitize.addSteps(bunsen_logfile_upload_cpio_steps( + ["*.sum", "*.log"], + workdir='gdb-build', + tagsuffix='/extended-gdbserver')) +gdb_factory_sanitize.addStep(gdb_rm_step) + + gdb_centos_x86_64_builder = util.BuilderConfig( name="gdb-centos-x86_64", workernames=["centos-x86_64"], @@ -2981,6 +3021,25 @@ gdb_try_fedora_x86_64_builder = util.BuilderConfig( factory=gdb_black_factory) c['builders'].append(gdb_try_fedora_x86_64_builder) +gdb_fedora_x86_64_sanitize_builder = util.BuilderConfig( + name="gdb-fedora-sanitize-x86_64", + properties={'container-file': + readContainerFile('fedora-latest')}, + workernames=vm_workers, + tags=["gdb", "fedora", "x86_64"], + factory=gdb_factory_sanitize) +c['builders'].append(gdb_fedora_x86_64_sanitize_builder) + +gdb_try_fedora_x86_64_sanitize_builder = util.BuilderConfig( + name="gdb-try-fedora-sanitize-x86_64", + collapseRequests=True, + properties={'container-file': + readContainerFile('fedora-latest')}, + workernames=vm_workers, + tags=["gdb-try", "fedora", "x86_64"], + factory=gdb_factory_sanitize) +c['builders'].append(gdb_try_fedora_x86_64_sanitize_builder) + gdb_debian_armhf_builder = util.BuilderConfig( name="gdb-debian-armhf", workernames=["debian-armhf"], -- 2.39.3