[OE-core] [PATCH] gcc-sanitizers: fix -Werror=maybe-uninitialized issue

Yu, Mingli mingli.yu at windriver.com
Tue Mar 26 01:37:10 UTC 2019


Ping.

Thanks,

On 2019年03月19日 16:44, mingli.yu at windriver.com wrote:
> From: Mingli Yu <Mingli.Yu at windriver.com>
>
> When DEBUG_BUILD = "1" added in local.conf, there
> comes below build error when "bitbake gcc-sanitizers":
> | ./../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c: In function 'elf_is_symlink':
> | ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/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);
>
> Initialize st_mode member to fix the above issue.
>
> Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
> ---
>   meta/recipes-devtools/gcc/gcc-8.3.inc              |  1 +
>   .../0041-elf.c-initialize-st_mode-member.patch     | 33 ++++++++++++++++++++++
>   2 files changed, 34 insertions(+)
>   create mode 100644 meta/recipes-devtools/gcc/gcc-8.3/0041-elf.c-initialize-st_mode-member.patch
>
> diff --git a/meta/recipes-devtools/gcc/gcc-8.3.inc b/meta/recipes-devtools/gcc/gcc-8.3.inc
> index f7bf257..3501325 100644
> --- a/meta/recipes-devtools/gcc/gcc-8.3.inc
> +++ b/meta/recipes-devtools/gcc/gcc-8.3.inc
> @@ -71,6 +71,7 @@ SRC_URI = "\
>              file://0038-Re-introduce-spe-commandline-options.patch \
>              file://0039-riscv-Disable-multilib-for-OE.patch \
>              file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \
> +           file://0041-elf.c-initialize-st_mode-member.patch \
>   "
>   SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896"
>   SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c"
> diff --git a/meta/recipes-devtools/gcc/gcc-8.3/0041-elf.c-initialize-st_mode-member.patch b/meta/recipes-devtools/gcc/gcc-8.3/0041-elf.c-initialize-st_mode-member.patch
> new file mode 100644
> index 0000000..8e80c4e
> --- /dev/null
> +++ b/meta/recipes-devtools/gcc/gcc-8.3/0041-elf.c-initialize-st_mode-member.patch
> @@ -0,0 +1,33 @@
> +From 960f3e1f104192ceb80a97e665fadffda5285aab Mon Sep 17 00:00:00 2001
> +From: Mingli Yu <Mingli.Yu at windriver.com>
> +Date: Tue, 19 Mar 2019 16:23:04 +0800
> +Subject: [PATCH] elf.c: initialize st_mode member
> +
> +Initialize st_mode member to fix the below
> +build failure when -Og included in compiler flag.
> +| ./../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/libsanitizer/libbacktrace/../../libbacktrace/elf.c: In function 'elf_is_symlink':
> +| ../../../../../../../../../work-shared/gcc-8.3.0-r0/gcc-8.3.0/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);
> +
> +Upstream-Status: Submitted[https://gcc.gnu.org/ml/gcc-patches/2019-03/msg00900.html]
> +
> +Signed-off-by: Mingli Yu <Mingli.Yu at windriver.com>
> +---
> + libbacktrace/elf.c | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/libbacktrace/elf.c b/libbacktrace/elf.c
> +index f4863f0..561bdc2 100644
> +--- a/libbacktrace/elf.c
> ++++ b/libbacktrace/elf.c
> +@@ -766,6 +766,7 @@ static int
> + elf_is_symlink (const char *filename)
> + {
> +   struct stat st;
> ++  st.st_mode = 0;
> +
> +   if (lstat (filename, &st) < 0)
> +     return 0;
> +--
> +2.7.4
> +
>


More information about the Openembedded-core mailing list