From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (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 C81E54765E1 for ; Tue, 29 Dec 2020 19:33:57 +0300 (MSK) Date: Tue, 29 Dec 2020 19:34:12 +0300 From: Alexander Turenko Message-ID: <20201229163412.pxmuqzjobsai24s5@tkn_work_nb> References: <20201228193622.652307-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20201228193622.652307-1-gorcunov@gmail.com> Subject: Re: [Tarantool-patches] [PATCH] crash: allow to build on non x86-64 machines List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cyrill Gorcunov Cc: tml , Vladislav Shpilevoy On Mon, Dec 28, 2020 at 10:36:22PM +0300, Cyrill Gorcunov via Tarantool-patches wrote: > The general purpose registers were optional earlier > lets make them optional back allowing the code to > be compiled on non x86-64 machines. > > Signed-off-by: Cyrill Gorcunov > --- > Guys, obviously I didn't test on real non x86 machine. > But since we've been notifying from public chat that > people are trying to compile tarantool on arm lets > make a quick fix. > > branch gorcunov/crash-cross-compile LGTM aside one non-critical comment below. Pushed to master. CCed Kirill. > > src/lib/core/crash.c | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/src/lib/core/crash.c b/src/lib/core/crash.c > index 8397603bc..5b50ed3c4 100644 > --- a/src/lib/core/crash.c > +++ b/src/lib/core/crash.c > @@ -30,10 +30,11 @@ > /** Use strlcpy with destination as an array */ > #define strlcpy_a(dst, src) strlcpy(dst, src, sizeof(dst)) > > -#ifdef TARGET_OS_LINUX > -#ifndef __x86_64__ > -# error "Non x86-64 architectures are not supported" > +#if defined(TARGET_OS_LINUX) && defined(__x86_64__) > +# define HAS_GREG > #endif AFAIU, we usually set such flags from the build system (cmake) and just use it in the code. It make the code a bit more clean.