Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/tcpdump/dist Minimal change to suppress unalign...



details:   https://anonhg.NetBSD.org/src/rev/db5c183737ab
branches:  trunk
changeset: 379421:db5c183737ab
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Sun May 30 21:48:42 2021 +0000

description:
Minimal change to suppress unaligned access errors on NetBSD/alpha; add
the UNALIGNED decoration to icmp6 related structures.

PR bin/56199.

diffstat:

 external/bsd/tcpdump/dist/print-icmp6.c |  46 ++++++++++++++++----------------
 1 files changed, 23 insertions(+), 23 deletions(-)

diffs (208 lines):

diff -r 22000c0b2613 -r db5c183737ab external/bsd/tcpdump/dist/print-icmp6.c
--- a/external/bsd/tcpdump/dist/print-icmp6.c   Sun May 30 21:16:54 2021 +0000
+++ b/external/bsd/tcpdump/dist/print-icmp6.c   Sun May 30 21:48:42 2021 +0000
@@ -21,7 +21,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__RCSID("$NetBSD: print-icmp6.c,v 1.13 2020/02/24 18:39:47 kamil Exp $");
+__RCSID("$NetBSD: print-icmp6.c,v 1.14 2021/05/30 21:48:42 thorpej Exp $");
 #endif
 
 /* \summary: IPv6 Internet Control Message Protocol (ICMPv6) printer */
@@ -91,7 +91,7 @@ struct icmp6_hdr {
                uint16_t        icmp6_un_data16[2]; /* type-specific field */
                uint8_t         icmp6_un_data8[4];  /* type-specific field */
        } icmp6_dataun;
-};
+} UNALIGNED;
 
 #define icmp6_data32   icmp6_dataun.icmp6_un_data32
 #define icmp6_data16   icmp6_dataun.icmp6_un_data16
@@ -183,7 +183,7 @@ struct icmp6_hdr {
 struct mld6_hdr {
        struct icmp6_hdr        mld6_hdr;
        struct in6_addr         mld6_addr; /* multicast address */
-};
+} UNALIGNED;
 
 #define mld6_type      mld6_hdr.icmp6_type
 #define mld6_code      mld6_hdr.icmp6_code
@@ -201,7 +201,7 @@ struct mld6_hdr {
 struct nd_router_solicit {     /* router solicitation */
        struct icmp6_hdr        nd_rs_hdr;
        /* could be followed by options */
-};
+} UNALIGNED;
 
 #define nd_rs_type     nd_rs_hdr.icmp6_type
 #define nd_rs_code     nd_rs_hdr.icmp6_code
@@ -213,7 +213,7 @@ struct nd_router_advert {   /* router adve
        uint32_t                nd_ra_reachable;        /* reachable time */
        uint32_t                nd_ra_retransmit;       /* retransmit timer */
        /* could be followed by options */
-};
+} UNALIGNED;
 
 #define nd_ra_type             nd_ra_hdr.icmp6_type
 #define nd_ra_code             nd_ra_hdr.icmp6_code
@@ -241,7 +241,7 @@ struct nd_neighbor_solicit {        /* neighbor
        struct icmp6_hdr        nd_ns_hdr;
        struct in6_addr         nd_ns_target;   /*target address */
        /* could be followed by options */
-};
+} UNALIGNED;
 
 #define nd_ns_type             nd_ns_hdr.icmp6_type
 #define nd_ns_code             nd_ns_hdr.icmp6_code
@@ -252,7 +252,7 @@ struct nd_neighbor_advert { /* neighbor 
        struct icmp6_hdr        nd_na_hdr;
        struct in6_addr         nd_na_target;   /* target address */
        /* could be followed by options */
-};
+} UNALIGNED;
 
 #define nd_na_type             nd_na_hdr.icmp6_type
 #define nd_na_code             nd_na_hdr.icmp6_code
@@ -268,7 +268,7 @@ struct nd_redirect {                /* redirect */
        struct in6_addr         nd_rd_target;   /* target address */
        struct in6_addr         nd_rd_dst;      /* destination address */
        /* could be followed by options */
-};
+} UNALIGNED;
 
 #define nd_rd_type             nd_rd_hdr.icmp6_type
 #define nd_rd_code             nd_rd_hdr.icmp6_code
