aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorPiotr Jaroszyński <p.jaroszynski@gmail.com>2010-08-19 23:39:17 +0200
committerMichael Brown <mcb30@ipxe.org>2010-08-20 10:13:04 +0100
commitb9eaf24df211591793bfe151169a23ab1567bdf9 (patch)
tree0d08906e0754715c4eaeb1322459baecb050eeeb /src/include
parent49d6f5700561be091b2b25bb7641708333e4911d (diff)
downloadipxe-b9eaf24df211591793bfe151169a23ab1567bdf9.tar.gz
[build] Fix misaligned table entries when using gcc 4.5
Declarations without the accompanying __table_entry cause misalignment of the table entries when using gcc 4.5. Fix by adding the appropriate __table_entry macro or (where possible) by removing unnecessary forward declarations. Signed-off-by: Piotr Jaroszyński <p.jaroszynski@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/arp.h6
-rw-r--r--src/include/ipxe/icmp6.h2
-rw-r--r--src/include/ipxe/ip.h5
-rw-r--r--src/include/ipxe/ip6.h8
-rw-r--r--src/include/ipxe/rarp.h4
-rw-r--r--src/include/ipxe/tcp.h2
6 files changed, 12 insertions, 15 deletions
diff --git a/src/include/ipxe/arp.h b/src/include/ipxe/arp.h
index 373a95da1..f7b99c68d 100644
--- a/src/include/ipxe/arp.h
+++ b/src/include/ipxe/arp.h
@@ -10,9 +10,7 @@
FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/tables.h>
-
-struct net_device;
-struct net_protocol;
+#include <ipxe/netdevice.h>
/** A network-layer protocol that relies upon ARP */
struct arp_net_protocol {
@@ -35,7 +33,7 @@ struct arp_net_protocol {
/** Declare an ARP protocol */
#define __arp_net_protocol __table_entry ( ARP_NET_PROTOCOLS, 01 )
-extern struct net_protocol arp_protocol;
+extern struct net_protocol arp_protocol __net_protocol;
extern int arp_resolve ( struct net_device *netdev,
struct net_protocol *net_protocol,
diff --git a/src/include/ipxe/icmp6.h b/src/include/ipxe/icmp6.h
index d2ab3bc18..1d433408d 100644
--- a/src/include/ipxe/icmp6.h
+++ b/src/include/ipxe/icmp6.h
@@ -15,7 +15,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ICMP6_NSOLICIT 135
#define ICMP6_NADVERT 136
-extern struct tcpip_protocol icmp6_protocol;
+extern struct tcpip_protocol icmp6_protocol __tcpip_protocol;
struct icmp6_header {
uint8_t type;
diff --git a/src/include/ipxe/ip.h b/src/include/ipxe/ip.h
index e3445aa47..3f3dc1f77 100644
--- a/src/include/ipxe/ip.h
+++ b/src/include/ipxe/ip.h
@@ -13,10 +13,9 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/in.h>
#include <ipxe/list.h>
#include <ipxe/retry.h>
+#include <ipxe/netdevice.h>
struct io_buffer;
-struct net_device;
-struct net_protocol;
/* IP constants */
@@ -92,6 +91,6 @@ struct frag_buffer {
extern struct list_head ipv4_miniroutes;
-extern struct net_protocol ipv4_protocol;
+extern struct net_protocol ipv4_protocol __net_protocol;
#endif /* _IPXE_IP_H */
diff --git a/src/include/ipxe/ip6.h b/src/include/ipxe/ip6.h
index 70c2fad23..e9584bd6f 100644
--- a/src/include/ipxe/ip6.h
+++ b/src/include/ipxe/ip6.h
@@ -11,6 +11,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <stdint.h>
#include <ipxe/in.h>
+#include <ipxe/netdevice.h>
+#include <ipxe/tcpip.h>
/* IP6 constants */
@@ -64,11 +66,9 @@ struct ipv6_pseudo_header {
#define IP6_NO_HEADER 0x59
struct io_buffer;
-struct net_device;
-struct net_protocol;
-extern struct net_protocol ipv6_protocol;
-extern struct tcpip_net_protocol ipv6_tcpip_protocol;
+extern struct net_protocol ipv6_protocol __net_protocol;
+extern struct tcpip_net_protocol ipv6_tcpip_protocol __tcpip_net_protocol;
extern char * inet6_ntoa ( struct in6_addr in6 );
extern int add_ipv6_address ( struct net_device *netdev,
diff --git a/src/include/ipxe/rarp.h b/src/include/ipxe/rarp.h
index 7edbe2191..f84301a43 100644
--- a/src/include/ipxe/rarp.h
+++ b/src/include/ipxe/rarp.h
@@ -9,8 +9,8 @@
FILE_LICENCE ( GPL2_OR_LATER );
-struct net_protocol;
+#include <ipxe/netdevice.h>
-extern struct net_protocol rarp_protocol;
+extern struct net_protocol rarp_protocol __net_protocol;
#endif /* _IPXE_RARP_H */
diff --git a/src/include/ipxe/tcp.h b/src/include/ipxe/tcp.h
index b189afd73..e64614646 100644
--- a/src/include/ipxe/tcp.h
+++ b/src/include/ipxe/tcp.h
@@ -342,6 +342,6 @@ static inline int tcp_in_window ( uint32_t seq, uint32_t start,
return ( ( seq - start ) < len );
}
-extern struct tcpip_protocol tcp_protocol;
+extern struct tcpip_protocol tcp_protocol __tcpip_protocol;
#endif /* _IPXE_TCP_H */