From: Pádraig Brady Date: Fri, 25 Nov 2016 22:10:20 +0000 (+0000) Subject: shred,sort: ensure faster unaligned access to rand module X-Git-Tag: v8.26~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12f6214d07ad93814bad81cb384e087792068213;p=thirdparty%2Fcoreutils.git shred,sort: ensure faster unaligned access to rand module glibc has changed the public define from _STRING_ARCH_unaligned to _STRING_INLINE_unaligned as per https://sourceware.org/bugzilla/show_bug.cgi?id=19462 * gl/lib/rand-isaac.c: Cater for both defines. * gl/lib/randread.c: Likewise. * src/system.h: Update commented out code. --- diff --git a/gl/lib/rand-isaac.c b/gl/lib/rand-isaac.c index 5ad9cae012..349bf0e230 100644 --- a/gl/lib/rand-isaac.c +++ b/gl/lib/rand-isaac.c @@ -40,7 +40,7 @@ /* If the platform supports unaligned access, then don't have -fsanitize=undefined warn about it. */ #undef ATTRIBUTE_NO_WARN_SANITIZE_UNDEFINED -#if !_STRING_ARCH_unaligned \ +#if !(_STRING_ARCH_unaligned || _STRING_INLINE_unaligned) \ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) # define ATTRIBUTE_NO_WARN_SANITIZE_UNDEFINED /* empty */ #else diff --git a/gl/lib/randread.c b/gl/lib/randread.c index ff85d56496..2d211a084f 100644 --- a/gl/lib/randread.c +++ b/gl/lib/randread.c @@ -60,7 +60,7 @@ # define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif -#if _STRING_ARCH_unaligned +#if _STRING_ARCH_unaligned || _STRING_INLINE_unaligned # define ALIGNED_POINTER(ptr, type) true #else # define ALIGNED_POINTER(ptr, type) ((size_t) (ptr) % alignof (type) == 0) diff --git a/src/system.h b/src/system.h index e82dce498a..3fa0740c62 100644 --- a/src/system.h +++ b/src/system.h @@ -515,7 +515,7 @@ is_nul (void const *buf, size_t length) to avoid -fsanitize=undefined warnings. Considering coreutils is mainly concerned with relatively large buffers, we'll just use the defined behavior. */ -#if 0 && _STRING_ARCH_unaligned +#if 0 && (_STRING_ARCH_unaligned || _STRING_INLINE_unaligned) unsigned long word; #else unsigned char word;