From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2366 invoked by alias); 18 Jul 2005 17:36:34 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 2101 invoked by uid 22791); 18 Jul 2005 17:36:02 -0000 Received: from moutng.kundenserver.de (HELO moutng.kundenserver.de) (212.227.126.188) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Mon, 18 Jul 2005 17:36:02 +0000 Received: from p54BE1B0C.dip0.t-ipconnect.de [84.190.27.12] (helo=egon) by mrelayeu.kundenserver.de with ESMTP (Nemesis), id 0MKwh2-1DuZX60QcB-0004ca; Mon, 18 Jul 2005 19:36:00 +0200 Received: from egon ([192.168.99.15]) by egon with esmtp (Exim 3.36 #1 (Debian)) id 1DuZX4-0003nS-00 for ; Mon, 18 Jul 2005 19:35:58 +0200 Message-ID: <42DBE87D.9080600@martin-kittel.de> Date: Mon, 18 Jul 2005 17:36:00 -0000 From: Martin Kittel User-Agent: Debian Thunderbird 1.0.2 (X11/20050602) MIME-Version: 1.0 To: gcc-help@gcc.gnu.org Subject: Gcc-4.0 vtable layout on IA64 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-07/txt/msg00166.txt.bz2 Hi, While trying to get the MaxDB sources compiled with gcc 4.0 on an IA64 machine I stumbled over the following comment describing the vtable layout: * gcc 3.1 on ia64 uses new c++ abi (without runtime type info): * * pInterface -> 0 ----------- 0 ----------------------- * ! virt.Meth ! ------->| gp0 | Method 0 | * ----------- |------------| | * ! : ! 8 | offset0 | | * ------------+----------| * 16 | gp1 | Method 1 | * ------------| | * 24 | offset1 | | * ------------+----------| * | : | : | * : * | : | : | * ------------+----------| * 16*(n-1)+0 | gp n | Method n | * ------------| | * 16*(n-1)+8 | offset n | | * ------------+---------- I was wondering if this is still correct with gcc 4.0 or whether there the formula should be 8*(n-1) to access method n (as that seems to correspond to what you have on i386)? Thanks for any help, Martin.