@@ -301,7 +301,7 @@ struct nd_opt_prefix_info { /* prefix in
        nd_uint32_t             nd_opt_pi_preferred_time;
        nd_uint32_t             nd_opt_pi_reserved2;
        struct in6_addr nd_opt_pi_prefix;
-};
+} UNALIGNED;
 
 #define ND_OPT_PI_FLAG_ONLINK          0x80
 #define ND_OPT_PI_FLAG_AUTO            0x40
@@ -313,14 +313,14 @@ struct nd_opt_rd_hdr {         /* redire
        uint16_t        nd_opt_rh_reserved1;
        uint32_t        nd_opt_rh_reserved2;
        /* followed by IP header and data */
-};
+} UNALIGNED;
 
 struct nd_opt_mtu {            /* MTU option */
        uint8_t         nd_opt_mtu_type;
        uint8_t         nd_opt_mtu_len;
        uint16_t        nd_opt_mtu_reserved;
        uint32_t        nd_opt_mtu_mtu;
-};
+} UNALIGNED;
 
 struct nd_opt_rdnss {          /* RDNSS RFC 6106 5.1 */
        uint8_t         nd_opt_rdnss_type;
@@ -328,7 +328,7 @@ struct nd_opt_rdnss {               /* RDNSS RFC 6106
        uint16_t        nd_opt_rdnss_reserved;
        uint32_t        nd_opt_rdnss_lifetime;
        struct in6_addr nd_opt_rdnss_addr[1];   /* variable-length */
-};
+} UNALIGNED;
 
 struct nd_opt_dnssl {          /* DNSSL RFC 6106 5.2 */
        uint8_t  nd_opt_dnssl_type;
@@ -336,14 +336,14 @@ struct nd_opt_dnssl {             /* DNSSL RFC 6106
        uint16_t nd_opt_dnssl_reserved;
        uint32_t nd_opt_dnssl_lifetime;
        /* followed by list of DNS search domains, variable-length */
-};
+} UNALIGNED;
 
 struct nd_opt_advinterval {    /* Advertisement interval option */
        uint8_t         nd_opt_adv_type;
        uint8_t         nd_opt_adv_len;
        uint16_t        nd_opt_adv_reserved;
        uint32_t        nd_opt_adv_interval;
-};
+} UNALIGNED;
 
 struct nd_opt_homeagent_info { /* Home Agent info */
        uint8_t         nd_opt_hai_type;
@@ -351,7 +351,7 @@ struct nd_opt_homeagent_info {      /* Home A
        uint16_t        nd_opt_hai_reserved;
        int16_t         nd_opt_hai_preference;
        uint16_t        nd_opt_hai_lifetime;
-};
+} UNALIGNED;
 
 struct nd_opt_route_info {     /* route info */
        uint8_t         nd_opt_rti_type;
@@ -360,7 +360,7 @@ struct nd_opt_route_info {  /* route info
        uint8_t         nd_opt_rti_flags;
        uint32_t        nd_opt_rti_lifetime;
        /* prefix follows */
-};
+} UNALIGNED;
 
 /*
  * icmp6 namelookup
@@ -375,7 +375,7 @@ struct icmp6_namelookup {
        uint8_t         icmp6_nl_name[3];
 #endif
        /* could be followed by options */
-};
+} UNALIGNED;
 
 /*
  * icmp6 node information
@@ -384,7 +384,7 @@ struct icmp6_nodeinfo {
        struct icmp6_hdr icmp6_ni_hdr;
        uint8_t icmp6_ni_nonce[8];
        /* could be followed by reply data */
-};
+} UNALIGNED;
 
 #define ni_type                icmp6_ni_hdr.icmp6_type
 #define ni_code                icmp6_ni_hdr.icmp6_code
@@ -416,7 +416,7 @@ struct ni_reply_fqdn {
        uint32_t ni_fqdn_ttl;   /* TTL */
        uint8_t ni_fqdn_namelen; /* length in octets of the FQDN */
        uint8_t ni_fqdn_name[3]; /* XXX: alignment */
-};
+} UNALIGNED;
 
 /*
  * Router Renumbering. as router-renum-08.txt
@@ -427,7 +427,7 @@ struct icmp6_router_renum { /* router re
        uint8_t         rr_flags;
        uint16_t        rr_maxdelay;
        uint32_t        rr_reserved;
-};
+} UNALIGNED;
 #define ICMP6_RR_FLAGS_TEST            0x80
 #define ICMP6_RR_FLAGS_REQRESULT       0x40
 #define ICMP6_RR_FLAGS_FORCEAPPLY      0x20
@@ -448,7 +448,7 @@ struct rr_pco_match {               /* match prefix p
        uint8_t         rpm_maxlen;
        uint16_t        rpm_reserved;
        struct  in6_addr        rpm_prefix;
-};
+} UNALIGNED;
 
 #define RPM_PCO_ADD            1
 #define RPM_PCO_CHANGE         2
@@ -464,7 +464,7 @@ struct rr_pco_use {         /* use prefix part 
        uint32_t        rpu_pltime;
        uint32_t        rpu_flags;
        struct  in6_addr rpu_prefix;
-};
+} UNALIGNED;
 #define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x80
 #define ICMP6_RR_PCOUSE_RAFLAGS_AUTO   0x40
 
@@ -478,7 +478,7 @@ struct rr_result {          /* router renumberin
        uint8_t         rrr_matchedlen;
        uint32_t        rrr_ifid;
        struct  in6_addr rrr_prefix;
-};
+} UNALIGNED;
 /* network endian */
 #define ICMP6_RR_RESULT_FLAGS_OOB              ((uint16_t)htons(0x0002))
 #define ICMP6_RR_RESULT_FLAGS_FORBIDDEN                ((uint16_t)htons(0x0001))



Home | Main Index | Thread Index | Old Index