Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/freebsd-src.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-12Install working pkgconfig .pc files for compat librariesAlex Richardson
The default ones are install them to /usr/libdata/pkgconfig, and we can't use this path for compat libraries, so we use /usr/lib<suffix>/pkgconfigi here. Test Plan: grep -rn libdir= ./usr/lib32/pkgconfig/*.pc MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D34939
2022-07-01libcompat: Use WORLDTMP sysrootBrooks Davis
Now that -m32 is fixed, just install libs in ${WORLDTMP}/lib/lib32 and use the installed headers. Reviewed by: imp, jhb Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D34697
2022-02-03Makefile.libcompat: SortWarner Losh
Sort MK_BOOT before MK_CTF and remove now-useless NO_LINT while I'm here. Suggested by: brooks, emaste Sponsored by: Netflix
2022-02-03stand: Fix kboot issue on powerpc64 with MK_LIB32=yesWarner Losh
When MK_LIB32 is true, we descend into stand for make includes, make clean, etc. We shouldn't do this, so set MK_BOOT=no when we're building includes. Fixes: 6497250f6f7f PR: 261497 Sponsored by: Netflix Reviewed by: emaste, brooks (he suggested this) Differential Revision: https://reviews.freebsd.org/D34141
2021-12-09libcompat: Remove MIPS from list of compat librariesWarner Losh
Sponsored by: Netflix
2021-10-04ncurses: fix libcompat (lib32 for example) buildingBaptiste Daroussin
2021-08-04Prefer MK_SSP=no to SSP_CFLAGS=Mitchell Horne
It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no". Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31401
2021-08-04mk: format some option listsMitchell Horne
Alphabetize and give each option its own line, ahead of making another change to these lists. This makes future diffs easier to read. Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31399
2021-08-02Add build system support for ASAN+UBSAN instrumentationAlex Richardson
This adds two new options WITH_ASAN/WITH_UBSAN that can be set to enable instrumentation of all binaries with AddressSanitizer and/or UndefinedBehaviourSanitizer. This current patch is almost sufficient to get a complete buildworld with sanitizer instrumentation but in order to actually build and boot a system it depends on a few more follow-up commits. Reviewed By: brooks, kib, markj Differential Revision: https://reviews.freebsd.org/D31043
2021-08-01`make buildworld' with time logging for each stageWolfram Schneider
PR: 257141 Reviewed by: sjg,emaste Approved by: emaste Differential Revision: https://reviews.freebsd.org/D31154
2021-05-31libpmc: always generate libpmc_events.cMitchell Horne
The jevents build tool will create an empty table if it doesn't find any events, so we can remove the extra $MACHINE_CPUARCH checks. Reviewed by: gnn, ray, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30531
2021-01-07libcompat: remove redundant path for ncursesBaptiste Daroussin
Reported by: kevans
2021-01-07Rename NO_WERROR -> MK_WERROR=noAlex Richardson
As suggested in D27598. This also supports MK_WERROR.clang=no and MK_WERROR.gcc=no to support the existing NO_WERROR.<compiler> uses. Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D27601
2021-01-07Stop passing MK_WARNS=no for bootstrap toolsAlex Richardson
I got annoyed by the number of warnings that the CheriBSD build was emitting. It turns out that we are emitting lots of warnings during bootstrap because bootstrap tools are built with the default compiler flags and ignore the warnings flags that are set in bsd.sys.mk. Looking at git blame, it appears that MK_WARNS=no has been passed since rS112869, replacing the -DNO_WERROR option that was added in rS87775. This commit changes MK_WARNS=no back to -DNO_WERROR. We need to pass -DNO_WERROR, since the system compiler might have new warnings that we don't know about yet, and we shouldn't fail the build in that case. Reviewed By: imp, brooks Differential Revision: https://reviews.freebsd.org/D27598
2021-01-05ncurses: only keep the version with widechar supportBaptiste Daroussin
Only keep the widechar version of ncurses as libncursesw.so.9 Keep the old name to avoid breaking the ABI compatibility (the non widechar version libncurses.so.9 is not binary compatible with libncursesw.so.9) since all ports and base are already only linking against the widechar version we can simply remove libncurses.so.9 Since the .9 version only lived in the dev branch and never ended in a release, it is simply removed and not added to any binary compat package. Add symlinks to keep build time compatibility for anyone linking against -lncurses
2020-10-08Race in 32-bit fixedWarner Losh
Use install insteald of install.sh for 32-bit builds to fight races there. Reviewed by: markj Notes: svn path=/head/; revision=366541
2020-09-08Add WITH_/WITHOUT_CLEAN option to replace NO_CLEANEd Maste
This allows use of the standard src.conf configuration for controlling whether the tree is cleaned before build or not. The default is still to clean. Setting either NOCLEAN or NO_CLEAN will mention the new src.conf option. NOCLEAN remains a .warning, while for now NO_CLEAN is .info. Reviewed by: bdrewery (earlier version) MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D22762 Notes: svn path=/head/; revision=365439
2020-03-26Stop building libl and libyEmmanuel Vadot
Those libs aren't needed anymore so stop building them for the bootstrap tools or the compat libs. Reviewed by: bapt, emaste X-Differential Revision: D24171 Notes: svn path=/head/; revision=359324
2019-11-08libcompat: build 32-bit rtld and ldd as part of "everything"Brooks Davis
Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included directly so MD paths in Makefiles work. In the process centralize setting them in LIBCOMPATWMAKEENV. Alter .PATH and CFLAGS settings in work when the Makefile is included. While here only support LIB32 on supported platforms rather than always enabling it and requiring users of MK_LIB32 to filter based TARGET/MACHINE_ARCH. The net effect of this change is to make Makefile.libcompat only build compatability libraries. Changes relative to r354449: Correct detection of the compiler type when bsd.compat.mk is used outside Makefile.libcompat. Previously it always matched the clang case. Set LDFLAGS including the linker emulation for mips where -m32 seems to be insufficent. Reviewed by: imp, kib (origional version in r354449) Obtained from: CheriBSD (conceptually) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22251 Notes: svn path=/head/; revision=354491
2019-11-07Revert r354449: libcompat: build 32-bit rtld and ldd as part of "everything"Brooks Davis
Additional testing is required.. Notes: svn path=/head/; revision=354465
2019-11-07libcompat: build 32-bit rtld and ldd as part of "everything"Brooks Davis
Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included directly so MD paths in Makefiles work. In the process centralize setting them in LIBCOMPATWMAKEENV. Alter .PATH and CFLAGS settings in work when the Makefile is included. While here only support LIB32 on supported platforms rather than always enabling it and requiring users of MK_LIB32 to filter based TARGET/MACHINE_ARCH. The net effect of this change is to make Makefile.libcompat only build compatability libraries. Reviewed by: imp, kib Obtained from: CheriBSD (conceptually) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D22251 Notes: svn path=/head/; revision=354449
2019-10-16Build compat libraries before "everything".Brooks Davis
This is required for us to link programs against compat versions of libraries. Reviewed by: bdrewery, jhb Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353595
2019-10-16Move the per-ARCH definitions to bsd.compat.mk.Brooks Davis
This is the first step if refactoring the definitions to allow programs to be selectively linked against libcompat libraries. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=353592
2019-10-12Centralize adding OBJCOPY=${XOBJCOPY} to LIB32WMAKEFLAGS.Brooks Davis
Reviewed by: emaste, imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D21983 Notes: svn path=/head/; revision=353449
2019-07-25libsysdecode: use the proper include directoryEd Maste
Reported by: cy Reviewed by: lwhsu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D21068 Notes: svn path=/head/; revision=350327
2019-07-25Workaround the build failure on platforms have lib32 after r350301Li-Wen Hsu
Error message: make[5]: make[5]: don't know how to make /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/sys/netinet/in.h. Stop make[5]: stopped in /usr/src/lib/libsysdecode Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=350322
2019-06-29Build lib32 libl. The library is built from usr.bin/lex/lib. It would beTijl Coosemans
better to move this directory to lib/libl, but this requires more extensive changes to Makefile.inc1. This simple fix can be MFCed quickly. PR: 238874 Reviewed by: imp MFC after: 3 days Notes: svn path=/head/; revision=349548
2018-11-12Use ...-freebsd13.0 in -target strings.Brooks Davis
Reported by: Mark Millard Notes: svn path=/head/; revision=340371
2018-11-03libcompat: disable retpoline when building build toolsEd Maste
These are built with the host toolchain which may not support retpoline. While here, move the MK_ overrides to a separate line and sort them alphabetically to support future changes. MFC with: r339511 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340099
2018-08-23Fix non-FreeBSD host lib32 build for TARGET=amd64Alex Richardson
When building on non-FreeBSD systems we need to pass an explicit target triple to clang otherwise it will attempt to build with the host triple. This also has advantages when building on a FreeBSD host: we now tell clang that we are targeting at least FreeBSD 12.0 instead of an older version so it can enable newer features. Reviewed By: brooks (mentor) Approved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16842 Notes: svn path=/head/; revision=338268
2018-08-03Install the 32-bit compat sanitizer libraries.John Baldwin
The lib32 build was already building the i386 version of the clang sanitizers (libclang_rt) but they were not being installed. This enables the installation. MK_TOOLCHAIN=no was originally added to the install make environment to disable includes so that NO_INCS could be removed. The MK_TOOLCHAIN in bsd.incs.mk was subsequently renamed to MK_INCLUDES, but bsd.lib.mk doesn't even include bsd.incs.mk when LIBRARIES_ONLY is defined which the install make environment for compat libs now defines. However, setting MK_TOOLCHAIN=no forced MK_CLANG=no which disabled libclang_rt during the install32 phase. Remove MK_TOOLCHAIN=no since LIBRARIES_ONLY is now sufficient. Since the libcompat environment overrides both LIBDIR and SHLIBDIR, libclang_rt/Makefile.inc has to set both variables to force the libraries to be installed to the location expected by the compiler. Reviewed by: bdrewery, dim MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D16574 Notes: svn path=/head/; revision=337270
2018-07-30Makefile.libcompat: correctly append to make variableEd Maste
Reported by: hselasky Pointy hat to: emaste Notes: svn path=/head/; revision=336908
2018-07-30Makefile.libcompat: use one variable assignment per lineEd Maste
This makes it easier to carry or merge patches that remove gnu/ components. Notes: svn path=/head/; revision=336907
2018-06-30Don't change directory owner to root when building with -DNO_ROOTAlex Richardson
Currently the mtree calls in Makefile.inc1 all change the directory owner to match the spec file. However, we should not be doing this during distributeworld if -DNO_ROOT is passed. Additionally, when creating the WORLDTMP directory hierachy there is no need to change the owner to root so we now always pass the -W flag when populating WORLDTMP. This is also required for building FreeBSD on Linux/Mac since the required groups/users will not exist there which is how I discovered this issue. Reviewed By: emaste, bdrewery, imp Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D14185 Notes: svn path=/head/; revision=335805
2018-06-29Remove the various build flag hacks for GCC cross-compile.John Baldwin
The xtoolchain GCC packages have not required these flags since ports commits r465416 and r466701. The in-tree GCC 4.2.1 has also been patched in r335716 and r335717 to correctly honor --sysroot when looking for includes and libraries. Reviewed by: bdrewery Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D16055 Notes: svn path=/head/; revision=335782
2018-06-20Reduce exec and fstat overhead for non-build targets.Bryan Drewery
This is mostly targetting 'make showconfig' and 'make test-system-*' for the benefit of makeman and universe-one-clang work. Sponsored by: Dell EMC Notes: svn path=/head/; revision=335452
2018-06-15lib32: Fix lib/libpmc/pmu-events files ending up in source directory.Bryan Drewery
This could happen with either WITHOUT_AUTO_OBJ=yes or MAKELEVEL>0 for the initial 'make buildworld' command. This now ensures that build-tools targets have 'make obj' ran if needed. This is especially problematic for pmu-events since it is not directly connected in the build. Normally the 'make includes' call right before this implicitly creates the objdir with a 'make obj' already but misses pmu-events because it is disconnected from lib/libpmc. Fixing that would make this new 'make obj' pointless but it is being added to avoid this problem in the future should another tool be connected like this. Reported by: rgrimes, kib, kevans Sponsored by: Dell EMC Notes: svn path=/head/; revision=335225
2018-06-15libcompat: Only build libmagic build tool if MK_FILE is yes.Bryan Drewery
Sponsored by: Dell EMC Notes: svn path=/head/; revision=335218
2018-06-15Only build jevents if MK_PMC is yes and only for amd64 in libcompat.Bryan Drewery
Sponsored by: Dell EMC Notes: svn path=/head/; revision=335216
2018-06-01libpmc/pmu: enable for i386 as wellMatt Macy
Notes: svn path=/head/; revision=334455
2018-01-24X_COMPILER_* may not be defined.Bryan Drewery
Sponsored by: Dell EMC Notes: svn path=/head/; revision=328347
2018-01-16Check for GCC first rather than clang in the MIPS lib32 rules.John Baldwin
This works around a bug with X_COMPILER_TYPE and permits mips64 to build again with in-tree gcc as well as clang and external gcc. Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=328036
2018-01-11Allow MIPS lib32 to build with clang.John Baldwin
Don't try to set -march as clang doesn't permit use of the O32 ABI with newer CPU microarchitectures like 'mips3'. In addition, clang doesn't permit the O32 ABI with the default N64 target, so use an explicit O32 -target for clang. Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=327841
2017-11-05Fix nested MAKEOBJDIRPREFIX breaking various release/buildworld/toolchain ↵Bryan Drewery
targets. This problem was caused by r325329 and r325350. For the release(7) targets, some will run mm-mtree.sh which itself runs make with a MAKEOBJDIRPREFIX. The execution of that script leaks OBJROOT, MAKEOBJDIR, and MAKELEVEL=1 in the environment. This causes the mm-mtree makes to not do some basic setup of OBJROOT and only use this special MAKEOBJDIRPREFIX case which fails to empty out MAKEOBJDIRPREFIX for further nested makes, such as a tree walk. If that tree walk sets OBJROOT/OBJTOP such as r325329 is doing, then the wrong OBJDIRs end up being used due to the unemptied MAKEOBJDIRPREFIX being preferred over the proper MAKEOBJDIR. Pointyhat to: bdrewery Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325412
2017-11-05Set OBJROOT/OBJTOP as make arguments. Missed in r325329.Bryan Drewery
Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325411
2017-11-02Reduce MAKEOBJDIRPREFIX path spam by specifying a direct objdir to use.Bryan Drewery
Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325329
2017-11-02Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.Bryan Drewery
This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for native builds, and /usr/obj/<target>.<target_arch>/<srcdir> for cross builds to a new simpler format of /usr/obj/<srcdir>/<target>.<target_arch>. This new format is used regardless of cross or native build. It allows easier management of multiple source tree object directories. The UNIFIED_OBJDIR option will be removed and its feature made permanent for the 12.0 release. Relnotes: yes (don't note UNIFIED_OBJDIR option since it will be removed) Prior work: D3711 D874 Reviewed by: gjb, sjg Discussed at: https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html Discussed with: emaste Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D12840 Notes: svn path=/head/; revision=325288
2017-10-29lib32/libsoft: Store object files in a more consistent structure.Bryan Drewery
Having objects in world32 and a sysroot in lib32 was confusing and inconsistent with the normal build. Now objects are stored in obj-lib32 (or obj-libsoft) and the sysroot (analagous to WORLDTMP) is stored in obj-lib32/tmp. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325085
2017-10-29Move some LIBCOMPAT tmpdir logic setup to its own build target.Bryan Drewery
Its own build target was already handling mtree extractions just as _worldtmp did, so the other cleaning of the tmpdir makes sense here as well. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325074
2017-10-06Support armv7 builds for userlandWarner Losh
Make armv7 as a new MACHINE_ARCH. Copy all the places we do armv6 and add armv7 as basically an alias. clang appears to generate code for armv7 by default. armv7 hard float isn't supported by the the in-tree gcc, so it hasn't been updated to have a new default. Support armv7 as a new valid MACHINE_ARCH (and by extension TARGET_ARCH). Add armv7 to the universe build. Differential Revision: https://reviews.freebsd.org/D12010 Notes: svn path=/head/; revision=324340