patches/uClibc/0.9.30.2/140-pack-netinet-structs.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 03 23:40:22 2011 +0100 (2011-01-03)
changeset 2267 7af68e6083aa
parent 1737 e034c377c89d
permissions -rw-r--r--
libc-glibc: remove 2.3.6

This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).

It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
jocke@1737
     1
diff -urN uClibc-0.9.30.1.orig/include/netinet/igmp.h uClibc-0.9.30.1/include/netinet/igmp.h
jocke@1737
     2
--- uClibc-0.9.30.1.orig/include/netinet/igmp.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
     3
+++ uClibc-0.9.30.1/include/netinet/igmp.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
     4
@@ -69,7 +69,7 @@
jocke@1737
     5
   u_int8_t igmp_code;             /* routing code */
jocke@1737
     6
   u_int16_t igmp_cksum;           /* checksum */
jocke@1737
     7
   struct in_addr igmp_group;      /* group address */
jocke@1737
     8
-};
jocke@1737
     9
+} __attribute__ ((__packed__));
jocke@1737
    10
 
jocke@1737
    11
 #define IGMP_MINLEN			8
jocke@1737
    12
 
jocke@1737
    13
diff -urN uClibc-0.9.30.1.orig/include/netinet/in.h uClibc-0.9.30.1/include/netinet/in.h
jocke@1737
    14
--- uClibc-0.9.30.1.orig/include/netinet/in.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
    15
+++ uClibc-0.9.30.1/include/netinet/in.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
    16
@@ -202,7 +202,7 @@
jocke@1737
    17
 #define s6_addr			in6_u.u6_addr8
jocke@1737
    18
 #define s6_addr16		in6_u.u6_addr16
jocke@1737
    19
 #define s6_addr32		in6_u.u6_addr32
jocke@1737
    20
-  };
jocke@1737
    21
+  } __attribute__ ((__packed__));
jocke@1737
    22
 
jocke@1737
    23
 extern const struct in6_addr in6addr_any;        /* :: */
jocke@1737
    24
 extern const struct in6_addr in6addr_loopback;   /* ::1 */
jocke@1737
    25
@@ -229,7 +229,7 @@
jocke@1737
    26
 			   __SOCKADDR_COMMON_SIZE -
jocke@1737
    27
 			   sizeof (in_port_t) -
jocke@1737
    28
 			   sizeof (struct in_addr)];
jocke@1737
    29
-  };
jocke@1737
    30
+  } __attribute__ ((__packed__));
jocke@1737
    31
 #endif
jocke@1737
    32
 
jocke@1737
    33
 /* Ditto, for IPv6.  */
jocke@1737
    34
@@ -240,7 +240,7 @@
jocke@1737
    35
     uint32_t sin6_flowinfo;	/* IPv6 flow information */
jocke@1737
    36
     struct in6_addr sin6_addr;	/* IPv6 address */
jocke@1737
    37
     uint32_t sin6_scope_id;	/* IPv6 scope-id */
jocke@1737
    38
-  };
jocke@1737
    39
+  } __attribute__ ((__packed__));
jocke@1737
    40
 
jocke@1737
    41
 
jocke@1737
    42
 /* IPv4 multicast request.  */
jocke@1737
    43
@@ -251,7 +251,7 @@
jocke@1737
    44
 
jocke@1737
    45
     /* Local IP address of interface.  */
jocke@1737
    46
     struct in_addr imr_interface;
jocke@1737
    47
-  };
jocke@1737
    48
+  } __attribute__ ((__packed__));
jocke@1737
    49
 
jocke@1737
    50
 struct ip_mreq_source
jocke@1737
    51
   {
jocke@1737
    52
@@ -263,7 +263,7 @@
jocke@1737
    53
 
jocke@1737
    54
     /* IP address of interface.  */
jocke@1737
    55
     struct in_addr imr_sourceaddr;
jocke@1737
    56
-  };
jocke@1737
    57
+  } __attribute__ ((__packed__));
jocke@1737
    58
 
jocke@1737
    59
 /* Likewise, for IPv6.  */
jocke@1737
    60
 struct ipv6_mreq
jocke@1737
    61
@@ -273,7 +273,7 @@
jocke@1737
    62
 
jocke@1737
    63
     /* local interface */
jocke@1737
    64
     unsigned int ipv6mr_interface;
jocke@1737
    65
-  };
jocke@1737
    66
+  } __attribute__ ((__packed__));
jocke@1737
    67
 
jocke@1737
    68
 
jocke@1737
    69
 /* Multicast group request.  */
jocke@1737
    70
@@ -284,7 +284,7 @@
jocke@1737
    71
 
jocke@1737
    72
     /* Group address.  */
jocke@1737
    73
     struct sockaddr_storage gr_group;
