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.

Reply via email to