From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp40.i.mail.ru (smtp40.i.mail.ru [94.100.177.100]) (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 E77FE4696C3 for ; Mon, 13 Apr 2020 17:26:42 +0300 (MSK) Received: by smtp40.i.mail.ru with esmtpa (envelope-from ) id 1jO02s-0003z0-F2 for tarantool-patches@dev.tarantool.org; Mon, 13 Apr 2020 17:26:42 +0300 From: Vladislav Shpilevoy References: Message-ID: Date: Mon, 13 Apr 2020 16:26:41 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH 00/43] Unhide symbols List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org Another possible improvement I can think of - instead of using 'static void *syms[]' everywhere I could make all *_export_syms() functions take an argument like void (*export_f)(void **syms) And they would pass pointers at their functions there. The main file, exports.c, would pass here a function, which does nothing. Or does panic(), but we will never call these _export_syms() functions actually. Will place it under something like 'if (time(NULL) == 0)'. That would allow to turn static arrays into normal arrays on the stack and make the executable's size a bit smaller.