jocke@1737
    74
-  };
jocke@1737
    75
+  } __attribute__ ((__packed__));
jocke@1737
    76
 
jocke@1737
    77
 struct group_source_req
jocke@1737
    78
   {
jocke@1737
    79
@@ -296,7 +296,7 @@
jocke@1737
    80
 
jocke@1737
    81
     /* Source address.  */
jocke@1737
    82
     struct sockaddr_storage gsr_source;
jocke@1737
    83
-  };
jocke@1737
    84
+  } __attribute__ ((__packed__));
jocke@1737
    85
 
jocke@1737
    86
 
jocke@1737
    87
 /* Full-state filter operations.  */
jocke@1737
    88
@@ -315,7 +315,7 @@
jocke@1737
    89
     uint32_t imsf_numsrc;
jocke@1737
    90
     /* Source addresses.  */
jocke@1737
    91
     struct in_addr imsf_slist[1];
jocke@1737
    92
-  };
jocke@1737
    93
+  } __attribute__ ((__packed__));
jocke@1737
    94
 
jocke@1737
    95
 #define IP_MSFILTER_SIZE(numsrc) (sizeof (struct ip_msfilter) \
jocke@1737
    96
 				  - sizeof (struct in_addr)		      \
jocke@1737
    97
@@ -336,7 +336,7 @@
jocke@1737
    98
     uint32_t gf_numsrc;
jocke@1737
    99
     /* Source addresses.  */
jocke@1737
   100
     struct sockaddr_storage gf_slist[1];
jocke@1737
   101
-};
jocke@1737
   102
+} __attribute__ ((__packed__));
jocke@1737
   103
 
jocke@1737
   104
 #define GROUP_FILTER_SIZE(numsrc) (sizeof (struct group_filter) \
jocke@1737
   105
 				   - sizeof (struct sockaddr_storage)	      \
jocke@1737
   106
@@ -460,14 +460,14 @@
jocke@1737
   107
   {
jocke@1737
   108
     struct in6_addr ipi6_addr;	/* src/dst IPv6 address */
jocke@1737
   109
     unsigned int ipi6_ifindex;	/* send/recv interface index */
jocke@1737
   110
-  };
jocke@1737
   111
+  } __attribute__ ((__packed__));
jocke@1737
   112
 
jocke@1737
   113
 /* IPv6 MTU information.  */
jocke@1737
   114
 struct ip6_mtuinfo
jocke@1737
   115
   {
jocke@1737
   116
     struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
jocke@1737
   117
     uint32_t ip6m_mtu;		   /* path MTU in host byte order */
jocke@1737
   118
-  };
jocke@1737
   119
+  } __attribute__ ((__packed__));
jocke@1737
   120
 
jocke@1737
   121
 
jocke@1737
   122
 #if 0 /*def __USE_GNU*/
jocke@1737
   123
diff -urN uClibc-0.9.30.1.orig/include/netinet/ip.h uClibc-0.9.30.1/include/netinet/ip.h
jocke@1737
   124
--- uClibc-0.9.30.1.orig/include/netinet/ip.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
   125
+++ uClibc-0.9.30.1/include/netinet/ip.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
   126
@@ -63,7 +63,7 @@
jocke@1737
   127
     u_int32_t saddr;
jocke@1737
   128
     u_int32_t daddr;
jocke@1737
   129
     /*The options start here. */
jocke@1737
   130
-  };
jocke@1737
   131
+  } __attribute__ ((__packed__));
jocke@1737
   132
 
jocke@1737
   133
 #ifdef __USE_BSD
jocke@1737
   134
 /*
jocke@1737
   135
@@ -127,7 +127,7 @@
jocke@1737
   136
     u_int8_t ip_p;			/* protocol */
jocke@1737
   137
     u_short ip_sum;			/* checksum */
jocke@1737
   138
     struct in_addr ip_src, ip_dst;	/* source and dest address */
jocke@1737
   139
-  };
jocke@1737
   140
+  } __attribute__ ((__packed__));
jocke@1737
   141
 
jocke@1737
   142
 /*
jocke@1737
   143
  * Time stamp option structure.
jocke@1737
   144
diff -urN uClibc-0.9.30.1.orig/include/netinet/ip_icmp.h uClibc-0.9.30.1/include/netinet/ip_icmp.h
jocke@1737
   145
--- uClibc-0.9.30.1.orig/include/netinet/ip_icmp.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
   146
+++ uClibc-0.9.30.1/include/netinet/ip_icmp.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
   147
@@ -43,7 +43,7 @@
jocke@1737
   148
       u_int16_t	mtu;
jocke@1737
   149
     } frag;			/* path mtu discovery */
jocke@1737
   150
   } un;
jocke@1737
   151
