2007-02-08 21:56:15

by Andrew Walrond

[permalink] [raw]
Subject: Linux header change breaks linux-atm userspace build

Sometime between 2.6.18.3 and 2.6.20, this change...

--- /include/linux/atmarp.h 2007-01-10 16:32:05.000000000 +0000
+++ pkg/linux/include/linux/atmarp.h 2007-02-08 20:02:08.000000000 +0000
@@ -34,7 +34,7 @@
struct atmarp_ctrl {
enum atmarp_ctrl_type type; /* message type */
int itf_num;/* interface number (if present) */
- uint32_t ip; /* IP address (act_need only) */
+ __be32 ip; /* IP address (act_need only) */
};

#endif

was introduced, but __be32 is undefined, so atmarp.h should include
linux/types.h

I've cc'ed Adrian Bunk since he seemed interested last time I reported
something like this.

http://lkml.org/lkml/2007/1/19/39

Hope that is useful.

Andrew Walrond


2007-02-09 00:01:44

by David Miller

[permalink] [raw]
Subject: Re: Linux header change breaks linux-atm userspace build

From: Andrew Walrond <[email protected]>
Date: Thu, 8 Feb 2007 21:31:25 +0000

> Sometime between 2.6.18.3 and 2.6.20, this change...
>
> --- /include/linux/atmarp.h 2007-01-10 16:32:05.000000000 +0000
> +++ pkg/linux/include/linux/atmarp.h 2007-02-08 20:02:08.000000000 +0000
> @@ -34,7 +34,7 @@
> struct atmarp_ctrl {
> enum atmarp_ctrl_type type; /* message type */
> int itf_num;/* interface number (if present) */
> - uint32_t ip; /* IP address (act_need only) */
> + __be32 ip; /* IP address (act_need only) */
> };
>
> #endif
>
> was introduced, but __be32 is undefined, so atmarp.h should include
> linux/types.h

I'll fix this, thanks for reporting.

2007-02-09 07:55:56

by Andrew Walrond

[permalink] [raw]
Subject: Re: Linux header change breaks linux-atm userspace build

On Friday 09 February 2007 00:01, David Miller wrote:
> From: Andrew Walrond <[email protected]>
> Date: Thu, 8 Feb 2007 21:31:25 +0000
>
> > Sometime between 2.6.18.3 and 2.6.20, this change...
> >
> > --- /include/linux/atmarp.h 2007-01-10 16:32:05.000000000 +0000
> > +++ pkg/linux/include/linux/atmarp.h 2007-02-08 20:02:08.000000000
> > +0000 @@ -34,7 +34,7 @@
> > struct atmarp_ctrl {
> > enum atmarp_ctrl_type type; /* message type */
> > int itf_num;/* interface number (if present)
> > */ - uint32_t ip; /* IP address (act_need only)
> > */ + __be32 ip; /* IP address (act_need only)
> > */ };
> >
> > #endif
> >
> > was introduced, but __be32 is undefined, so atmarp.h should include
> > linux/types.h
>
> I'll fix this, thanks for reporting.

Actually, it seems that several other atm headers are also missing
linux/types.h. I guess you can tell which ones have changed recently using
git (I just patched linux-atm with liberal #include <linux/types.h>). But let
me know if you want a full list.

Andrew Walrond