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