From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
To: linux-nfc@lists.01.org
Cc: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Subject: [linux-nfc] [neard][PATCH 16/16] ci: add build with sanitizers (asan, lsan and ubsan)
Date: Wed, 14 Jul 2021 13:05:18 +0200 [thread overview]
Message-ID: <20210714110518.104655-17-krzysztof.kozlowski@canonical.com> (raw)
In-Reply-To: <20210714110518.104655-1-krzysztof.kozlowski@canonical.com>
Check the results if sanitizers were correctly linked.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
---
.github/workflows/ci.yml | 44 ++++++++++++++++++++++++++++++++++++++--
HACKING | 5 ++++-
ci/debian.sanitizers.sh | 18 ++++++++++++++++
ci/ubuntu.sanitizers.sh | 1 +
4 files changed, 65 insertions(+), 3 deletions(-)
create mode 100755 ci/debian.sanitizers.sh
create mode 120000 ci/ubuntu.sanitizers.sh
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 14cc4306de23..7c2eb3cb13f4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -66,6 +66,13 @@ jobs:
CC: gcc
MODE: maintainer
+ - container: "debian:stable"
+ env:
+ ARCH: x86-64
+ CC: gcc
+ VARIANT: sanitizers
+ MODE: maintainer
+
- container: "debian:stable"
env:
ARCH: x86-64
@@ -78,6 +85,13 @@ jobs:
CC: gcc
MODE: maintainer
+ - container: "debian:testing"
+ env:
+ ARCH: x86-64
+ CC: gcc
+ VARIANT: sanitizers
+ MODE: maintainer
+
- container: "debian:testing"
env:
ARCH: x86-64
@@ -153,6 +167,13 @@ jobs:
CC: gcc
MODE: maintainer
+ - container: "ubuntu:hirsute"
+ env:
+ ARCH: x86-64
+ CC: gcc
+ VARIANT: sanitizers
+ MODE: maintainer
+
- container: "ubuntu:hirsute"
env:
ARCH: x86-64
@@ -165,6 +186,13 @@ jobs:
CC: gcc
MODE: maintainer
+ - container: "ubuntu:focal"
+ env:
+ ARCH: x86-64
+ CC: gcc
+ VARIANT: sanitizers
+ MODE: maintainer
+
- container: "ubuntu:focal"
env:
ARCH: x86-64
@@ -235,9 +263,14 @@ jobs:
- name: Configure
run: |
echo "Bootstraping in mode: $MODE"
+ CONFIGURE_ARGS=""
+ if [ "$VARIANT" = "sanitizers" ]; then
+ CONFIGURE_ARGS="--enable-asan --enable-lsan --enable-ubsan --enable-pie"
+ fi
if [ "$MODE" = "maintainer" ]; then
./bootstrap-configure \
- --disable-silent-rules
+ --disable-silent-rules \
+ $CONFIGURE_ARGS
else
./bootstrap && \
./configure \
@@ -246,7 +279,8 @@ jobs:
--prefix=/usr \
--enable-ese \
--sysconfdir=/etc \
- --enable-tools
+ --enable-tools \
+ $CONFIGURE_ARGS
fi
- name: Compile
@@ -277,6 +311,12 @@ jobs:
esac
echo "Checking for built matching architecture: $ARCH_CHECK"
file src/neard | grep "$ARCH_CHECK"
+ if [ "$VARIANT" = "sanitizers" ]; then
+ echo "Checking for linking against sanitizer libraries"
+ ldd src/neard | grep libasan.so
+ # liblsan won't appear if asan is used
+ ldd src/neard | grep libubsan.so
+ fi
- name: Install
run: make install
diff --git a/HACKING b/HACKING
index 7326242506a6..40bde2fb3c8b 100644
--- a/HACKING
+++ b/HACKING
@@ -51,8 +51,11 @@ like this:
# git clone git://git.kernel.org/pub/scm/network/.../neard.git
# cd neard
- Configure and build
+ Configure (choose only one)
# ./bootstrap-configure
+ # ./bootstrap-configure --enable-asan --enable-lsan --enable-ubsan
+
+ Build
# make
Check installation
diff --git a/ci/debian.sanitizers.sh b/ci/debian.sanitizers.sh
new file mode 100755
index 000000000000..40dc1f44b55a
--- /dev/null
+++ b/ci/debian.sanitizers.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+#
+# Copyright (c) 2021 Canonical Ltd.
+# Author: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
+# <krzk@kernel.org>
+#
+
+set -ex
+
+apt install -y --no-install-recommends \
+ liblsan0 \
+ libubsan1
+
+apt install -y --no-install-recommends libasan6 || \
+ apt install -y --no-install-recommends libasan5
+
+echo "Install finished: $0"
diff --git a/ci/ubuntu.sanitizers.sh b/ci/ubuntu.sanitizers.sh
new file mode 120000
index 000000000000..53cd9418ed35
--- /dev/null
+++ b/ci/ubuntu.sanitizers.sh
@@ -0,0 +1 @@
+debian.sanitizers.sh
\ No newline at end of file
--
2.27.0
_______________________________________________
Linux-nfc mailing list -- linux-nfc@lists.01.org
To unsubscribe send an email to linux-nfc-leave@lists.01.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
prev parent reply other threads:[~2021-07-14 11:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-14 11:05 [linux-nfc] [neard][PATCH 00/16] -Wformat=2 and few memory leaks Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 01/16] gdbus: annotate printf-like functions as accepting format Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 02/16] nfctool: " Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 03/16] mifare: use unsigned int to suppress compiler -Wstrict-overflow Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 04/16] build: enable -Wformat=2 warnings Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 05/16] build: enable -Wunsafe-loop-optimizations and -Wstrict-overflow=2 warnings Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 06/16] TODO: remove finished tasks Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 07/16] ci: build also on Ubuntu Hirsute in non-maintainer mode Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 08/16] ci: simplify getting test logs Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 09/16] build: fix missing usage of PIE check result Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 10/16] build: add support for GCC sanitizers (asan, lsan and ubsan) Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 11/16] ndef: make freeing near_ndef_message reusable Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 12/16] snep-send: fix near_ndef_message memory leak Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 13/16] unit: fix memory leaks in test-ndef-parse Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 14/16] tag: do not open-code freeing ndef message Krzysztof Kozlowski
2021-07-14 11:05 ` [linux-nfc] [neard][PATCH 15/16] unit: " Krzysztof Kozlowski
2021-07-14 11:05 ` Krzysztof Kozlowski [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210714110518.104655-17-krzysztof.kozlowski@canonical.com \
--to=krzysztof.kozlowski@canonical.com \
--cc=linux-nfc@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).