[mythtv-commits] [MythTV/mythtv] c7196b: Separate out CXXFLAGS from ECXXFLAGS in configure.

David Hampton noreply at github.com
Mon Sep 14 18:17:03 UTC 2020


  Branch: refs/heads/master
  Home:   https://github.com/MythTV/mythtv
  Commit: c7196b3b50b52fed7f48bce7d7e55b226ff0a37d
      https://github.com/MythTV/mythtv/commit/c7196b3b50b52fed7f48bce7d7e55b226ff0a37d
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythplugins/configure
    M mythplugins/settings.pro
    M mythtv/configure
    M mythtv/settings.pro

  Log Message:
  -----------
  Separate out CXXFLAGS from ECXXFLAGS in configure.

When the code in "configure" calls the add_cxxflags() function, the
new flag is currently added the value to ECXXFLAGS variable and not
the CXXFLAGS variable. That means that the compiler flag is never used
again during configure and is only passed on to the actual
compilations. This cause configure to fail when using
"--profile=hardened" because test compiles fail due to missing
arguments.

Fix this function to add to the CXXFLAGS variable, and add another
function for use by the "--extra-cxxflags" argument that adds to the
ECXXFLAGS variable. Update the qmake.pro files so that both of these
sets of flags are used in program compiles.


  Commit: d0d9a4e0bc950b44a1065b879d696f6c2c395491
      https://github.com/MythTV/mythtv/commit/d0d9a4e0bc950b44a1065b879d696f6c2c395491
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/libs/libmyth/audio/audioconvert.cpp
    M mythtv/libs/libmyth/audio/audiooutpututil.cpp

  Log Message:
  -----------
  Fix audioconvert test failures when compiling X86 optimized code.

Tell the compiler what registers are clobbered by inline assembly
code. The compiler doesn't parse inline assembly except to do variable
substitution, so this is required to prevent the compiler from making
invalid assumptions about the lifetime of values stored in registers.

In this particular case, the compiler was trying to stash the value of
"f" value into one of the XMM registers, not realizing that register
was set to "NaN" (not a number) by the end of the inline assembly
code. This caused the loop at the end of the function to zero out the
final 0 to 15 values of the output array.


  Commit: 95d79024d0563ea4b68773d945a309e74d8b25ab
      https://github.com/MythTV/mythtv/commit/95d79024d0563ea4b68773d945a309e74d8b25ab
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythplugins/mythmusic/mythmusic/musiccommon.cpp
    M mythplugins/mythmusic/mythmusic/musicplayer.cpp
    M mythtv/libs/libmythbase/mythcommandlineparser.cpp
    M mythtv/libs/libmythbase/mythsystemunix.cpp
    M mythtv/libs/libmythfreemheg/Engine.cpp
    M mythtv/libs/libmythfreemheg/Engine.h
    M mythtv/libs/libmythmetadata/videometadatalistmanager.cpp
    M mythtv/libs/libmythtv/HLS/httplivestreambuffer.cpp
    M mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp
    M mythtv/libs/libmythtv/osd.cpp
    M mythtv/libs/libmythtv/recorders/ExternalSignalMonitor.cpp
    M mythtv/libs/libmythtv/recorders/dtvsignalmonitor.cpp
    M mythtv/libs/libmythtv/recorders/dvbchannel.cpp
    M mythtv/libs/libmythtv/recorders/iptvsignalmonitor.cpp
    M mythtv/libs/libmythui/mythdialogbox.cpp
    M mythtv/programs/mythfrontend/channelrecpriority.cpp
    M mythtv/programs/mythfrontend/progfind.cpp
    M mythtv/programs/mythfrontend/videolist.cpp

  Log Message:
  -----------
  Fix null dereference warnings when compiling with optimization.

The majority of these are in the form "GetFoo()->doSomething()" where
GetFoo() can return a nullptr. The fix is to call GetFoo() once,
validate and store the result in a local variable, and then use that
validated value throughout the rest of the function.


  Commit: 14717c70981b55ab315dc70c93ca75bb77b6afc6
      https://github.com/MythTV/mythtv/commit/14717c70981b55ab315dc70c93ca75bb77b6afc6
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/programs/mythbackend/backendcontext.cpp

  Log Message:
  -----------
  Fix mythbackend null dereference warnings when compiling with optimization.

