On Sun, Jun 14, 2009 at 11:12 PM, Jan Engelhardt<jengelh@xxxxxxxxxx> wrote: > On Friday 2009-05-29 13:14, sachin sanap wrote: > >>Sorry dint inform you earlier that iam on 32bit ARM machine. >>The real problem is the kernel is computing the alignment on >>__alignof__(struct _xt_align) and the userspace ebtables is computing >>it on __alignof__(struct ebt_entry_target) , which are two different >>structs. >> >>I have the following patch for ebtables-v2.0.8-2 that fixes this. >>@@ -37,7 +38,7 @@ >> #define EXEC_STYLE_DAEMON 1 >> >> #ifndef EBT_MIN_ALIGN >>-#define EBT_MIN_ALIGN (__alignof__(struct ebt_entry_target)) >>+#define EBT_MIN_ALIGN (__alignof__(struct _xt_align)) >> #endif >> #define EBT_ALIGN(s) (((s) + (EBT_MIN_ALIGN-1)) & ~(EBT_MIN_ALIGN-1)) >> #define ERRORMSG_MAXLEN 128 > > Can you run this, just to give me a better understanding of ARM32? > > > #include <stdio.h> > #include <stdint.h> > #define p(t) \ > printf(#t ": %zu\n", __alignof__(t)); > > int main(void) > { > p(uint8_t); > p(uint16_t); > p(uint32_t); > p(uint64_t); > p(float); > p(double); > p(void *); > p(void (*)(void)); > } > Here is the output from ARM uint8_t: 1 uint16_t: 2 uint32_t: 4 uint64_t: 8 float: 4 double: 8 void *: 4 void (*)(void): 4 I have CONFIG_AEABI=y -Sachin Sanap -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html