Revision tags: release/14.0.0 |
|
#
960b4327 |
| 02-Nov-2023 |
Andrew Turner <andrew@FreeBSD.org> |
bsd.compat.mk: Set MACHINE before including bsd.opts.mk
In bsd.opts.mk we check MACHINE_ARCH and may want to check MACHINE to decide which options to enable. Unfortunately this is included too early
bsd.compat.mk: Set MACHINE before including bsd.opts.mk
In bsd.opts.mk we check MACHINE_ARCH and may want to check MACHINE to decide which options to enable. Unfortunately this is included too early via bsd.compiler.mk.
Move including bsd.compiler.mk until after we can set MACHINE and MACHINE_ARCH.
Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42448
show more ...
|
#
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
5d6cb793 |
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables
Adding these to a new bsd.compat.pre.mk will allow other parts of the tree to iterate over the set of possible libcompats (upper and/o
bsd.compat.mk Extract _ALL_LIBCOMPATS and add related variables
Adding these to a new bsd.compat.pre.mk will allow other parts of the tree to iterate over the set of possible libcompats (upper and/or lower) rather than having to hard-code the list.
Reviewed by: brooks, jhb, emaste Differential Revision: https://reviews.freebsd.org/D41178
show more ...
|
#
a1b67573 |
| 26-Jul-2023 |
Mike Karels <karels@FreeBSD.org> |
arm64 lib32: enable building of lib32 on arm64
Enable LIB32 option on aarch64, defaulting to YES; it had defaulted to "broken". Add required variables for how to compile lib32 on arm. Use /usr/inc
arm64 lib32: enable building of lib32 on arm64
Enable LIB32 option on aarch64, defaulting to YES; it had defaulted to "broken". Add required variables for how to compile lib32 on arm. Use /usr/include/arm for armv7 (32-bit) headers, analogous to /usr/include/i386 on amd64. Omit libomp from lib32; it is not supported on armv7.
Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D40945
show more ...
|
#
1840dc06 |
| 09-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
bsd.compat.mk: Remove obsolete COMPAT_32BIT now it's unused
See commit 8fad2cda93c7 ("bsd.compat.mk: Provide new CPP and sub-make variables") for the context behind this change.
Reviewed by: emaste
bsd.compat.mk: Remove obsolete COMPAT_32BIT now it's unused
See commit 8fad2cda93c7 ("bsd.compat.mk: Provide new CPP and sub-make variables") for the context behind this change.
Reviewed by: emaste, brooks, jhb Differential Revision: https://reviews.freebsd.org/D40932
show more ...
|
#
8fad2cda |
| 09-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
bsd.compat.mk: Provide new CPP and sub-make variables
Currently the only way to detect for a libcompat build is to consult whether COMPAT_32BIT is defined (or equivalent, for downstreams with other
bsd.compat.mk: Provide new CPP and sub-make variables
Currently the only way to detect for a libcompat build is to consult whether COMPAT_32BIT is defined (or equivalent, for downstreams with other libcompats or past releases with libsoft as COMPAT_SOFTFP). There are two issues with this:
1. COMPAT_32BIT is a new naming scheme that doesn't match the libcompat name, which is unnecessary deviation. 2. When multiple libcompats exist, everywhere that needs to detect a libcompat must check each variable in turn, despite the fact that it normally just wants to know if this is a libcompat build and perhaps what ${LIBCOMPAT} and/or ${libcompat} are for it.
As a result, far too many places in the tree need to know about the set of possible libcompats.
Instead, introduce two new CPP and sub-make variables, COMPAT_LIBCOMPAT and COMPAT_libcompat, which give the values for ${LIBCOMPAT} and ${libcompat} respectively, so that uses can be made parameterised. For when code really does need to know the specific libcompat, Makefiles can perform a string comparison, but the C preprocessor cannot, so introduce an additional CPP-only COMPAT_LIB${LIBCOMPAT} which is intended to replace the inconsistently-named COMPAT_32BIT (which will be removed in future). Uses of this new variable should still be kept to a minimum, however, given the code duplication needed for new libcompats.
Reviewed by: emaste, brooks, jhb Differential Revision: https://reviews.freebsd.org/D40922
show more ...
|
#
aa856765 |
| 07-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
bsd.compat.mk: Fix indentation for alignment
Fixes: 91d7edd549f5 ("Generalise libcompat to be a list rather than a single option")
|
#
91d7edd5 |
| 28-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since t
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since the only option is lib32 anyway, but downstreams, such as CheriBSD, may wish to support multiple at the same time. Thus, adjust the top-level Makefiles to turn _LIBCOMPAT into a _LIBCOMPATS list that gets iterated over, and adjust bsd.compat.mk to support this use-case.
For the normal NEED_COMPAT/WANT_COMPAT case, LIBCOMPATFOO remain set and refer to the requested compat's, preserving the current interface. For the top-level Makefiles those variables are no longer set (since there is no longer "the" compat) and only the per-compat ones are available.
Reviewed by: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D40571
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
b2dcde7e |
| 19-Jul-2022 |
Ed Maste <emaste@FreeBSD.org> |
Assemble .s to .o using cc, not as
As of commit fd71da37d478 we no longer have an `as` in the default toolchain. Although we do not make use of this rule in the base system some ports or downstream
Assemble .s to .o using cc, not as
As of commit fd71da37d478 we no longer have an `as` in the default toolchain. Although we do not make use of this rule in the base system some ports or downstream projects might. Use `cc -x assembler` instead of as.
Reviewed by: arichardson Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35859
show more ...
|
#
426fc376 |
| 05-Oct-2022 |
Brooks Davis <brooks@FreeBSD.org> |
bsd.cpu.mk: Introduce MACHINE_ABI
MACHINE_ABI is a list of properties of the ABI used for MACHINE_ARCH. It should be used in place of long conditionals on MACHINE_ARCH where practical.
The followin
bsd.cpu.mk: Introduce MACHINE_ABI
MACHINE_ABI is a list of properties of the ABI used for MACHINE_ARCH. It should be used in place of long conditionals on MACHINE_ARCH where practical.
The following properties are indicated with one of the follow values:
Byte order: big-endian, little-endian Floating point ABI: soft-float, hard-float Size of long (size_t, etc): long32, long64 Pointer type: ptr32, ptr64 Size of time_t: time32, time64
For example, i386 targets will be: MACHINE_ABI= big-endian hard-float long32 ptr32 time32
Reviewed by: imp Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D36421
show more ...
|
#
ac175bd3 |
| 12-Aug-2022 |
Alex Richardson <arichardson@FreeBSD.org> |
Install working pkgconfig .pc files for compat libraries
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>/pkgc
Install working pkgconfig .pc files for compat libraries
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
show more ...
|
#
724123b9 |
| 01-Jul-2022 |
Brooks Davis <brooks@FreeBSD.org> |
libcompat: Use WORLDTMP sysroot
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
libcompat: Use WORLDTMP sysroot
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
show more ...
|
Revision tags: release/13.1.0 |
|
#
f9ee4156 |
| 03-May-2022 |
Alfredo Dal'Ava Junior <alfredo@FreeBSD.org> |
build target triple variable from sys/conf/newvers.sh
Retrieve FreeBSD revision number directly from sys/conf/newvers.sh when building the compiler target triple value, avoiding manual intervention
build target triple variable from sys/conf/newvers.sh
Retrieve FreeBSD revision number directly from sys/conf/newvers.sh when building the compiler target triple value, avoiding manual intervention on other files every new release.
Reviewed by: imp MFC after: 2 months Sponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D34429
show more ...
|
#
ffe74ab7 |
| 05-Feb-2022 |
John Baldwin <jhb@FreeBSD.org> |
bsd.compat.mk: A few cosmetic fixes.
- Add a missing ')' to a warning.
- Consistently use {} when expanding variables.
- Remove a spurious blank line.
Reviewed by: imp, emaste Obtained from: Cher
bsd.compat.mk: A few cosmetic fixes.
- Add a missing ')' to a warning.
- Consistently use {} when expanding variables.
- Remove a spurious blank line.
Reviewed by: imp, emaste Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D34172
show more ...
|
#
b68d6892 |
| 07-Jan-2022 |
Warner Losh <imp@FreeBSD.org> |
libsoft: Remove targets to generate libsoft
Remove the targets needed to make and install libsoft.
Sponsored by: Netflix
|
#
539d3220 |
| 02-Jan-2022 |
Warner Losh <imp@FreeBSD.org> |
bsd.compat.mk: Remove support for mips64
No longer need to care about mips32 binaries on mips64 for lib32 support.
Sponsored by: Netflix
|
Revision tags: release/12.3.0 |
|
#
7bc797e3 |
| 02-Aug-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Add build system support for ASAN+UBSAN instrumentation
This adds two new options WITH_ASAN/WITH_UBSAN that can be set to enable instrumentation of all binaries with AddressSanitizer and/or Undefine
Add build system support for ASAN+UBSAN instrumentation
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
show more ...
|
Revision tags: release/13.0.0 |
|
#
a53ce3fc |
| 22-Jan-2021 |
Glen Barber <gjb@FreeBSD.org> |
Bump CURRENT to 14.0
This one goes to 14.
Approved by: re (implicit) Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
556fcdce |
| 16-Dec-2020 |
Bryan Drewery <bdrewery@FreeBSD.org> |
bsd.compat.mk: Allow finding non-internal libraries
Currently only libexec/rtld-elf32 uses internal LIBC_NOSSP_PIC during the build but it gets it directly from the objdir rather than a sysroot. For
bsd.compat.mk: Allow finding non-internal libraries
Currently only libexec/rtld-elf32 uses internal LIBC_NOSSP_PIC during the build but it gets it directly from the objdir rather than a sysroot. For example, /usr/obj/usr/src/amd64.amd64/obj-lib32/lib/libc/libc_nossp_pic.a. We don't stage lib32 libraries in WORLDTMP/usr/lib32 and doing so doesn't buy much. If we want to use a staged lib32 library then we need to look in LIBCOMPATTMP where they were staged. For example if LIBC_PIC were wanted then look for /usr/obj/usr/src/amd64.amd64/obj-lib32/tmp/usr/lib32/libc_pic.a.
Reported by: rlibby Reviewed by: rlibby Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D27648
show more ...
|
Revision tags: release/12.2.0 |
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
e2ec0743 |
| 17-Aug-2020 |
John Baldwin <jhb@FreeBSD.org> |
Move -L${LIBCOMPATTMP}/usr/lib${libcompat} from CFLAGS to LDFLAGS.
This is only needed when linking and fixes various "unused command line argument" warnings during the lib32 build.
Reviewed by: bd
Move -L${LIBCOMPATTMP}/usr/lib${libcompat} from CFLAGS to LDFLAGS.
This is only needed when linking and fixes various "unused command line argument" warnings during the lib32 build.
Reviewed by: bdrewery Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26068
show more ...
|
Revision tags: release/11.4.0 |
|
#
4d94781b |
| 27-Mar-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC] Fix LIB32WMAKEFLAGS definition
When I modified the LIB32WMAKEFLAGS= definition, I trimmed too much off. -m is meant to be a parameter to LD.
Reported by: arichardson
|
#
a04ec978 |
| 27-Mar-2020 |
Brandon Bergren <bdragon@FreeBSD.org> |
[PowerPC] Switch powerpc and powerpcspe to lld
Now that LLD 10 is out, and required patches have landed, we are now ready to finally switch away from the ancient in-tree ld.bfd.
Special thanks to F
[PowerPC] Switch powerpc and powerpcspe to lld
Now that LLD 10 is out, and required patches have landed, we are now ready to finally switch away from the ancient in-tree ld.bfd.
Special thanks to Fangrui Song for many hours of work on getting the 32-bit powerpc lld ready for prime-time.
Reviewed by: emaste (earlier revision), jhibbits Relnotes: yes Differential Revision: https://reviews.freebsd.org/D24111
show more ...
|
#
2ac6b71f |
| 07-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358712 through r358730.
|
#
dc0a7e13 |
| 07-Mar-2020 |
Justin Hibbits <jhibbits@FreeBSD.org> |
compat: Allow explicit overriding of COMPAT_ARCH and COMPAT_CPUTYPE
Summary: Allow src.conf to override the inferred COMPAT_ARCH and COMPAT_CPUTYPE variables, such that a different CPU target can be
compat: Allow explicit overriding of COMPAT_ARCH and COMPAT_CPUTYPE
Summary: Allow src.conf to override the inferred COMPAT_ARCH and COMPAT_CPUTYPE variables, such that a different CPU target can be specified explicitly for the general target vs the compat target.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D23992
show more ...
|