This diff is easier to read using the "-b" argument.


  Commit: b5d4950cd4e3d8da7b19c441c85f2fe6a8666a80
      https://github.com/MythTV/mythtv/commit/b5d4950cd4e3d8da7b19c441c85f2fe6a8666a80
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/libs/libmyth/test/test_audioconvert/test_audioconvert.pro
    M mythtv/libs/libmyth/test/test_audioutils/test_audioutils.pro
    M mythtv/libs/libmyth/test/test_programinfo/test_programinfo.pro
    M mythtv/libs/libmythbase/test/test_iso639/test_iso639.pro
    M mythtv/libs/libmythbase/test/test_lcddevice/test_lcddevice.pro
    M mythtv/libs/libmythbase/test/test_logging/test_logging.pro
    M mythtv/libs/libmythbase/test/test_mythcommandlineparser/test_mythcommandlineparser.pro
    M mythtv/libs/libmythbase/test/test_mythmiscutil/test_mythmiscutil.pro
    M mythtv/libs/libmythbase/test/test_mythsorthelper/test_mythsorthelper.pro
    M mythtv/libs/libmythbase/test/test_mythsystem/test_mythsystem.pro
    M mythtv/libs/libmythbase/test/test_mythsystemlegacy/test_mythsystemlegacy.pro
    M mythtv/libs/libmythbase/test/test_mythtimer/test_mythtimer.pro
    M mythtv/libs/libmythbase/test/test_template/test_template.pro
    M mythtv/libs/libmythmetadata/test/test_videometadata/test_videometadata.pro
    M mythtv/libs/libmythservicecontracts/test/test_datacontracts/test_datacontracts.pro
    M mythtv/libs/libmythtv/test/test_avcinfo/test_avcinfo.pro
    M mythtv/libs/libmythtv/test/test_copyframes/test_copyframes.pro
    M mythtv/libs/libmythtv/test/test_eitfixups/test_eitfixups.pro
    M mythtv/libs/libmythtv/test/test_frequencies/test_frequencies.pro
    M mythtv/libs/libmythtv/test/test_iptvrecorder/test_iptvrecorder.pro
    M mythtv/libs/libmythtv/test/test_mheg_dsmcc/test_mheg_dsmcc.pro
    M mythtv/libs/libmythtv/test/test_mpegtables/test_mpegtables.pro
    M mythtv/libs/libmythtv/test/test_mythiowrapper/test_mythiowrapper.pro
    M mythtv/libs/libmythtv/test/test_xine_demux/test_xine_demux.pro
    A mythtv/test.pro

  Log Message:
  -----------
  Centralize common qmake code from the test_xxx.pro files.


  Commit: 46e9b375bf2c45745bbc9e3eb78dbb9e3922519b
      https://github.com/MythTV/mythtv/commit/46e9b375bf2c45745bbc9e3eb78dbb9e3922519b
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/configure
    M mythtv/test.pro

  Log Message:
  -----------
  Fix configure to support "--profile=hardened" again.


  Commit: 2b7ee78062c92498c184ab44b5dbb60b287c0914
      https://github.com/MythTV/mythtv/commit/2b7ee78062c92498c184ab44b5dbb60b287c0914
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/programs/mythfrontend/videolist.cpp

  Log Message:
  -----------
  Fix mythfrontend null dereference warnings when compiling with optimization.


  Commit: 7136623ebf3be6af01c132bea468c226ee5e505c
      https://github.com/MythTV/mythtv/commit/7136623ebf3be6af01c132bea468c226ee5e505c
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/libs/libmythmetadata/imagescanner.cpp

  Log Message:
  -----------
  Fix imagescanner null dereference warnings when compiling with optimization.


  Commit: dc786a4d4c18d3f094ace4414d9c565de438dba6
      https://github.com/MythTV/mythtv/commit/dc786a4d4c18d3f094ace4414d9c565de438dba6
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/programs/mythtranscode/mpeg2fix.cpp
    M mythtv/programs/mythtranscode/transcode.cpp

  Log Message:
  -----------
  Fix mythtranscode null dereference warnings when compiling with optimization.


  Commit: 9b1db0262dcb3f860cdaa56d19004e5647226be5
      https://github.com/MythTV/mythtv/commit/9b1db0262dcb3f860cdaa56d19004e5647226be5
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/libs/libmythtv/captions/cc608decoder.cpp
    M mythtv/libs/libmythtv/captions/cc608decoder.h

  Log Message:
  -----------
  Fix avformatdecoder uninitialized variable warning.

