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