Re: 2.6.5+BK compile error: binfmt_elf on sparc64

From: Herbert Poetzl
Date: Fri Apr 16 2004 - 22:33:36 EST


On Wed, Apr 14, 2004 at 11:53:01AM -0700, David S. Miller wrote:
> On Wed, 14 Apr 2004 11:33:00 +0300 (EEST)
> Meelis Roos <mroos@xxxxxxxx> wrote:
>
> > Because of -Werror, it bails out:
> >
> > In file included from arch/sparc64/kernel/binfmt_elf32.c:154:
> > fs/binfmt_elf.c: In function `load_elf_interp':
> > fs/binfmt_elf.c:369: warning: comparison is always false due to limited range of data type
> > fs/binfmt_elf.c: In function `load_elf_binary':
> > fs/binfmt_elf.c:780: warning: comparison is always false due to limited range of data type
> >
> > It's the comparision "elf_ppnt->p_memsz > TASK_SIZE".
> >
> > p_memsz is Elf32_Word, TASK_SIZE is defined as
> > #define TASK_SIZE ((unsigned long)-VPTE_SIZE)
> >
> > At the first glance I can't see what's wrong here.
>
> The compiler is telling us that the condition is always false because a 32-bit
> value can never have the codition being tested against a 64-bit one (TASK_SIZE).
> I've tried everything to kill this warning, even casting both sides of the
> conparison to 64-bit, but gcc can still see things clearly.
>
> So just comment out the -Werror line in arch/sparc64/kernel/Makefile which is
> how I'm (unfortunately) solving this for now.

what about the good old

eppnt->p_memsz - TASK_SIZE > 0

HTH,
Herbert

> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/