[Click] Doing some research

Joonwoo Park joonwpark81 at gmail.com
Sun Jan 30 17:00:24 EST 2011


Hi,

Presumably this wouldn't affect to anything as radix tree is not being used anyware from click.  But it seems to me below is correct fix.
150c150
<       return rcu_dereference(*pslot);
---
>       return (void *)rcu_dereference(*(int **)&pslot);
176c176
<       rcu_assign_pointer(*pslot, item);
---
>       rcu_assign_pointer(*(int **)&pslot, (int *)item);

Dingo, if you have chance, please try patch serise that I posted yesterday.  It should work with linux 2.6.37.

Joonwoo

On Mon, Jan 24, 2011 at 10:33:57PM -0800, Bobby Longpocket wrote:
> Dingo:
> 
> Click patchless has a problem with 2.6.37.  In radix-tree.h there's a call to a macro that ends up trying to dereference a void*.  The C++ compiler doesn't like this.  You can apply the following changes to click/include/click-linuxmodule/include1/linux/radix-tree.h to make more progress with your compilation:
> 
> 150c150
> < 	return rcu_dereference(*pslot);
> ---
> > 	return (void *)rcu_dereference(*(int **)pslot);
> 176c176
> < 	rcu_assign_pointer(*pslot, item);
> ---
> > 	rcu_assign_pointer(*(int **)pslot, (int *)item);
> 
> 
> 
> ----------------
> as for linux-2.6.37, any ideas ? and another note how does one enable
> elements --enable-wifi (./configure --fix-includes --enable-wifi ) ??
> 
> today i cloned latest source from https://github.com/kohler/click
> 
> cd click
> ./configure --fix-includes
> 
> all seems fine
> 
> make
> --------snip----------
> In file included from
> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/fs.h:392:0,
>                  from /usr/builder/devel/click/linuxmodule/../lib/ino.cc:30:
> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:
> In function ‘void* radix_tree_deref_slot(void**)’:
> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:
> error: ‘void*’ is not a pointer-to-object type
> /usr/builder/devel/click/include/click-linuxmodule/include1/linux/radix-tree.h:150:9:
> error: invalid type in declaration before ‘=’ token
> 
> 
> 
>       
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list