From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28361 invoked by alias); 25 Oct 2012 13:18:07 -0000 Received: (qmail 28347 invoked by uid 22791); 25 Oct 2012 13:18:04 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD,TW_KD X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 25 Oct 2012 13:17:58 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3) with ESMTP id q9PDHsBA017962; Thu, 25 Oct 2012 15:17:54 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3/Submit) id q9PDHrnJ026193; Thu, 25 Oct 2012 15:17:53 +0200 (CEST) Date: Thu, 25 Oct 2012 13:18:00 -0000 Message-Id: <201210251317.q9PDHrnJ026193@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: brobecker@adacore.com CC: gdb-patches@sourceware.org In-reply-to: <1351099417-18960-1-git-send-email-brobecker@adacore.com> Subject: Re: amd64-windows: Fix funcall with by-pointer arguments References: <1351099417-18960-1-git-send-email-brobecker@adacore.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-10/txt/msg00495.txt.bz2 > From: "Joel Brobecker" > Date: Wed, 24 Oct 2012 13:23:35 -0400 > > Hello, > > I realized a while ago that I completely misunderstood the amd64-windows > API regarding arguments that are passed by pointer. The calling > convention is published there: > > http://msdn.microsoft.com/en-us/library/zthk2dkh(v=vs.80).aspx Reading that document, I think you're much much better off just implementing your own versons of _return_value(), _push_dummy_call() for Windows. The complication of "classifying" the parameters makes very little sense on Windows, and the hookds you're adding (and that have been added in the past) only complicate the generic ABI code.