This warning appeared when compiling with optimization and with
FORTIFY_SOURCE=2.

The CC608Decoder::GetServices function used to take an argument of
"bool[4]". Apparently this definition, while appearing to be pass by
value, was actually passing a pointer to the start of the array and
was therefore a pass by reference. Fix the new "std::array<bool,4>"
argument to also be pass by reference.


  Commit: 108bf77495817e4dad2313d6192fb99514be3112
      https://github.com/MythTV/mythtv/commit/108bf77495817e4dad2313d6192fb99514be3112
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythplugins/mytharchive/mytharchive/main.cpp
    M mythplugins/mythmusic/mythmusic/main.cpp
    M mythplugins/mythmusic/mythmusic/musiccommon.cpp
    M mythplugins/mythzoneminder/mythzoneminder/main.cpp
    M mythtv/libs/libmythbase/loggingserver.cpp
    M mythtv/libs/libmythbase/mythdownloadmanager.cpp
    M mythtv/libs/libmythbase/mythdownloadmanager.h
    M mythtv/libs/libmythbase/serverpool.cpp
    M mythtv/libs/libmythtv/AirPlay/mythairplayserver.cpp
    M mythtv/libs/libmythtv/AirPlay/mythraopconnection.cpp
    M mythtv/libs/libmythtv/Bluray/mythbdoverlayscreen.h
    M mythtv/libs/libmythtv/captions/subtitlescreen.h
    M mythtv/libs/libmythtv/captions/teletextscreen.h
    M mythtv/libs/libmythtv/mheg/interactivescreen.h
    M mythtv/libs/libmythtv/mheg/mhegic.cpp
    M mythtv/libs/libmythtv/mythplayer.cpp
    M mythtv/libs/libmythtv/opengl/mythvideooutopengl.cpp
    M mythtv/libs/libmythtv/osd.cpp
    M mythtv/libs/libmythui/mythnotificationcenter.cpp
    M mythtv/libs/libmythui/myththemedmenu.h
    M mythtv/libs/libmythui/mythuigroup.h
    M mythtv/libs/libmythui/mythuiguidegrid.h
    M mythtv/libs/libmythui/mythuitype.cpp
    M mythtv/libs/libmythui/mythuiwebbrowser.cpp
    M mythtv/libs/libmythui/mythvirtualkeyboard.cpp
    M mythtv/libs/libmythupnp/httpserver.cpp
    M mythtv/libs/libmythupnp/websocket.cpp
    M mythtv/programs/mythfrontend/audiogeneralsettings.cpp
    M mythtv/programs/mythfrontend/guidegrid.cpp
    M mythtv/programs/mythfrontend/main.cpp
    M mythtv/programs/mythfrontend/networkcontrol.cpp
    M mythtv/programs/mythlcdserver/lcdserver.cpp

  Log Message:
  -----------
  clazy: Use qobject_cast instead of dynamic_cast.

>From the Qt documentation:

  The qobject_cast() function behaves similarly to the standard C++
  dynamic_cast(), with the advantages that it doesn't require RTTI
  support and it works across dynamic library boundaries.


  Commit: 3f33f578e1536e70b82a42c28105203a5fb477ce
      https://github.com/MythTV/mythtv/commit/3f33f578e1536e70b82a42c28105203a5fb477ce
  Author: David Hampton <mythtv at love2code.net>
  Date:   2020-09-14 (Mon, 14 Sep 2020)

  Changed paths:
    M mythtv/libs/libmythbase/mythdownloadmanager.cpp
    M mythtv/libs/libmythtv/recorders/dvbchannel.cpp
    M mythtv/libs/libmythtv/recorders/hdhrchannel.cpp
    M mythtv/libs/libmythtv/recorders/satipchannel.cpp
    M mythtv/libs/libmythui/devices/mythcecadapter.cpp
    M mythtv/libs/libmythupnp/httpserver.cpp
    M mythtv/libs/libmythupnp/websocket.cpp
    M mythtv/programs/mythfrontend/networkcontrol.cpp
    M mythtv/programs/mythfrontend/schedulecommon.cpp

  Log Message:
  -----------
  clazy: Remove unnecessary casts.

There is no need to explicit cast to a parent object.


Compare: https://github.com/MythTV/mythtv/compare/849c2b3243d3...3f33f578e153


More information about the mythtv-commits mailing list