Making Netgraph compile with LLVM

Julian Elischer julian at elischer.org
Sun Mar 1 13:45:58 PST 2009


Ed Schouten wrote:
> Hello all,
> 
> It turns out Netgraph uses a language construct that is only allowed
> with GCC, but not with LLVM. According to the specs, LLVM's behaviour is
> correct. It is not allowed to do this:
> 
> 	struct a {
> 		struct {
> 			int i;
> 			char j[];
> 		} b;
> 		char k[20];
> 	};
> 
> error: variable sized type 'b' must be at end of struct or class

not sure wher eyou are seeing this.

the examples you fix don't seem to be nested structs..  what is the 
outer struct?

> 
> Diane Bruce and I thought this patch should solve this issue:
> 
> 	http://80386.nl/pub/ng.diff
> 
> Yes, I know, the solution isn't really elegant, but I think this is the
> only way to do this safely. Diane and I also compared the output of
> objdump and they seem to be equivalent, except for some reordering.
> 
> Objections before I commit this to SVN?
> 



More information about the freebsd-net mailing list