RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: j...@rpm5.org Module: rpm Date: 16-Jul-2016 16:40:26 Branch: rpm-5_4 Handle: 2016071614402600 Modified files: (Branch: rpm-5_4) rpm/rpmio digest.c edon-r.c lane.c luffa.c poptIO.c rpmdefs.h tib3.c Log: - clang: better fix for clang -fsanitize-address S-L-O-O-O-W wcertain digests. Summary: Revision Changes Path 2.93.2.9 +0 -16 rpm/rpmio/digest.c 1.5.4.5 +10 -2 rpm/rpmio/edon-r.c 2.7.2.5 +8 -2 rpm/rpmio/lane.c 2.6.2.6 +9 -2 rpm/rpmio/luffa.c 1.94.2.24 +0 -8 rpm/rpmio/poptIO.c 1.1.2.2 +6 -4 rpm/rpmio/rpmdefs.h 2.3.4.3 +9 -2 rpm/rpmio/tib3.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/rpmio/digest.c ============================================================================ $ cvs diff -u -r2.93.2.8 -r2.93.2.9 digest.c --- rpm/rpmio/digest.c 7 Jul 2016 12:17:31 -0000 2.93.2.8 +++ rpm/rpmio/digest.c 16 Jul 2016 14:40:26 -0000 2.93.2.9 @@ -31,9 +31,7 @@ #undef Final #undef Hash -#ifndef CLANG_ASAN_COMPILES_SLOWLY #include "edon-r.h" -#endif #include "fugue.h" @@ -61,13 +59,9 @@ #undef Final #undef Hash -#ifndef CLANG_ASAN_COMPILES_SLOWLY #include "lane.h" -#endif -#ifndef CLANG_ASAN_COMPILES_SLOWLY #include "luffa.h" -#endif #include "md2.h" #include "md6.h" @@ -101,7 +95,6 @@ #include "skein.h" -#ifndef CLANG_ASAN_COMPILES_SLOWLY #include "tib3.h" #undef BitSequence #undef DataLength @@ -111,7 +104,6 @@ #undef Update #undef Final #undef Hash -#endif #include "tiger.h" @@ -542,7 +534,6 @@ (int)(8 * ctx->digestsize)); break; -#ifndef CLANG_ASAN_COMPILES_SLOWLY case PGPHASHALGO_EDONR_224: ctx->digestsize = 224/8; goto edonr; @@ -565,7 +556,6 @@ (void) edonr_Init((edonr_hashState *)ctx->param, (int)(8 * ctx->digestsize)); break; -#endif /* Object ID is 1.3.6.1.4.1.36106.2.156+{0,1,2,3| */ RPMDIGEST_INIT_FAMILY(fugue, FUGUE) @@ -675,19 +665,15 @@ (int)(8 * ctx->digestsize)); break; -#ifndef CLANG_ASAN_COMPILES_SLOWLY /* Object ID is 1.3.6.1.4.1.36106.2.212+{0,1,2,3| */ RPMDIGEST_INIT_FAMILY(lane, LANE) (void) laneInit((laneParam *)ctx->param, (int)(8 * ctx->digestsize)); break; -#endif -#ifndef CLANG_ASAN_COMPILES_SLOWLY /* Object ID is 1.3.6.1.4.1.36106.2.216+{0,1,2,3| */ RPMDIGEST_INIT_FAMILY(luffa, LUFFA) (void) luffaInit((luffaParam *)ctx->param, (int)(8 * ctx->digestsize)); break; -#endif case PGPHASHALGO_MD6_224: ctx->digestsize = 224/8; @@ -775,7 +761,6 @@ (int)(8 * ctx->digestsize)); break; -#ifndef CLANG_ASAN_COMPILES_SLOWLY case PGPHASHALGO_TIB3_224: ctx->digestsize = 224/8; goto tib3; case PGPHASHALGO_TIB3_256: ctx->digestsize = 256/8; goto tib3; case PGPHASHALGO_TIB3_384: ctx->digestsize = 384/8; goto tib3; @@ -790,7 +775,6 @@ (void) tib3_Init((tib3_hashState *)ctx->param, (int)(8 * ctx->digestsize)); break; -#endif case PGPHASHALGO_HAVAL_5_160: default: @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/edon-r.c ============================================================================ $ cvs diff -u -r1.5.4.4 -r1.5.4.5 edon-r.c --- rpm/rpmio/edon-r.c 25 Jun 2016 07:31:08 -0000 1.5.4.4 +++ rpm/rpmio/edon-r.c 16 Jul 2016 14:40:26 -0000 1.5.4.5 @@ -1,5 +1,10 @@ #include <rpmdefs.h> -#if !defined(CLANG_ASAN_COMPILES_SLOWLY) + +#if __SANITIZE_ADDRESS__ +#pragma GCC push_options +#pragma GCC optimize ("-fno-sanitize=address") +#endif + /* Reference implementation of tweaked Edon-R */ #include <string.h> #include "edon-r.h" @@ -679,4 +684,7 @@ qq = edonr_Final(&state, hashval); return(qq); } -#endif /* CLANG_ASAN_COMPILES_SLOWLY */ + +#if __SANITIZE_ADDRESS__ +#pragma GCC pop_options +#endif @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/lane.c ============================================================================ $ cvs diff -u -r2.7.2.4 -r2.7.2.5 lane.c --- rpm/rpmio/lane.c 25 Jun 2016 07:31:08 -0000 2.7.2.4 +++ rpm/rpmio/lane.c 16 Jul 2016 14:40:26 -0000 2.7.2.5 @@ -1,5 +1,9 @@ #include <rpmdefs.h> -#if !defined(CLANG_ASAN_COMPILES_SLOWLY) + +#if __SANITIZE_ADDRESS__ +#pragma GCC push_options +#pragma GCC optimize ("-fno-sanitize=address") +#endif /* laneref.c v1.1 October 2008 * Reference ANSI C implementation of LANE @@ -3088,4 +3092,6 @@ return SUCCESS; } -#endif /* CLANG_ASAN_COMPILES_SLOWLY */ +#if __SANITIZE_ADDRESS__ +#pragma GCC pop_options +#endif @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/luffa.c ============================================================================ $ cvs diff -u -r2.6.2.5 -r2.6.2.6 luffa.c --- rpm/rpmio/luffa.c 25 Jun 2016 07:31:08 -0000 2.6.2.5 +++ rpm/rpmio/luffa.c 16 Jul 2016 14:40:26 -0000 2.6.2.6 @@ -1,5 +1,9 @@ #include <rpmdefs.h> -#if !defined(CLANG_ASAN_COMPILES_SLOWLY) + +#if __SANITIZE_ADDRESS__ +#pragma GCC push_options +#pragma GCC optimize ("-fno-sanitize=address") +#endif /*******************************/ /* luffa.c */ @@ -1668,4 +1672,7 @@ return ret; } -#endif /* CLANG_ASAN_COMPILES_SLOWLY */ + +#if __SANITIZE_ADDRESS__ +#pragma GCC pop_options +#endif @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/poptIO.c ============================================================================ $ cvs diff -u -r1.94.2.23 -r1.94.2.24 poptIO.c --- rpm/rpmio/poptIO.c 7 Jul 2016 12:17:31 -0000 1.94.2.23 +++ rpm/rpmio/poptIO.c 16 Jul 2016 14:40:26 -0000 1.94.2.24 @@ -206,7 +206,6 @@ N_("Echo-384 digest"), NULL }, { "echo-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_ECHO_512, N_("Echo-512 digest"), NULL }, -#ifndef CLANG_ASAN_COMPILES_SLOWLY { "edonr-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_EDONR_224, N_("EdonR-224 digest"), NULL }, { "edonr-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_EDONR_256, @@ -215,7 +214,6 @@ N_("EdonR-384 digest"), NULL }, { "edonr-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_EDONR_512, N_("EdonR-512 digest"), NULL }, -#endif { "fugue-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_FUGUE_224, N_("Fugue-224 digest"), NULL }, { "fugue-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_FUGUE_256, @@ -256,7 +254,6 @@ N_("Keccak-384 digest"), NULL }, { "keccak-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_KECCAK_512, N_("Keccak-512 digest"), NULL }, -#ifndef CLANG_ASAN_COMPILES_SLOWLY { "lane-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LANE_224, N_("Lane-224 digest"), NULL }, { "lane-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LANE_256, @@ -265,8 +262,6 @@ N_("Lane-384 digest"), NULL }, { "lane-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LANE_512, N_("Lane-512 digest"), NULL }, -#endif -#ifndef CLANG_ASAN_COMPILES_SLOWLY { "luffa-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LUFFA_224, N_("Luffa-224 digest"), NULL }, { "luffa-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LUFFA_256, @@ -275,7 +270,6 @@ N_("Luffa-384 digest"), NULL }, { "luffa-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_LUFFA_512, N_("Luffa-512 digest"), NULL }, -#endif { "md6-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_MD6_224, N_("MD6-224 digest"), NULL }, { "md6-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_MD6_256, @@ -312,7 +306,6 @@ N_("SIMD-384 digest"), NULL }, { "simd-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_SIMD_512, N_("SIMD-512 digest"), NULL }, -#ifndef CLANG_ASAN_COMPILES_SLOWLY { "tib3-224",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_TIB3_224, N_("TIB3-224 digest"), NULL }, { "tib3-256",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_TIB3_256, @@ -321,7 +314,6 @@ N_("TIB3-384 digest"), NULL }, { "tib3-512",'\0', POPT_ARG_VAL, &rpmioDigestHashAlgo, PGPHASHALGO_TIB3_512, N_("TIB3-512 digest"), NULL }, -#endif { "salsa10",'\0', POPT_ARG_VAL,&rpmioDigestHashAlgo, PGPHASHALGO_SALSA10, N_("SALSA-10 hash"), NULL }, { "salsa20",'\0', POPT_ARG_VAL,&rpmioDigestHashAlgo, PGPHASHALGO_SALSA20, @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/rpmdefs.h ============================================================================ $ cvs diff -u -r1.1.2.1 -r1.1.2.2 rpmdefs.h --- rpm/rpmio/rpmdefs.h 25 Jun 2016 07:31:08 -0000 1.1.2.1 +++ rpm/rpmio/rpmdefs.h 16 Jul 2016 14:40:26 -0000 1.1.2.2 @@ -64,6 +64,8 @@ __attribute__((__const__)) #define RPM_GNUC_UNUSED \ __attribute__((__unused__)) +#define RPM_GNUC_USED \ + __attribute__((__used__)) #define RPM_GNUC_NO_INSTRUMENT \ __attribute__((__no_instrument_function__)) #else /* !__GNUC__ */ @@ -77,10 +79,13 @@ #endif /* !__GNUC__ */ #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) -#define RPM_GNUC_DEPRECATED \ +#define RPM_GNUC_DEPRECATED \ __attribute__((__deprecated__)) +#define RPM_GNUC_DEPRECATED_MSG(msg) \ + __attribute__((__deprecated__(msg))) #else #define RPM_GNUC_DEPRECATED +#define RPM_GNUC_DEPRECATED_MSG(msg) #endif /* __GNUC__ */ #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) @@ -130,9 +135,6 @@ #if defined(__has_feature) # if __has_feature(address_sanitizer) -# if __clang__ -# define CLANG_ASAN_COMPILES_SLOWLY /* XXX disable certain digests */ -# endif # define RPM_GNUC_NOASAN __attribute__((no_sanitize("address"))) # define RPM_GNUC_NOBOUNDS __attribute__((no_sanitize("bounds"))) # define RPM_GNUC_NOUNDEFINED __attribute__((no_sanitize("undefined"))) @@ . patch -p0 <<'@@ .' Index: rpm/rpmio/tib3.c ============================================================================ $ cvs diff -u -r2.3.4.2 -r2.3.4.3 tib3.c --- rpm/rpmio/tib3.c 25 Jun 2016 07:31:08 -0000 2.3.4.2 +++ rpm/rpmio/tib3.c 16 Jul 2016 14:40:26 -0000 2.3.4.3 @@ -1,5 +1,9 @@ #include <rpmdefs.h> -#if !defined(CLANG_ASAN_COMPILES_SLOWLY) + +#if __SANITIZE_ADDRESS__ +#pragma GCC push_options +#pragma GCC optimize ("-fno-sanitize=address") +#endif #include <string.h> #include "tib3.h" @@ -709,4 +713,7 @@ return ret; return Final(&state, hashval); } -#endif /* CLANG_ASAN_COMPILES_SLOWLY */ + +#if __SANITIZE_ADDRESS__ +#pragma GCC pop_options +#endif @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org