-};
jocke@1737
   152
+} __attribute__ ((__packed__));
jocke@1737
   153
 
jocke@1737
   154
 #define ICMP_ECHOREPLY		0	/* Echo Reply			*/
jocke@1737
   155
 #define ICMP_DEST_UNREACH	3	/* Destination Unreachable	*/
jocke@1737
   156
@@ -199,7 +199,7 @@
jocke@1737
   157
 #define	icmp_radv	icmp_dun.id_radv
jocke@1737
   158
 #define	icmp_mask	icmp_dun.id_mask
jocke@1737
   159
 #define	icmp_data	icmp_dun.id_data
jocke@1737
   160
-};
jocke@1737
   161
+} __attribute__ ((__packed__));
jocke@1737
   162
 
jocke@1737
   163
 /*
jocke@1737
   164
  * Lower bounds on packet lengths for various types.
jocke@1737
   165
diff -urN uClibc-0.9.30.1.orig/include/netinet/tcp.h uClibc-0.9.30.1/include/netinet/tcp.h
jocke@1737
   166
--- uClibc-0.9.30.1.orig/include/netinet/tcp.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
   167
+++ uClibc-0.9.30.1/include/netinet/tcp.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
   168
@@ -86,7 +86,7 @@
jocke@1737
   169
     u_int16_t th_win;		/* window */
jocke@1737
   170
     u_int16_t th_sum;		/* checksum */
jocke@1737
   171
     u_int16_t th_urp;		/* urgent pointer */
jocke@1737
   172
-};
jocke@1737
   173
+} __attribute__ ((__packed__));
jocke@1737
   174
 
jocke@1737
   175
 # else /* !__FAVOR_BSD */
jocke@1737
   176
 struct tcphdr
jocke@1737
   177
@@ -121,7 +121,7 @@
jocke@1737
   178
     u_int16_t window;
jocke@1737
   179
     u_int16_t check;
jocke@1737
   180
     u_int16_t urg_ptr;
jocke@1737
   181
-};
jocke@1737
   182
+} __attribute__ ((__packed__));
jocke@1737
   183
 # endif /* __FAVOR_BSD */
jocke@1737
   184
 
jocke@1737
   185
 enum
jocke@1737
   186
@@ -226,7 +226,7 @@
jocke@1737
   187
   u_int32_t	tcpi_rcv_space;
jocke@1737
   188
 
jocke@1737
   189
   u_int32_t	tcpi_total_retrans;
jocke@1737
   190
-};
jocke@1737
   191
+} __attribute__ ((__packed__));
jocke@1737
   192
 
jocke@1737
   193
 
jocke@1737
   194
 /* For TCP_MD5SIG socket option.  */
jocke@1737
   195
@@ -239,7 +239,7 @@
jocke@1737
   196
   u_int16_t	tcpm_keylen;			/* Key length.  */
jocke@1737
   197
   u_int32_t	__tcpm_pad2;			/* Zero.  */
jocke@1737
   198
   u_int8_t	tcpm_key[TCP_MD5SIG_MAXKEYLEN];	/* Key (binary).  */
jocke@1737
   199
-};
jocke@1737
   200
+} __attribute__ ((__packed__));
jocke@1737
   201
 
jocke@1737
   202
 #endif /* Misc.  */
jocke@1737
   203
 
jocke@1737
   204
diff -urN uClibc-0.9.30.1.orig/include/netinet/udp.h uClibc-0.9.30.1/include/netinet/udp.h
jocke@1737
   205
--- uClibc-0.9.30.1.orig/include/netinet/udp.h	2009-04-08 09:00:10.926545132 +0200
jocke@1737
   206
+++ uClibc-0.9.30.1/include/netinet/udp.h	2009-04-08 09:00:26.242514273 +0200
jocke@1737
   207
@@ -61,7 +61,7 @@
jocke@1737
   208
   u_int16_t uh_dport;		/* destination port */
jocke@1737
   209
   u_int16_t uh_ulen;		/* udp length */
jocke@1737
   210
   u_int16_t uh_sum;		/* udp checksum */
jocke@1737
   211
-};
jocke@1737
   212
+} __attribute__ ((__packed__));
jocke@1737
   213
 
jocke@1737
   214
 #else
jocke@1737
   215
 
jocke@1737
   216
@@ -71,7 +71,7 @@
jocke@1737
   217
   u_int16_t dest;
jocke@1737
   218
   u_int16_t len;
jocke@1737
   219
   u_int16_t check;
jocke@1737
   220
-};
jocke@1737
   221
+} __attribute__ ((__packed__));
jocke@1737
   222
 #endif
jocke@1737
   223
 
jocke@1737
   224
 #define SOL_UDP            17      /* sockopt level for UDP */