Daniel Jacobowitz - Re: Top-level libgcc question (IA64/Linux bootstrap failure) (original) (raw)
This is the mail archive of the gcc-patches@gcc.gnu.orgmailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
- From: Daniel Jacobowitz
- To: Roger Sayle
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sat, 3 Feb 2007 17:32:15 -0500
- Subject: Re: Top-level libgcc question (IA64/Linux bootstrap failure)
- References: <9382.68.35.10.103.1170540585.squirrel@mail.eyesopen.com>
On Sat, Feb 03, 2007 at 03:09:45PM -0700, Roger Sayle wrote:
I'm trying to track down the cause of a bootstrap failure that I'm seeing on ia64-unknown-linux-gnu, that I think may have been caused either by the move of libgcc to the top-level or some recent libunwind changes.
The issue is that I'm on an older Linux distribution that doesn't provide a system libunwind, so libgcc builds a suitable libunwind.{a,so} itself. Unfortunately, the failure I'm seeing is during the build of libgcc_s.so.1.tmp that the linker fails with "cannot find -lunwind".
In theory, the problem should be reproduceable with the configure option --without-system-libunwind, but the failure mode is such that the linker will just silently continue to pick up the system /lib/libunwind.*.
I suspect the fix is that I just need to figure out where to stick a -L./ or specify ./libunwind.so or something during the libgcc.so link step.
Yes, I noticed this while experimenting with the recent profiledbootstrap bug, but I didn't change it then - I solved that another way and it didn't occur to me that libunwind was similar. What you want is probably "-B./" in addition to $(CFLAGS) in the two subst expressions for $(SHLIB_LINK).
which when necessary would create a dependency for libgcc_s.so on libunwind.so. However, in the current libgcc/Makefile.in, there appears to be no-way to get libgcc_s$(SHLIB_EXT) dependent upon libunwind$(SHLIB_EXT). Indeed my current failure is when attempting to build libgcc.so, which is done before building libunwind.so.
Try this pseudo-patch?
ifneq ($(LIBUNWIND),) all: libunwind$(SHLIB_EXT) +libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT) endif
-- Daniel Jacobowitz CodeSourcery
- Follow-Ups:
- Re: Top-level libgcc question (IA64/Linux bootstrap failure)
* From: Roger Sayle
- Re: Top-level libgcc question (IA64/Linux bootstrap failure)
- References:
- Top-level libgcc question (IA64/Linux bootstrap failure)
* From: Roger Sayle
- Top-level libgcc question (IA64/Linux bootstrap failure)
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |