]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/radix.h
xnu-4570.20.62.tar.gz
[apple/xnu.git] / bsd / net / radix.h
index 88ce9732f697dbdc59214723a483b3bd696c3693..78f251b224f22ec38817e40a4cdbcd5fa2d55285 100644 (file)
@@ -101,7 +101,16 @@ struct radix_node {
        struct radix_node *rn_twin;
        struct radix_node *rn_ybro;
 #endif
+
+#if __arm__ && (__BIGGEST_ALIGNMENT__ > 4)
+/* For the newer ARMv7k ABI where 64-bit types are 64-bit aligned, but pointers
+ * are 32-bit:
+ * Aligned to 64-bit since this is cast to rtentry, which is 64-bit aligned.
+ */
+} __attribute__ ((aligned(8)));
+#else
 };
+#endif
 
 #define        rn_dupedkey     rn_u.rn_leaf.rn_Dupedkey
 #define        rn_key          rn_u.rn_leaf.rn_Key
@@ -195,7 +204,7 @@ struct radix_node_head {
 #define R_Free(p) FREE((caddr_t)p, M_RTABLE);
 #endif /*KERNEL*/
 
-void    rn_init(void) __attribute__((section("__TEXT, initcode")));
+void    rn_init(void);
 int     rn_inithead(void **, int);
 int     rn_refines(void *, void *);
 struct radix_node