summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2015-03-24 04:34:53 +0100
committerShiz <hi@shiz.me>2015-03-24 04:51:46 +0100
commit34df6f038f872e1626040f4b49c16afbe96b8a98 (patch)
treeae20149da6291bb28163f80074a458a651f7d591
parent72276572766915890129711b16907ef3065ac630 (diff)
downloadcbb-gcc-4.6.4-34df6f038f872e1626040f4b49c16afbe96b8a98.tar.bz2
cbb-gcc-4.6.4-34df6f038f872e1626040f4b49c16afbe96b8a98.tar.xz
Fix missing libgcc dependency on CRT files.
This also fixes the build system's broken tendency to pass file dependencies directly on to the linker, by filtering the CRT files out again. See copying.midipix (9cd0746c) for copyright information. Signed-off-by: Shiz <hi@shiz.me>
-rw-r--r--libgcc/Makefile.in5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index f3b21309d..3772fc446 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -802,7 +802,7 @@ libgcc_s$(SHLIB_EXT): libgcc.map
mapfile = libgcc.map
endif
-libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts) libgcc.a
+libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts) libgcc.a $(libgcc-crt-objects)
# @multilib_flags@ is still needed because this may use
# $(GCC_FOR_TARGET) and $(LIBGCC2_CFLAGS) directly.
# @multilib_dir@ is not really necessary, but sometimes it has
@@ -810,11 +810,12 @@ libgcc_s$(SHLIB_EXT): $(libgcc-s-objects) $(extra-parts) libgcc.a
$(mkinstalldirs) $(MULTIDIR)
$(subst @multilib_flags@,$(CFLAGS) -B./,$(subst \
@multilib_dir@,$(MULTIDIR),$(subst \
+ $(libgcc-crt-objects),,$(subst \
@shlib_objs@,$(objects) libgcc.a,$(subst \
@shlib_base_name@,libgcc_s,$(subst \
@shlib_map_file@,$(mapfile),$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
# @multilib_flags@ is still needed because this may use