This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/33286] New: All exception related tests fail
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Sep 2007 19:01:40 -0000
- Subject: [Bug target/33286] New: All exception related tests fail
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
All exception related tests fail on this target. For example,
Executing on host: /home/gnu/gcc/objdir/gcc/xgcc -B/home/gnu/gcc/objdir/gcc/
/xx
x/gnu/gcc/gcc/gcc/testsuite/gcc.dg/cleanup-5.c -fexceptions -fno-show-column
-lm -o ./cleanup-5.exe (timeout = 300)
PASS: gcc.dg/cleanup-5.c (test for excess errors)
Setting LD_LIBRARY_PATH to :/xxx/gnu/gcc/objdir/gcc::/xxx/gnu/gcc/objdir/gcc
FAIL: gcc.dg/cleanup-5.c execution test
I find in debugging this failure that the tests fail because
init_dwarf_reg_size_table is not being called. This leads to an
assert failure in _Unwind_SetSpColumn.
Sadly, checking must have been disabled in previous testing on this
target. The problem doesn't occur in hpux11.11 because a fix was added
to the libc version of pthread_once to call init_dwarf_reg_size_table.
This was added in PHCO_29495.
The fundamental problem is that threads are not active unless programs
are compiled and linked with -pthreads. The shared version of libc
contains stub implementations of the pthread, and as noted the hpux11.00
stub for pthread_once doesn't call the init routine.
I think the simplest fix is to provide an hppa-hpux specific version of
__gthread_active_p():
/* Return TRUE is application is linked with libpthread. */
extern int __get_ismt (void);
static inline int
__gthread_active_p (void)
{
return __get_ismt () == 2;
}
__get_ismt() appears to have been introduced in PHCO_22923 on hpux11.00,
so we may need a configure test for it. On the otherhand, I don't really
want to support old versions of libc.
The other approach to fixing this would be to always link against libpthread
when exception support is needed.
--
Summary: All exception related tests fail
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
GCC build triplet: hppa*-*-hpux11.00
GCC host triplet: hppa*-*-hpux11.00
GCC target triplet: hppa*-*-hpux11.00
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33286