summaryrefslogtreecommitdiff
path: root/benchmarks/xdd/files/patch-xdd.c
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/xdd/files/patch-xdd.c')
-rw-r--r--benchmarks/xdd/files/patch-xdd.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/benchmarks/xdd/files/patch-xdd.c b/benchmarks/xdd/files/patch-xdd.c
new file mode 100644
index 000000000000..6b39d23a4f9d
--- /dev/null
+++ b/benchmarks/xdd/files/patch-xdd.c
@@ -0,0 +1,74 @@
+--- xdd.c.orig Mon May 29 04:06:49 2006
++++ xdd.c Mon May 29 04:24:54 2006
+@@ -60,7 +60,7 @@
+ /* Things used by the read-after-write operations */
+ #if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
+ struct stat64 statbuf;
+-#elif (LINUX || OSX)
++#elif (LINUX || OSX || FreeBSD)
+ struct stat statbuf;
+ #endif
+ int64_t prev_loc; /* The previous location from a read-after-write message from the writer */
+@@ -114,11 +114,11 @@
+ sleep_time_dw = (int32_t)(p->start_delay/BILLION);
+ #ifdef WIN32
+ Sleep(sleep_time_dw);
+-#elif (LINUX || IRIX || AIX || ALTIX || OSX) /* Add OS Support to this line for usleep() */
++#elif (LINUX || IRIX || AIX || ALTIX || OSX || FreeBSD) /* Add OS Support to this line for usleep() */
+ if ((sleep_time_dw*CLK_TCK) > 1000) /* only sleep if it will be 1 or more ticks */
+ #if (IRIX || ALTIX)
+ sginap((sleep_time_dw*CLK_TCK)/1000);
+-#elif (LINUX || AIX || OSX) /* Add OS Support to this line for usleep() as well*/
++#elif (LINUX || AIX || OSX || FreeBSD) /* Add OS Support to this line for usleep() as well*/
+ usleep(sleep_time_dw*1000);
+ #endif
+ #endif
+@@ -384,14 +384,14 @@
+ p->my_current_byte_location = (uint64_t)((p->mynum * xgp->target_offset) + p->seekhdr.seeks[0].block_location) * p->block_size;
+ else p->my_current_byte_location = (uint64_t)((p->mynum * xgp->target_offset) + p->seekhdr.seeks[current_op].block_location) * p->block_size;
+
+-#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX)
++#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX || FreeBSD)
+ if ((p->target_options & RX_READAFTERWRITE) && (p->target_options & RX_RAW_READER)) {
+ // fprintf(stderr,"Reader: RAW check - dataready=%lld, trigger=%x\n",data_ready,p->raw_trigger);
+ /* Check to see if we can read more data - if not see where we are at */
+ if (p->raw_trigger & RX_RAW_STAT) { /* This section will continually poll the file status waiting for the size to increase so that it can read more data */
+ while (data_ready < p->iosize) {
+ /* Stat the file so see if there is data to read */
+-#if (LINUX || OSX)
++#if (LINUX || OSX || FreeBSD)
+ status = fstat(p->fd,&statbuf);
+ #else
+ status = fstat64(p->fd,&statbuf);
+@@ -472,11 +472,11 @@
+ sleep_time_dw = sleep_time;
+ #ifdef WIN32
+ Sleep(sleep_time_dw);
+-#elif (LINUX || IRIX || AIX || ALTIX || OSX) /* Change this line to use usleep */
++#elif (LINUX || IRIX || AIX || ALTIX || OSX || FreeBSD) /* Change this line to use usleep */
+ if ((sleep_time_dw*CLK_TCK) > 1000) /* only sleep if it will be 1 or more ticks */
+ #if (IRIX || ALTIX)
+ sginap((sleep_time_dw*CLK_TCK)/1000);
+-#elif (LINUX || AIX || OSX) /* Change this line to use usleep */
++#elif (LINUX || AIX || OSX || FreeBSD) /* Change this line to use usleep */
+ usleep(sleep_time_dw*1000);
+ #endif
+ #endif
+@@ -564,7 +564,7 @@
+ #else /* UUUUUUUUUUUUUUUU Begin Unix stuff UUUUUUUUUUUUUUUUU*/
+ #if (IRIX || SOLARIS || HPUX || AIX || ALTIX)
+ lseek64(p->fd,(off64_t)p->my_current_byte_location,0);
+-#elif (LINUX || OSX)
++#elif (LINUX || OSX || FreeBSD)
+ /* In Linux the -D_FILE_OFFSET_BITS=64 make the off_t type be a 64-bit integer */
+ if (!p->target_options & RX_SGIO)
+ lseek(p->fd, (off_t)p->my_current_byte_location, SEEK_SET);
+@@ -653,7 +653,7 @@
+ }
+ }
+
+-#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX)
++#if (LINUX || IRIX || SOLARIS || HPUX || AIX || ALTIX || OSX || FreeBSD)
+ if ((p->target_options & RX_READAFTERWRITE) && (p->target_options & RX_RAW_WRITER)) {
+ /* Since I am the writer in a read-after-write operation, and if we are using a socket connection to the reader for write-completion messages
+ * then I need to send the reader a message of what I just wrote - starting location and length of write.