[Buildroot] [PATCH 1/1] package/gcc: pass -Wno-error to debug builds

Romain Naour romain.naour at gmail.com
Mon Mar 23 21:46:56 UTC 2020


Hi James,

Le 05/02/2020 à 05:23, James Hilliard a écrit :
> On Tue, Feb 4, 2020 at 4:14 PM Romain Naour <romain.naour at smile.fr> wrote:
>>
>> Hi James,
>>
>> Le 04/02/2020 à 01:10, James Hilliard a écrit :
>>> Fixes:
>>> ../../../../libsanitizer/libbacktrace/../../libbacktrace/elf.c:772:21: error: ‘st.st_mode’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
>>>    return S_ISLNK (st.st_mode);
>>>                      ^
>>>
>>
>> Can you provide a defconfig that allow to reproduce the issue.
> BR2_ENABLE_DEBUG=y
> BR2_DEBUG_3=y
> BR2_OPTIMIZE_G=y
> BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_HOST_GDB=y
> BR2_GDB_VERSION_8_3=y
> 
> FYI this fix was adapted from openembedded:
> https://github.com/openembedded/openembedded-core/blob/d3083e941578fb343454e106eba349adcc525ad3/meta/recipes-devtools/gcc/gcc-sanitizers.inc#L48-L49

Ok, I'm able to reproduce the issue even the recent gcc 8 bump.

>>
>> Thanks!
>>
>> Best regards,
>> Romain
>>
>>
>>> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
>>> ---
>>>  package/gcc/gcc.mk | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
>>> index 527f30bf22..badf358707 100644
>>> --- a/package/gcc/gcc.mk
>>> +++ b/package/gcc/gcc.mk
>>> @@ -103,6 +103,10 @@ HOST_GCC_COMMON_CONF_ENV = \
>>>  GCC_COMMON_TARGET_CFLAGS = $(TARGET_CFLAGS)
>>>  GCC_COMMON_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)
>>>
>>> +ifeq ($(BR2_ENABLE_DEBUG),y)
>>> +GCC_COMMON_TARGET_CFLAGS += -Wno-error
>>> +endif

We don't use Buildroot for gcc development, so -Wno-error can be added
unconditionally. Maybe add a comment like in the Yocto recipes about this issue.

With that fixed:
Reviewed-by: Romain Naour <romain.naour at gmail.com>

Best regards,
Romain

>>> +
>>>  # Propagate options used for target software building to GCC target libs
>>>  HOST_GCC_COMMON_CONF_ENV += CFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CFLAGS)"
>>>  HOST_GCC_COMMON_CONF_ENV += CXXFLAGS_FOR_TARGET="$(GCC_COMMON_TARGET_CXXFLAGS)"
>>>
>>



More information about the buildroot mailing list