This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: g++-mike-eh8-C test failure
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Subject: Re: g++-mike-eh8-C test failure
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Mon, 10 Apr 2000 18:51:21 -0400 (EDT)
- Cc: egcs-bugs at egcs dot cygnus dot com
The problem is understood. The C++ testsuite needs to use the "-E" ld
option under hpux 10.20 to export all symbols defined by the program to
the shared libraries. When this is done, the test runs successfully.
>
> I have examined the failure of g++-mike-eh8-C under hpux 10.20. Gcc
> was built with --enable-shared and CFLAGS="-g -O3".
>
> The test dies with a segmentation fault in __eh_rtime_match:
>
> int
> __eh_rtime_match (void *rtime)
> {
> void *info;
> __eh_matcher matcher;
> void *ret;
>
> info = *(__get_eh_info ());
> matcher = ((__eh_info *)info)->match_function;
> if (! matcher)
> {
> #ifndef inhibit_libc
> fprintf (stderr, "Internal Compiler Bug: No runtime type matcher.");
> #endif
> return 0;
> }
> ret = (*matcher) (info, rtime, (void *)0);
> return (ret != NULL);
> }
>
> The segmentation fault occurs because the pointer info returned by
> __get_eh_info is NULL. Should there be a test similar to the one
> for matcher? Since the test does not fail when linked with "-static",
> it looks like the failure occurs because the _eh_info structure is
> not being properly setup with the shared version of libstdc++.
>
> --
> J. David Anglin dave.anglin@nrc.ca
> National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
>
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)