From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id 535C93858D39 for ; Tue, 11 Jan 2022 11:57:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 535C93858D39 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D13C11FB; Tue, 11 Jan 2022 03:57:33 -0800 (PST) Received: from [10.57.35.148] (unknown [10.57.35.148]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1B2213F774; Tue, 11 Jan 2022 03:57:32 -0800 (PST) Subject: Re: Help with an ABI peculiarity To: Florian Weimer , Jeff Law via Gcc Cc: Paul Koning , Iain Sandoe References: <6238c748-c7f3-159b-0464-2175eb6d1b0a@gmail.com> <877db80yuv.fsf@oldenburg.str.redhat.com> From: Richard Earnshaw Message-ID: <211611bc-cdfa-70a7-e1fe-c35aba63f024@foss.arm.com> Date: Tue, 11 Jan 2022 11:57:32 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <877db80yuv.fsf@oldenburg.str.redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3491.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jan 2022 11:57:35 -0000 On 10/01/2022 08:38, Florian Weimer via Gcc wrote: > * Jeff Law via Gcc: > >> Most targets these days use registers for parameter passing and >> obviously we can run out of registers on all of them.  The key >> property is the size/alignment of the argument differs depending on if >> it's pass in a register (get promoted) or passed in memory (not >> promoted).  I'm not immediately aware of another ABI with that >> feature.  Though I haven't really gone looking. > > I think what AArch64 Darwin does is not compatible with a GCC extension > that allows calling functions defined with a prototype without it (for > pre-ISO-C compatibility). Given that, anyone defining an ABI in > parallel with a GCC implementation probably has paused, reconsidered > what they were doing, and adjusted the ABI for K&R compatibility. > > Thanks, > Florian > Not having a prototype was deprecated in C89. One would hope that after 33 years we could move on from that. R.