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
next 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: linkBe 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).