Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On Tuesday 08 of May 2012, Michael Stahl wrote:
 config_host.mk.in                                |    2
 configure.in                                     |   48 ++++++-----
 filter/source/pdf/impdialog.cxx                  |   29 +++----
 oox/source/dump/dumperbase.cxx                   |   15 +++
 sal/inc/rtl/string.hxx                           |    5 -
 sc/source/ui/app/inputhdl.cxx                    |    3
 solenv/gbuild/CppunitTest.mk                     |    1
 solenv/gbuild/Executable.mk                      |    1
 solenv/gbuild/Library.mk                         |    1
 solenv/gbuild/LinkTarget.mk                      |   94
++++++++--------------- solenv/gbuild/Module.mk                          | 
  6 +
 solenv/gbuild/StaticLibrary.mk                   |    1
 solenv/gbuild/gbuild.mk                          |   39 +--------
 solenv/gbuild/platform/IOS_ARM_GCC.mk            |    6 -
 solenv/gbuild/platform/WNT_INTEL_MSC.mk          |    5 -
 solenv/gbuild/platform/com_GCC_defs.mk           |    4
 solenv/gbuild/platform/macosx.mk                 |    8 -
 solenv/gbuild/platform/solaris.mk                |    3
 solenv/gbuild/platform/unxgcc.mk                 |    8 +
 toolkit/source/controls/tksimpleanimation.cxx    |    6 -
 toolkit/source/controls/tkthrobber.cxx           |   12 +-
 xmlhelp/source/cxxhelp/provider/urlparameter.cxx |    3

 Hmm, ok, I don't want to just revert once more, but since it looks to me like 
you've broken this in several ways, it is possible we don't agree on what 
these switches are actually supposed to do. As far as I can 
tell, --enable-symbols enables -g, --enable-debug does --enable-symbols and 
turns on logging+assertions and disables optimizations, and --enable-dbgutils 
does --enable-symbols plus whatever extra stuff that is BIC. That's 
indicentally also what --help says about them. What is your idea about what 
these options do?

commit a50812813de0594ac2aeb064ea4a95d66b8e4e42
Author: Michael Stahl <mstahl@redhat.com>
Date:   Mon May 7 21:33:01 2012 +0200

    gbuild: tie optimization into selective --enable-debug:

    Let --enable-debug determine whether optimization should be disabled,
    which works also for debug=t due to the setup in gbuild.mk.

    Also clean up uses of gb_COMPILEROPTFLAGS: this is now always set to
    optimization settings, and gb_COMPILERNOOPTFLAGS used in debug case,
    which should not make a difference because the only actual difference
    was that on MSVC the debug OPTFLAGS were empty, but -Od is documented
as the default for this.

 Now --enable-debug=-sc/ means that sc/ is built without -g and with -O2. In 
other words, the compiler spends extra time working on code I don't care 
about at all. There was a reason why OPT flags was empty in --enable-debug 
build - as soon as I do a developer build, I don't want the compiler to 
optimize any code, anywhere, unless explicitly told so.

 Moreover, such code actually is built also with -g. I'm not sure why, but 
something now seems to turn on -g for everything, regardless of the selective 
symbols.

commit c8fa9bd8849f0503b3803465e8ce119581e11e33
Author: Michael Stahl <mstahl@redhat.com>
Date:   Mon May 7 20:58:44 2012 +0200

    dis-entangle --enable-symbols and --enable-debug:

    OOo used to use debug level this way:
    0 is default for product build
    1 for --enable-dbgutil
    2 for environment variable debug=t, regardless of dbgutil setting
    in LO these have now morphed into:
    0 is default for product build
    1 for environment variable debug=t
    2 for --enable-dbgutil (at some intermediate stage in the past)
    1 for --enable-dbgutil (today)

    This has caused a lot of confusion and some things were not converted
    properly, including a check in LinkTarget.mk.

 This caused confusion even now. How is OSL_DEBUG_LEVEL relevant here at all?

    Developers should use --enable-debug to get useful information,
    including full debug info and assertions.

    --enable-symbols is not intended for developers, but for people
    who need their builds to be able to produce useful stack traces;
    --enable-symbols is for example set unconditionally in the Fedora RPM
    spec, and for this purpose disabling of inlining is not wanted.

 --enable-symbols should not disable inlining. If it does, it is merely a bug. 
Why should it, it's for symbols.

    It is unlikely that somebody wants symbols for only part of the build,

 Except for those people who wanted the feature of selective debug symbols.

    and consequently a different mechanism is used to set the corresponding
    flags: they are set into global gb_LinkTarget_C{,XX}FLAGS.

    So move the selective symbol feature back to --enable-debug.

 That does not make much sense. Even this very sentence says that symbols and 
debug are again tangled together.

    (this substantially reverts db8df57acd601ed084bd0122683e1bd066a4f143)

-- 
 Lubos Lunak
 l.lunak@suse.cz

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.