Skip to content

Commit da5f901

Browse files
committed
Merge branch 'master' into drm-next
Conflicts: sys/compat/linuxkpi/common/include/linux/fs.h sys/compat/linuxkpi/common/include/linux/sched.h sys/compat/linuxkpi/common/include/linux/wait.h sys/compat/linuxkpi/common/src/linux_compat.c sys/compat/linuxkpi/common/src/linux_kthread.c sys/compat/linuxkpi/common/src/linux_schedule.c sys/modules/linux64/Makefile
2 parents d3f0b63 + b800412 commit da5f901

File tree

1,593 files changed

+92310
-457301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,593 files changed

+92310
-457301
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
127127
installworld kernel-toolchain libraries lint maninstall \
128128
obj objlink rerelease showconfig tags toolchain update \
129129
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
130-
_build-tools _compiler-metadata _cross-tools _includes _libraries \
130+
_build-tools _build-metadata _cross-tools _includes _libraries \
131131
build32 distribute32 install32 buildsoft distributesoft installsoft \
132132
builddtb xdev xdev-build xdev-install \
133133
xdev-links native-xtools stageworld stagekernel stage-packages \

Makefile.inc1

+55-6
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,51 @@ LIBCOMPAT= SOFT
643643
.include "Makefile.libcompat"
644644
.endif
645645

646+
# META_MODE normally ignores host file changes since every build updates
647+
# timestamps (see NO_META_IGNORE_HOST in sys.mk). There are known times
648+
# when the ABI breaks though that we want to force rebuilding WORLDTMP
649+
# to get updated host tools.
650+
.if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \
651+
!defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS)
652+
# r318736 - ino64 major ABI breakage
653+
META_MODE_BAD_ABI_VERS+= 1200031
654+
655+
.if !defined(OBJDIR_HOST_OSRELDATE)
656+
.if exists(${OBJTREE}${.CURDIR}/host-osreldate.h)
657+
OBJDIR_HOST_OSRELDATE!= \
658+
awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
659+
${OBJTREE}${.CURDIR}/host-osreldate.h
660+
.else
661+
OBJDIR_HOST_OSRELDATE= 0
662+
.endif
663+
.export OBJDIR_HOST_OSRELDATE
664+
.endif
665+
666+
# Note that this logic is the opposite of normal BOOTSTRAP handling. We want
667+
# to compare the WORLDTMP's OSRELDATE to the host's OSRELDATE. If the WORLDTMP
668+
# is older than the ABI-breakage OSRELDATE of the HOST then we rebuild.
669+
.for _ver in ${META_MODE_BAD_ABI_VERS}
670+
.if ${OSRELDATE} >= ${_ver} && ${OBJDIR_HOST_OSRELDATE} < ${_ver}
671+
_meta_mode_need_rebuild= ${_ver}
672+
.endif
673+
.endfor
674+
.if defined(_meta_mode_need_rebuild)
675+
.info META_MODE: Rebuilding host tools due to ABI breakage in __FreeBSD_version ${_meta_mode_need_rebuild}.
676+
NO_META_IGNORE_HOST_HEADERS= 1
677+
.export NO_META_IGNORE_HOST_HEADERS
678+
.endif
679+
.endif
680+
# This is only used for META_MODE+filemon to track what the oldest
681+
# __FreeBSD_version is in WORLDTMP. This purposely does NOT have
682+
# a make dependency on /usr/include/osreldate.h as the file should
683+
# only be copied when it is missing or meta mode determines it has changed.
684+
# Since host files are normally ignored without NO_META_IGNORE_HOST
685+
# the file will never be updated unless that flag is specified. This
686+
# allows tracking the oldest osreldate to force rebuilds via
687+
# META_MODE_BADABI_REVS above.
688+
host-osreldate.h: # DO NOT ADD /usr/include/osreldate.h here
689+
@cp -f /usr/include/osreldate.h ${.TARGET}
690+
646691
WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}
647692

648693
IMAKEENV= ${CROSSENV}
@@ -820,12 +865,13 @@ _cross-tools:
820865
@rm -f ${.OBJDIR}/compiler-metadata.mk
821866
${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools
822867
${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools
823-
_compiler-metadata:
868+
_build-metadata:
824869
@echo
825870
@echo "--------------------------------------------------------------"
826-
@echo ">>> stage 3.1: recording compiler metadata"
871+
@echo ">>> stage 3.1: recording build metadata"
827872
@echo "--------------------------------------------------------------"
828873
${_+_}cd ${.CURDIR}; ${WMAKE} compiler-metadata.mk
874+
${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h
829875
_includes:
830876
@echo
831877
@echo "--------------------------------------------------------------"
@@ -864,7 +910,7 @@ WMAKE_TGTS+= _cleanobj
864910
WMAKE_TGTS+= _obj
865911
.endif
866912
WMAKE_TGTS+= _build-tools _cross-tools
867-
WMAKE_TGTS+= _compiler-metadata
913+
WMAKE_TGTS+= _build-metadata
868914
WMAKE_TGTS+= _includes
869915
.endif
870916
.if !defined(NO_LIBS)
@@ -1964,7 +2010,7 @@ NXBMAKE= ${NXBENV} ${MAKE} \
19642010
MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \
19652011
MK_GDB=no MK_TESTS=no \
19662012
SSP_CFLAGS= \
1967-
MK_HTML=no NO_LINT=yes MK_MAN=no \
2013+
MK_HTML=no NO_LINT=yes MK_MAN=no MK_MAN_UTILS=yes \
19682014
-DNO_PIC MK_PROFILE=no -DNO_SHARED \
19692015
-DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
19702016
MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \
@@ -2019,6 +2065,7 @@ native-xtools: .PHONY
20192065
${_gcc_tools} \
20202066
${_clang_libs} \
20212067
${_clang} \
2068+
${_lld} \
20222069
sbin/md5 \
20232070
sbin/sysctl \
20242071
usr.bin/diff \
@@ -2037,6 +2084,8 @@ native-xtools: .PHONY
20372084
usr.bin/lex \
20382085
usr.bin/limits \
20392086
usr.bin/lorder \
2087+
${_libopenbsd} \
2088+
${_makewhatis} \
20402089
usr.bin/mktemp \
20412090
usr.bin/mt \
20422091
usr.bin/patch \
@@ -2527,8 +2576,8 @@ check-old: check-old-files check-old-libs check-old-dirs .PHONY
25272576
# showconfig - show build configuration.
25282577
#
25292578
showconfig: .PHONY
2530-
@(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1; \
2531-
${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1) 2>&1 | grep ^MK_ | sort -u
2579+
@(${MAKE} -n -f ${.CURDIR}/sys/conf/kern.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes; \
2580+
${MAKE} -n -f ${.CURDIR}/share/mk/src.opts.mk -V dummy -dg1 UPDATE_DEPENDFILE=no NO_OBJ=yes) 2>&1 | grep ^MK_ | sort -u
25322581

25332582
.if !empty(KRNLOBJDIR) && !empty(KERNCONF)
25342583
DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/

0 commit comments

Comments
 (0)