public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: bangerth@dealii.org
To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
	hans.utz@informatik.uni-ulm.de, nobody@gcc.gnu.org
Subject: Re: c++/8847: dynamic_cast segfaults with shared lib
Date: Fri, 06 Dec 2002 09:13:00 -0000	[thread overview]
Message-ID: <20021206171259.14485.qmail@sources.redhat.com> (raw)

Synopsis: dynamic_cast segfaults with shared lib

State-Changed-From-To: open->feedback
State-Changed-By: bangerth
State-Changed-When: Fri Dec  6 09:12:57 2002
State-Changed-Why:
    I can confirm the problem with a slightly smaller program:
    ------------------------------
    struct Foo {
      virtual ~Foo(){};
    };
    
    struct myBar : public Foo {
      virtual ~myBar(){};
    };
    
    int main(int, char **)
    {
      dynamic_cast<myBar *>((Foo*)new myBar());
    
      return 0;
    }
    ----------------------------------
    Linking with libGLU alone suffices to crash the program.
    
    However: on my system, which is very much like yours,
    libGLU and libGL are located in /usr/lib, i.e. are
    system libraries and are thus probably compiled with
    gcc 2.95. In contrast to libGL, libGLU has C++ symbols
    in it, so I am pretty sure that the problem stems from
    the ABI incompatibilities between the 2.95 C++ compiler
    and the 3.2 C++ compiler. This has to be expected. Linking
    C++ libraries together that have not been created with the
    same compiler asks for trouble (or at least did, prior to
    the standard gcc is trying to follow since 3.2). Can you
    report what happens if you try to use a libGLU that is
    compiled with the same compiler as the one you use
    for the rest of the project, i.e. 3.2.1?
    
    Thanks
      Wolfgang

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


             reply	other threads:[~2002-12-06 17:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-06  9:13 bangerth [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-01-27 15:54 bangerth
2003-01-27 13:06 christoph.wiedemann
2003-01-18  0:36 Markus Hillebrand
2002-12-09 13:46 Reinier.Bezuidenhout
2002-12-06  9:26 Hans Utz
2002-12-06  8:56 hans.utz

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=20021206171259.14485.qmail@sources.redhat.com \
    --to=bangerth@dealii.org \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-gnats@gcc.gnu.org \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=hans.utz@informatik.uni-ulm.de \
    --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).