diff options
-rw-r--r-- | configure.ac | 11 | ||||
-rw-r--r-- | lib/raidfile/RaidFileWrite.cpp | 6 |
2 files changed, 2 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac index 2c375a6f..4239b821 100644 --- a/configure.ac +++ b/configure.ac @@ -10,17 +10,6 @@ touch install-sh AC_CANONICAL_SYSTEM test -s install-sh || rm install-sh - -### Temporary hacks -AC_ARG_ENABLE( - [ppc-workaround], - [AC_HELP_STRING([--enable-ppc-workaround], - [Enable a workaround for a compiler bug in GCC on PPC platforms (raidfile tests fail).])]) -if test "x$enable_ppc_workaround" = "xyes"; then - AC_DEFINE([HAVE_PPC_WORKAROUND], 1, [Define to 1 to workaround a GCC compiler bug on PPC]) -fi - - ### Checks for programs. AC_LANG([C++]) diff --git a/lib/raidfile/RaidFileWrite.cpp b/lib/raidfile/RaidFileWrite.cpp index c9963f05..285dbbc3 100644 --- a/lib/raidfile/RaidFileWrite.cpp +++ b/lib/raidfile/RaidFileWrite.cpp @@ -462,10 +462,8 @@ void RaidFileWrite::TransformToRaidStorage() ASSERT(sizeof(RaidFileRead::FileSizeType) >= sizeof(off_t)); int sizePos = (blockSize/sizeof(unsigned int)) - 2; RaidFileRead::FileSizeType sw = box_hton64(writeFileStat.st_size); -#ifdef HAVE_PPC_WORKAROUND - static RaidFileRead::FileSizeType ppcWorkaround = sw; -#endif - unsigned int *psize = (unsigned int *)(&sw); + unsigned int psize[2]; + ::memcpy(psize, &sw, sizeof(RaidFileRead::FileSizeType)); pparity[sizePos+0] = pstripe1[sizePos+0] ^ psize[0]; pparity[sizePos+1] = pstripe1[sizePos+1] ^ psize[1]; } |