Re: src.conf: CFLAGS/COPTFLAGS inconsistency

From: Benjamin Kaduk <kaduk_at_MIT.EDU>
Date: Fri, 19 Sep 2014 10:56:50 -0400 (EDT)
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
Received on Fri Sep 19 2014 - 12:57:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:52 UTC