components/nmap/patches/nping-sparc-alignment.patch
author Rich Burridge <rich.burridge@oracle.com>
Fri, 14 Apr 2017 13:57:30 -0700
branchs11u3-sru
changeset 7870 ead51a0b55d0
permissions -rw-r--r--
25141953 nping --icmp dumps core on SPARC
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7870
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     1
Fix alignment problems on SPARC. Based on similar fixes found at:
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     2
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     3
  https://lists.debian.org/debian-sparc/2012/01/msg00012.html
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     4
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     5
and:
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     6
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     7
  https://www.winehq.org/pipermail/wine-patches/2011-February/098547.html
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     8
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
     9
This change needs to be sent upstream.
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    10
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    11
--- nmap-6.25/nping/nping.cc.orig	2017-04-07 10:27:14.947958031 +0000
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    12
+++ nmap-6.25/nping/nping.cc	2017-04-07 10:27:41.119001212 +0000
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    13
@@ -134,6 +134,14 @@
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    14
   ProbeMode prob;
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    15
   NpingTarget *t=NULL;
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    16
 
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    17
+/*
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    18
+ * 'ta 6' tells the kernel to synthesize any unaligned accesses this process
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    19
+ * makes, instead of just signalling an error and terminating the process.
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    20
+ */
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    21
+#ifdef __sparc
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    22
+    __asm("ta 6");
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    23
+#endif
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    24
+
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    25
   /* Get current time */
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    26
   now = time(NULL);
ead51a0b55d0 25141953 nping --icmp dumps core on SPARC
Rich Burridge <rich.burridge@oracle.com>
parents:
diff changeset
    27
   tm = localtime(&now);