Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Oct 2017 06:33:29 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Kubilay Kocak <koobs@FreeBSD.org>
Cc:        Guido Falsi <mad@madpilot.net>, Piotr Kubaj <pkubaj@anongoth.pl>, freebsd-ports@freebsd.org
Subject:   Re: Debugging ports
Message-ID:  <o9p5-qdly-wny@FreeBSD.org>
References:  <20171017160445.GA31080@smtp.iq.pl> <b612c6d0-41f1-4b6a-b424-033fa567d8bf@madpilot.net> <fa8be1ce-2408-3e5b-619a-d95accc8631e@madpilot.net> <y3o9-31kk-wny@FreeBSD.org> <3bd75024-2458-d06a-afa6-9bb75414ff0d@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kubilay Kocak <koobs@FreeBSD.org> writes:

> On 10/18/17 8:29 AM, Jan Beich wrote:
>
>> Guido Falsi <mad@madpilot.net> writes:
>> 
>>> On 10/17/2017 23:11, Guido Falsi wrote:
>>>
>>>>>
>>>>> Thing is, recompiling with WITH_DEBUG doesn't help (I only get
>>>>> memory addresses in gdb), nor does -DCMAKE_BUILD_TYPE=Debug to
>>>>> CMAKE_ARGS (the port uses CMake).
>>>
>>> Sorry, I clearly did not parse your message correctly.
>>>
>>> Looks strange though, WITH_DEBUG always worked for me... Usually I
>>> compile the whole set in poudriere with WITH_DEBUG, to make sure all
>>> libraries have symbols too.
>> 
>> WITH_DEBUG doesn't disable vendor optimizations like -fomit-frame-pointer
>> which may hinder stack unwinding, doesn't enable debug symbols for ports
>> not respecting CFLAGS, often a nop for non-C/C++ ports, etc.
>
> Could the framework WITH_DEBUG block remove this (and potentially) other
> relevant flags from C*FLAGS if present with variable modifiers?

Only for what make(1) inherits when Mk/bsd.port.mk is parsed. A lot more
ports pass the option via makefiles under WRKSRC that cannot be altered
short of patching or overriding all CFLAGS.

To get accurate list of offenders an -exp run WITH_DEBUG=1 is required
then grep(1) build logs for -fomit-frame-pointer and -O* flags. This can
result in bugs against ports that fail to properly respect CFLAGS, so the
port maintainers can help with patches.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?o9p5-qdly-wny>