~ubuntu-branches/ubuntu/vivid/mariadb-5.5/vivid

« back to all changes in this revision

Viewing changes to extra/yassl/taocrypt/src/integer.cpp

  • Committer: Package Import Robot
  • Author(s): Otto Kekäläinen
  • Date: 2014-11-14 21:04:24 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20141114210424-xlyna0ozl11647o5
Tags: 5.5.40-0ubuntu0.14.10.1
* SECURITY UPDATE: Update to 5.5.40 to fix security issues (LP: #1391676)
  - CVE-2014-6507
  - CVE-2014-6491
  - CVE-2014-6500
  - CVE-2014-6469
  - CVE-2014-6555
  - CVE-2014-6559
  - CVE-2014-6494
  - CVE-2014-6496
  - CVE-2014-6464
* Add bsdutils as mariadb-server dependency like upstream does in 5.5.40.

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
    #endif
57
57
#elif defined(_MSC_VER) && defined(_M_IX86)
58
58
/*    #pragma message("You do not seem to have the Visual C++ Processor Pack ")
59
 
     #pragma message("installed, so use of SSE2 intrinsics will be disabled.")
60
 
*/
61
59
    #pragma message("installed, so use of SSE2 intrinsics will be disabled.")
 
60
*/
62
61
#elif defined(__GNUC__) && defined(__i386__)
63
62
/*   #warning You do not have GCC 3.3 or later, or did not specify the -msse2 \
64
63
             compiler option. Use of SSE2 intrinsics will be disabled.
194
193
                "a" (a), "rm" (b) : "cc");
195
194
 
196
195
        #elif defined(__mips64)
197
 
            __asm__("dmultu %2,%3" : "=h" (r.halfs_.high), "=l" (r.halfs_.low)
 
196
            __asm__("dmultu %2,%3" : "=d" (r.halfs_.high), "=l" (r.halfs_.low)
198
197
                : "r" (a), "r" (b));
199
198
 
200
199
        #elif defined(_M_IX86)
282
281
    word GetHighHalfAsBorrow() const {return 0-halfs_.high;}
283
282
 
284
283
private:
285
 
    struct dword_struct
286
 
        {
287
 
        #ifdef LITTLE_ENDIAN_ORDER
288
 
            word low;
289
 
            word high;
290
 
        #else
291
 
            word high;
292
 
            word low;
293
 
        #endif
294
 
    };
295
 
 
296
284
    union
297
285
    {
298
286
    #ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE
299
287
        dword whole_;
300
288
    #endif
301
 
        struct dword_struct halfs_;
 
289
        struct
 
290
        {
 
291
        #ifdef LITTLE_ENDIAN_ORDER
 
292
            word low;
 
293
            word high;
 
294
        #else
 
295
            word high;
 
296
            word low;
 
297
        #endif
 
298
        } halfs_;
302
299
    };
303
300
};
304
301
 
1201
1198
    #define AS1(x) #x ";"
1202
1199
    #define AS2(x, y) #x ", " #y ";"
1203
1200
    #define AddPrologue \
1204
 
        word res; \
1205
1201
        __asm__ __volatile__ \
1206
1202
        ( \
1207
1203
            "push %%ebx;"       /* save this manually, in case of -fPIC */ \
1208
 
            "mov %3, %%ebx;" \
 
1204
            "mov %2, %%ebx;" \
1209
1205
            ".intel_syntax noprefix;" \
1210
1206
            "push ebp;"
1211
1207
    #define AddEpilogue \
1212
1208
            "pop ebp;" \
1213
1209
            ".att_syntax prefix;" \
1214
1210
            "pop %%ebx;" \
1215
 
            "mov %%eax, %0;" \
1216
 
                    : "=g" (res) \
 
1211
                    : \
1217
1212
                    : "c" (C), "d" (A), "m" (B), "S" (N) \
1218
1213
                    : "%edi", "memory", "cc" \
1219
 
        ); \
1220
 
        return res;
1221
 
 
 
1214
        );
1222
1215
    #define MulPrologue \
1223
1216
        __asm__ __volatile__ \
1224
1217
        ( \