public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: wilson@gcc.gnu.org
To: W.Stuehlmeyer@t-online.de, gcc-bugs@gcc.gnu.org,
	gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, wilson@gcc.gnu.org
Subject: Re: c++/6236: ia64 vtable call - Illegal Instruction
Date: Thu, 18 Apr 2002 15:03:00 -0000	[thread overview]
Message-ID: <20020418220356.23455.qmail@sources.redhat.com> (raw)

Synopsis: ia64 vtable call - Illegal Instruction

Responsible-Changed-From-To: unassigned->wilson
Responsible-Changed-By: wilson
Responsible-Changed-When: Thu Apr 18 15:03:53 2002
Responsible-Changed-Why:
    IA-64 maintainer
State-Changed-From-To: open->closed
State-Changed-By: wilson
State-Changed-When: Thu Apr 18 15:03:53 2002
State-Changed-Why:
    The program fails because it makes incorrect assumptions about
    the vtable format.
    
    Gcc now uses the new multi-vendor C++ ABI.  See
    http://www.codesourcery.com/cxx-abi/
    
    On IA-64, the vtable format does not include function pointers,
    i.e. an address of a function description.  Instead, the vtable
    includes the actual function descriptor itself.  Thus if you
    pretend the vtable is an array of function addresses, then you
    will get one more dereference than you want, and the program
    will fail.  Your code will need to be updated to handle the new
    vtable format correctly.
    
    See http://www.codesourcery.com/cxx-abi/abi.html#vtable.
    The section on function pointers is out of date, the decision
    was made to use the address/gp pair in the vtable.  You can
    see that if you look through the closed issues list.  The link
    for this is on the first page mentioned above.
    
    I don't know if this is documented anywhere in the Intel
    documentation, but this is the same way that the Intel
    compiler implements vtables, so this isn't a GNU specific
    issue.
    

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6236


             reply	other threads:[~2002-04-18 22:03 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-18 15:03 wilson [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-04-09  7:36 W.Stuehlmeyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020418220356.23455.qmail@sources.redhat.com \
    --to=wilson@gcc.gnu.org \
    --cc=W.Stuehlmeyer@t-online.de \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-gnats@gcc.gnu.org \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).