From patchwork Wed Dec 7 17:38:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luc Van Oostenryck X-Patchwork-Id: 9465071 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B248C6022E for ; Wed, 7 Dec 2016 18:42:16 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B5ED2851D for ; Wed, 7 Dec 2016 18:42:16 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7E0BD2855A; Wed, 7 Dec 2016 18:42:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 224F02851D for ; Wed, 7 Dec 2016 18:42:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753390AbcLGSmP (ORCPT ); Wed, 7 Dec 2016 13:42:15 -0500 Received: from mail-wj0-f195.google.com ([209.85.210.195]:35869 "EHLO mail-wj0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753235AbcLGSmP (ORCPT ); Wed, 7 Dec 2016 13:42:15 -0500 Received: by mail-wj0-f195.google.com with SMTP id j10so23966085wjb.3 for ; Wed, 07 Dec 2016 10:42:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=jc2Dre2SDVvwUQf6vReEwfRZrNVHXZfrXmmdXOaIqxo=; b=W6xdvXyr/Hf1ZRcZtUS0z+tdyUmxwT9pnfDoAxu3805haSOioum6X3nNzVzVEeLrO3 V4w3cTmpg31gYoa1Am5qwvLVcxr9ZrHot+MXxaLrnkIt9MoJk/+IP2a51G0gni+mNLNs lhyfR4b05xDRONh2rfTCmHmnBB9XOKz3+/ZKjgv3Jq/YzeKAAKqfZaoRumwy2gYg/oJO ep2TTm5oT9BQYQol23AXT1+SdDw990SaaNLFwVVAjDb9HrNN+r+uAu+3UwuakItz6bMs IYwIViljDPU9r1tufEK98lt8hzkDp2K+8UlDQYu9zvirAiozmXoXS7pWQslNgmLgAiYv HX4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=jc2Dre2SDVvwUQf6vReEwfRZrNVHXZfrXmmdXOaIqxo=; b=H+1zng5hWulbM8V5YflJLtzcEs9xxoZVE4BURXhjivIiCpjpuJIhVqm7BrpclVziMi zmjK28Sit0fmYhjR3simMU3Q/pac2ALVM4CgWmxA1OFAMtkovlSWG7h+XFD+2+JLX3x+ YIJgkdm5vj59YQkpAZgo0tyyjePooChdCY5E7X3r+rc7TT8Ki1pzYfS2eJaaKrzxJyjs mtDAnv+o2dBfC5Pg3u8+v0BMWCxIw6AnnUuXRcJ6KbxIZgIT5maYaob2QZaBW08QJ0YU nfMoRRgAs503wLAx6mQShA4lGw8zgvHZI8vBOQAjKo+vgF6ug+rwrMz4AQEpZ0OSB8Cx x1Ng== X-Gm-Message-State: AKaTC00VEIRP4xuPmZqfnrjNCp8c3hzR3Wt04ByBAmlistYF20/wsdifEVZ7GJarj7fUhQ== X-Received: by 10.194.26.170 with SMTP id m10mr60251999wjg.152.1481132299848; Wed, 07 Dec 2016 09:38:19 -0800 (PST) Received: from localhost.localdomain ([2a02:a03f:816:ae00:7dc3:2e5b:38fe:befd]) by smtp.gmail.com with ESMTPSA id ab10sm32461873wjc.45.2016.12.07.09.38.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Dec 2016 09:38:19 -0800 (PST) From: Luc Van Oostenryck To: linux-sparse@vger.kernel.org Cc: Christopher Li , Luc Van Oostenryck Subject: [PATCH] make -m32/-m64 more useful Date: Wed, 7 Dec 2016 18:38:02 +0100 Message-Id: <20161207173802.23314-1-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.10.2 Sender: linux-sparse-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sparse@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The option -m64 to just set the size of longs & pointers to 64 bits. This patch makes this option much more effective by: - adding define for LONG_MAX & SIZEOF_POINTER - define __LP64__ - let the dual option, -m32, do the same as -m64 but for 32 bit --- lib.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib.c b/lib.c index d5b56b01..e5b0bb63 100644 --- a/lib.c +++ b/lib.c @@ -402,9 +402,21 @@ static void handle_arch_m64_finalize(void) pointer_alignment = 8; size_t_ctype = &ulong_ctype; ssize_t_ctype = &long_ctype; + add_pre_buffer("#weak_define __LONG_MAX__ 0x7fffffffffffffff\n"); + add_pre_buffer("#weak_define __SIZEOF_POINTER__ 8\n"); + add_pre_buffer("#weak_define __LP64__ 1\n"); #ifdef __x86_64__ add_pre_buffer("#weak_define __x86_64__ 1\n"); #endif + } else { + bits_in_long = 32; + max_int_alignment = 4; + bits_in_pointer = 32; + pointer_alignment = 4; + size_t_ctype = &ulong_ctype; + ssize_t_ctype = &long_ctype; + add_pre_buffer("#weak_define __LONG_MAX__ 0x7fffffff\n"); + add_pre_buffer("#weak_define __SIZEOF_POINTER__ 4\n"); } }