From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp54.i.mail.ru (smtp54.i.mail.ru [217.69.128.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id CF43241C5DB for ; Mon, 15 Jun 2020 17:02:26 +0300 (MSK) Date: Mon, 15 Jun 2020 17:01:42 +0300 From: Alexander Turenko Message-ID: <20200615140142.jgeryiqpfnhdxs55@tkn_work_nb> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Subject: Re: [Tarantool-patches] [PATCH 0/2] ASAN build List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Vladislav Shpilevoy Cc: tarantool-patches@dev.tarantool.org LGTM except broken coverage reporting: https://travis-ci.org/github/tarantool/tarantool/jobs/698246927 It looks quite similar to https://github.com/tarantool/tarantool/commit/415c05868f95b45a56904d5aa581358aced05efe Maybe we should add '-o ${CMAKE_BINARY_DIR}/src/box/sql/parse.c' to lemon call to write absolute path in #line directives, which may help to avoid ambiguity. WBR, Alexander Turenko. On Sun, Jun 14, 2020 at 06:24:29PM +0200, Vladislav Shpilevoy wrote: > The build was broken because sql static library couldn't find some > box symbols, when UB sanitizer was enabled. > > Appeared, that the whole sql library was broken, because there was > a cyclic dependency between box and sql libraries. > > The patch merged sql and box libraries. > > After their merge appeared that some UB sanitations 'woken up' and > started failing, about nullability attributes and usage of NULL > pointers. All of them were false-positive so the second patch > disabled them. > > After this patchset the build works, but the tests don't pass > because of this: > https://github.com/tarantool/tarantool/issues/5078. > > Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-5067-asan-build > Issue: https://github.com/tarantool/tarantool/issues/5067 > Issue: https://github.com/tarantool/tarantool/issues/4609 > > Vladislav Shpilevoy (2): > sql: don't build sql as a separate library > cmake: split UB sanitations into separate flags. > > cmake/compiler.cmake | 44 +++++++++++++-- > src/CMakeLists.txt | 2 +- > src/box/CMakeLists.txt | 101 ++++++++++++++++++++++++++++++++-- > src/box/sql/CMakeLists.txt | 109 ------------------------------------- > 4 files changed, 138 insertions(+), 118 deletions(-) > delete mode 100644 src/box/sql/CMakeLists.txt > > -- > 2.21.1 (Apple Git-122.3) >