partial-inlining: disable partial-inlining if gcc>=8.2.1
authorChris-Savinovich <csavinovich@digium.com>
Thu, 7 Mar 2019 19:48:04 +0000 (13:48 -0600)
committerChristian Savinovich <csavinovich@digium.com>
Mon, 11 Mar 2019 17:20:53 +0000 (11:20 -0600)
commit449dff997c29a247fe36000420fb0fcaf5542867
tree868da1097c3d87016b5f21230c4eee3dd72fd62f
parent30c19527bf07253517616bfa5d47389e578334a6
partial-inlining: disable partial-inlining if gcc>=8.2.1

Apply flag -fno-partial-inlining on default optimization if and only if
gcc version >= 8.2.1 (this is the current ver on Fedora and Ubuntu).
This is done to avoid a bug that causes arithmetic calculations to fail
if the following conditions are met:
1. TEST_FRAMEWORK on
2. DONT_OPTIMIZE off
3. Fedora and Ubuntu
4. GCC 8.2.1
5. There must exist a certain combination of multithreading.
6. Optimization level -O2 and -O3
7. Flag -fpartial-inline activated (default when optimization level>=2)
The following link points to a similar gcc bug reported in 2015. This leads me
to believe the bug has regressed. Note I am not able to replicate this bug
in an environment other than Asterisk + Test Framework + Test_cel because the
multithreading combination that causes it seems to be unique. Therefore I
am temporarily abandoning any thoughts of reporting the new occurrence of this
bug to gcc.gnu.org.  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65307

Change-Id: Ibd1afe60e0a38b88e85fdcd9b051004601c2f102
Makefile.rules