src.conf: CFLAGS/COPTFLAGS inconsistency
Benjamin Kaduk
kaduk at MIT.EDU
Fri Sep 19 14:57:02 UTC 2014
On Fri, 19 Sep 2014, O. Hartmann wrote:
> man make.conf states, that COPTFLAGS is used for building/compiling the kernel
> (exclusively). The question arises: are kernel modules NOT kernel or are they kernel?
>
> The problem I face is that with optimization level -O3 loader.efi gets miscompiled and a
> UEFI laptop stops/reject booting. To avoid other interference, I defined COPTFLAGS
> in /etc/src.conf accordingly, but leave CFLAGS?=-O3 in /etc/make.conf for compilation of
> regular ports and the rest of the OS.
>
> I can observe that with CFLAGS set, either in make.conf, or src.conf or mutual exclusive,
> the CFLAGS is ALWAYS incorporated when kernel stuff like modules and even the loader.efi
> is built! I consider this inconsitent, since loader.efi is definitely kernel related
> stuff as well as modules.
Sorry, I don't think I understand what you're trying to say in these two
pragraphs. What does "defined COPTFLAGS in /etc/src.conf accordingly"
mean?
Likewise, what does " CFLAGS set, either in make.conf, or src.conf or
mutual exclusive" mean?
It may be best to give concrete examples of make.conf/src.conf settings
pairs, and the observed behavior.
> It seems to me that it s not possible to separate cleanly CFLAGS and COPTFLAGS for
> userland/ports and kernel-only related compilations as described in the man page.
BTW,
COPTFLAGS (str) Controls the compiler settings when building the ker-
nel. Optimization levels above [-O (-O2, ...)] are not
guaranteed to work.
Note the last sentence.
-Ben
More information about the freebsd-current
mailing list