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
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user