This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: weakref miscompiling libgfortran
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: gcc at gcc dot gnu dot org
- Cc: jakub at redhat dot com, pinskia at physics dot uc dot edu, geoffk at geoffk dot org, rth at redhat dot com, aoliva at redhat dot com
- Date: Wed, 28 Dec 2005 15:18:44 -0500 (EST)
- Subject: Re: weakref miscompiling libgfortran
> > I still support a reverting of the weakref patch as it was put way too
> > late
> > for 4.1 (stage 3 is not a good idea for a new feature).
>
> Depends on if you consider it a new feature or a bug fix.
>From my perspective, this patch introduced more bugs than it fixed:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24827
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24829
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24831
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25333
The latter problem is fixed. Alex has a proposed patch to fix
the issues in the second and third PRs:
http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01486.html
However, neither this patch or Alex's first attempt at a fix have
been reviewed. Without this patch, objc is seriously broken on hpux:
http://gcc.gnu.org/ml/gcc-testresults/2005-12/msg01399.html
Although weakrefs will at best be marginally useful on hpux since
the linker and dynamic loader don't support undefined weak, PR 24827
suggests that there are other implementation issues.
Weakrefs require a recent version of GAS. I'm not convinced that
the check
#if SUPPORTS_WEAK && GTHREAD_USE_WEAK
in the gthr header files provides an adequate check as to the presence
of assembler weakref support.
PR other/4372 was first reported against 3.0.1. If I understand
correctly, this problem was mainly an annoyance in having to link
with libpthread. Since we have lived with this problem for some time,
I agree with Andrew that we don't need this in 4.1.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)