From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id 1DEF628601 for ; Wed, 8 Aug 2018 07:10:19 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pHL2U6YIcXTY for ; Wed, 8 Aug 2018 07:10:19 -0400 (EDT) Received: from smtp49.i.mail.ru (smtp49.i.mail.ru [94.100.177.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id C588D285FB for ; Wed, 8 Aug 2018 07:10:18 -0400 (EDT) From: AKhatskevich Subject: [tarantool-patches] [PATCH 1/3] Fix: prevent guard-breaker optimization Date: Wed, 8 Aug 2018 14:10:01 +0300 Message-Id: In-Reply-To: References: In-Reply-To: References: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: georgy@tarantool.org, tarantool-patches@freelists.org In case of very aggressive optimizations the compiler can optimize guard-breaker function away and the `unit/guard` test would fail. --- test/unit/guard.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/guard.cc b/test/unit/guard.cc index 231b44c7d..2082dfd48 100644 --- a/test/unit/guard.cc +++ b/test/unit/guard.cc @@ -13,7 +13,7 @@ static int __attribute__((noinline)) stack_break_f(char *ptr) { char block[2048]; - char sum = 0; + volatile char sum = 0; memset(block, 0xff, 2048); sum += block[block[4]]; ptrdiff_t stack_diff = ptr > block ? ptr - block : block - ptr; -- 2.14.1