[U-Boot] [PATCH] arm, ubifs: fix gcc5.x compiler warning
Jeroen Hofstee
dasuboot at myspectrum.nl
Mon Nov 30 10:20:41 CET 2015
Hello Heiko,
On 30-11-15 08:47, Heiko Schocher wrote:
> compiling U-Boot for openrd_base_defconfig with
> gcc 5.x shows the following warning:
>
> CC fs/ubifs/super.o
> In file included from fs/ubifs/ubifs.h:35:0,
> from fs/ubifs/super.c:37:
> fs/ubifs/super.c: In function 'atomic_inc':
> ./arch/arm/include/asm/atomic.h:55:2: warning: 'flags' is used uninitialized in this function [-Wuninitialized]
> local_irq_save(flags);
> ^
> fs/ubifs/super.c: In function 'atomic_dec':
> ./arch/arm/include/asm/atomic.h:64:2: warning: 'flags' is used uninitialized in this function [-Wuninitialized]
> local_irq_save(flags);
> ^
> CC fs/ubifs/sb.o
> [...]
> CC fs/ubifs/lpt.o
> In file included from include/linux/bitops.h:123:0,
> from include/common.h:20,
> from include/ubi_uboot.h:17,
> from fs/ubifs/ubifs.h:37,
> from fs/ubifs/lpt.c:35:
> fs/ubifs/lpt.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized in this function [-Wuninitialized]
> local_irq_save(flags);
> ^
> CC fs/ubifs/lpt_commit.o
> In file included from include/linux/bitops.h:123:0,
> from include/common.h:20,
> from include/ubi_uboot.h:17,
> from fs/ubifs/ubifs.h:37,
> from fs/ubifs/lpt_commit.c:26:
> fs/ubifs/lpt_commit.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized in this function [-Wuninitialized]
> local_irq_save(flags);
> ^
> CC fs/ubifs/scan.o
> CC fs/ubifs/lprops.o
> CC fs/ubifs/tnc.o
> In file included from include/linux/bitops.h:123:0,
> from include/common.h:20,
> from include/ubi_uboot.h:17,
> from fs/ubifs/ubifs.h:37,
> from fs/ubifs/tnc.c:30:
> fs/ubifs/tnc.c: In function 'test_and_set_bit':
> ./arch/arm/include/asm/bitops.h:57:2: warning: 'flags' is used uninitialized in this function [-Wuninitialized]
> local_irq_save(flags);
> ^
> CC fs/ubifs/tnc_misc.o
>
> Fix it.
>
> Signed-off-by: Heiko Schocher <hs at denx.de>
> ---
>
> arch/arm/include/asm/atomic.h | 14 +++++++-------
> arch/arm/include/asm/bitops.h | 4 ++--
> 2 files changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h
> index 34c07fe..9b79506 100644
> --- a/arch/arm/include/asm/atomic.h
> +++ b/arch/arm/include/asm/atomic.h
> @@ -32,7 +32,7 @@ typedef struct { volatile int counter; } atomic_t;
>
> static inline void atomic_add(int i, volatile atomic_t *v)
> {
> - unsigned long flags;
> + unsigned long flags = 0;
>
> local_irq_save(flags);
> v->counter += i;
> @@ -41,7 +41,7 @@ static inline void atomic_add(int i, volatile atomic_t *v)
>
Since flags is an "out" argument, something else must be wrong.
There should be no need to initialize it, since local_irq_save should
do that afaik.
Regards,
Jeroen
More information about the U-Boot
mailing list