Author: rlibby
Date: Sat Dec 19 08:38:27 2020
New Revision: 368788
URL: https://svnweb.freebsd.org/changeset/base/368788

Log:
  rtld-libc: fix incremental build
  
  ar cr is an update of an archive, not a creation of a new one.  During
  incremental builds (e.g. with meta mode) the archive was not getting
  cleaned, and so could retain now-deleted objects from previous builds.
  Now, delete the archive before creating/updating it.
  
  Reviewed by:  arichardson, bdrewery, kib
  Sponsored by: Dell EMC Isilon
  Differential Revision:        https://reviews.freebsd.org/D27663

Modified:
  head/libexec/rtld-elf/rtld-libc/Makefile.inc

Modified: head/libexec/rtld-elf/rtld-libc/Makefile.inc
==============================================================================
--- head/libexec/rtld-elf/rtld-libc/Makefile.inc        Sat Dec 19 08:16:33 
2020        (r368787)
+++ head/libexec/rtld-elf/rtld-libc/Makefile.inc        Sat Dec 19 08:38:27 
2020        (r368788)
@@ -89,8 +89,9 @@ CLEANFILES+=${_obj}.nossppico
 # We insert all the .o files from libc_nossp_pic.a into a new rtld_libc.a file
 # to ensure that only .o files that are actually used end up being included.
 rtld_libc.a: ${LIBC_NOSSP_PIC} 
${SRCTOP}/libexec/rtld-elf/rtld-libc/Makefile.inc
+       @rm -f ${.TARGET}
        ${AR} x ${LIBC_NOSSP_PIC} ${_rtld_libc_objs}
-       ${AR} cr ${.OBJDIR}/${.TARGET} ${_rtld_libc_objs}
+       ${AR} cr ${.TARGET} ${_rtld_libc_objs}
 CLEANFILES+=rtld_libc.a
 LDADD+=${.OBJDIR}/rtld_libc.a
 beforelinking: rtld_libc.a
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to