Re: 2.6.23-rc3-mm1

From: Andi Kleen
Date: Wed Aug 22 2007 - 14:45:21 EST


On Wed, Aug 22, 2007 at 11:32:11AM -0700, Andrew Morton wrote:
> > On Wed, 22 Aug 2007 02:06:48 -0700 Andrew Morton wrote:
> >
> > >
> > > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.23-rc3/2.6.23-rc3-mm1/
> >
> > allyesconfig on x86_64 says:
> >
> > kernel/unwind.c:1016:31: error: undefined identifier '__builtin_labs'
> > kernel/unwind.c:1232:25: error: undefined identifier '__builtin_labs'
> >
>

Why does that compiler not know __builtin_abs?

> One wonders why x86_64-mm-unwinder.patch has an open-coded call to
> __builtin_labs(), when include/linux/kernel.h:abs() should do a fine job.

I'll fix.

>
> And what's this stuff, anyway?
>
> +typedef unsigned long uleb128_t;
> +typedef signed long sleb128_t;
> +#define sleb128abs __builtin_labs
>
> unsigned and signed little-endian 128-bit types? Nope, they're 32-bit or
> 64-bit. All very mysterious.

dwarf2 uses a magic compressing encoding for numbers that uses less bytes
for small numbers and more bytes for larger numbers. These are the base
types for this.

It's similar to fs/reiser4/dscale.h in your tree.

-Andi

-
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/