svn commit: r274200 - head/share/mk

Andriy Gapon avg at FreeBSD.org
Tue Nov 25 13:49:33 UTC 2014


[I see that Mark reverted the change almost immediately.]

On 09/11/2014 00:24, Alexander Kabaev wrote:
> Because when building stuff with unwanted debug symbols one should make
> sure they are really gone and the patch basically undoes than promise.
> Whose job is it to strip .o's that end up in as the part of the .a
> archives, for example? DEBUG_FLAGS are there for users to be able to
> specify, khm, own debug flags and stuffing values in there
> automatically is just wrong. Also, there are these bits in our .mk
> files which I did not remember were there:
> 
> .if !defined(DEBUG_FLAGS)
> STRIP?= -s
> .endif
> 
> So, when present, DEBUG_FLAGS do prevent the stripping of binaries
> completely, making the patch as is even more wrong that I thought
> originally.

Yes, I see now.  You are right.
So, probably we need a new make variable, e.g. CTF_DEBUG_FLAGS, where we would
put C compiler flags required to produce objects suitable for generating CTF
data, if requested.  Then expansion of this variable should be on C compiler
command line(s).  And finally, CTFFLAGS should include -g option only if
DEBUG_FLAGS have it.

Does this sound about right?

Also, I think that there is a possible interaction between build options to be
kept in mind: WITH_CTF vs WITH_DEBUG_FILES.  For example, the latter is careful
enough to add -g specifically to SHARED_CFLAGS, but it also adds that option to
CTFFLAGS as well.  So, if "static" .o files are compiled with debug data because
of WITH_CTF, then the debug data may be left around because of WITH_DEBUG_FILES.

-- 
Andriy Gapon


More information about the svn-src-head mailing list