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

Reply via email to