https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78481
Bug ID: 78481 Summary: libunwind.a conflicting recipes on AIX Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: dje at gcc dot gnu.org Target Milestone: --- Target: powerpc-ibm-aix* libgcc/Makefile.in defines: libgcc.a libgcov.a libunwind.a libgcc_eh.a: -rm -f $@ objects="$(objects)"; \ if test -z "$$objects"; then \ echo 'int __libgcc_eh_dummy;' > eh_dummy.c; \ $(gcc_compile_bare) $(vis_hide) -c eh_dummy.c \ -o eh_dummy$(objext); \ objects=eh_dummy$(objext); \ fi; \ $(AR_CREATE_FOR_TARGET) $@ $$objects $(RANLIB) $@ and libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts) # @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 # more uses than just a directory name. $(mkinstalldirs) $(MULTIDIR) $(subst @multilib_flags@,$(CFLAGS) -B./,$(subst \ @multilib_dir@,$(MULTIDIR),$(subst \ @shlib_objs@,$(objects),$(subst \ @shlib_base_name@,libunwind,$(subst \ @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIBUNWIND_LINK)))))) endif SHLIB_EXT is ".a" on AIX (a shared library is an archive of shared objects), so the two recipes define the same target. This leads to the warning: Makefile:985: warning: overriding recipe for target `libunwind.a' Makefile:922: warning: ignoring old recipe for target `libunwind.a' The Makefile generates the correct result by accident.