[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#106466: [alpha] gcc-2.95.4.ds4-0.010703 doesn't compile on alpha and other problems



Package: gcc-2.95
Version: 0.010703
Severity: critical

Apparently, the new gcc-gas-hidden patch isn't correct, or rather, isn't
complete.  As it stands, gcc will not bootstrap with that patch applied. 
The change needed to make this patch work involves possibly changing the
C++ ABI, since we're adding __dso_handle to the binaries, which the C++
constructors and destructors are supposed to "hang off of".  These were,
in fact, the main part of the changes that got C++ working on Alpha in gcc
3.0.x.  If the entire patch is applied, which again is quite sizable and
would involve changing non-arch-specific parts of gcc, everything C++
should be recompiled on Alpha for it to work correctly.  I'm not sure this
is a good idea.

On the other hand, according to the glibc list, we need this patch or
similar to generate a glibc that doesn't have the atexit() and
fstat() problems that we have now (since it also helps hidden and weak
symbols to be linked in DSOs properly).

So the dilemma stands...

Is there any way that we can fix gcc-2.95 to link DSOs with hidden and
weak symbols properly without altering the code so much?  My alternative
seems to be to move Alpha to gcc-3.0 for woody, which generates a
properly linked glibc (supposedly..untested so far), but which may also
cause more recompilations and problems at this stage of the release cycle.

This bug is meant more as a tracking bug for me while I look into this,
but if you could ask upstream about the linking problems, I would greatly
appreciate it.  I'm a bit swamped by Alpha issues and my own packages ATM
and can't spend too much time working this out on a few lists...

C




Reply to: