← Back to team overview

maria-developers team mailing list archive

Re: MariaDB made be compiled by gcc 4.8.1

 

Hi, Sergei!

23.10.2013 20:03, Sergei Golubchik пишет:
Hi, Sanja!

See below

On Oct 22, sanja@xxxxxxxxxxxxxxxx wrote:
message:
   MariaDB made be compiled by gcc 4.8.1
=== modified file 'extra/yassl/include/yassl_int.hpp'
--- a/extra/yassl/include/yassl_int.hpp	2012-04-05 08:49:38 +0000
+++ b/extra/yassl/include/yassl_int.hpp	2013-10-22 07:56:05 +0000
@@ -440,7 +440,7 @@ public:
      const Ciphers&    GetCiphers()    const;
      const DH_Parms&   GetDH_Parms()   const;
      const Stats&      GetStats()      const;
-    const VerifyCallback getVerifyCallback() const;
+    VerifyCallback getVerifyCallback() const;
Why?
When I made this patch gcc was complaining that const for this type or place is not appropriate (I do not remember now), but now it compile normally with both changes about

getVerifyCallback reverted. So I'll make new patch (probably compiler was updated since that time).


=== modified file 'storage/maria/ma_checksum.c'
--- a/storage/maria/ma_checksum.c	2008-04-03 13:40:25 +0000
+++ b/storage/maria/ma_checksum.c	2013-10-22 07:56:05 +0000
@@ -58,7 +58,7 @@ ha_checksum _ma_checksum(MARIA_HA *info,
        length= _ma_calc_blob_length(blob_size_length, pos);
        if (length)
        {
-        memcpy((char*) &pos, pos + blob_size_length, sizeof(char*));
+        memcpy((char*) &pos, pos + blob_size_length, (sizeof(char*)));
Why?
ma_checksum.c: In function '_ma_checksum':
ma_checksum.c:61:60: error: argument to 'sizeof' in 'memcpy' call is the same pointer type 'char *' as the destination; expected 'char' or an explicit length [-Werror=sizeof-pointer-memaccess]
memcpy((char*) &pos, pos + blob_size_length, sizeof(char*));
^

BTW all other such fixes was done because this check.


          crc= my_checksum(crc, pos, length);
        }
        continue;
Regards,
Sergei



References