summaryrefslogtreecommitdiff
path: root/BUILD
Commit message (Collapse)AuthorAgeFilesLines
* Change BUILD scripts to use wolfss by defaultMonty2023-02-031-5/+6
|
* Merge 10.8 into 10.9Marko Mäkelä2022-12-131-4/+8
|\
| * Merge 10.5 into 10.6Marko Mäkelä2022-12-131-4/+8
| |\
| | * Merge 10.4 into 10.5Marko Mäkelä2022-12-131-4/+8
| | |\
| | | * Merge 10.3 into 10.4Marko Mäkelä2022-12-131-4/+8
| | | |\
| | | | * Fixed the BUILD scripts to work outside of a git repositoryMonty2022-11-291-4/+8
| | | | |
* | | | | Merge branch '10.8' into 10.9mariadb-10.9.2Oleksandr Byelkin2022-08-102-2/+2
|\ \ \ \ \ | |/ / / /
| * | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2022-08-102-2/+2
| |\ \ \ \ | | |/ / /
| | * | | Merge branch '10.4' into 10.5mariadb-10.5.17Oleksandr Byelkin2022-08-102-2/+2
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.3' into bb-10.4-releasemariadb-10.4.26Oleksandr Byelkin2022-08-102-2/+2
| | | |\ \ | | | | |/
| | | | * Fix typos in the codebase.fluesvamp2022-08-092-2/+2
| | | | |
| | | * | Merge 10.3 into 10.4Marko Mäkelä2022-03-291-1/+1
| | | |\ \ | | | | |/
| | | | * Merge 10.2 into 10.3Marko Mäkelä2022-03-291-1/+1
| | | | |\
| | | | | * MDEV-27980 file-key-management plugin disabled in mysql_install_db breaks ↵Sergei Golubchik2022-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automated deployments (and container initialization) fix a 2015 typo in build scripts. --without-plugin=plugin_file_key_management translates to -DPLUGIN_PLUGIN_FILE_KEY_MANAGEMENT=NO replace it with a line from 10.4 that builds the plugin dynamically.
| | | * | | Merge 10.3 into 10.4Marko Mäkelä2021-08-311-1/+1
| | | |\ \ \ | | | | |/ /
| | | | * | MDEV 22785 Crash with prepared statements and NEXTVAL()Michael Widenius2021-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that a PREARE followed by a non prepared statement using DEFAULT NEXT_VALUE() could change table->next_local to point to a not persitent memory aria. The next EXECUTE would then try to use the wrong pointer, which could cause a crash. Fixed by reseting the pointer to it's old value when doing EXECUTE.
| | | * | | Fixed that compile-pentium64-valgrind-max worksMonty2021-06-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removed Tokudb (no need to test this anymore with valgrind) - Added __attribute__(unused)) to a few places to be able to compile even if valgrind/memcheck.h is not installed. Reviewer: Marko Mäkelä <marko.makela@mariadb.com>
* | | | | | Make BUILD script compile hashicorp plugin dynamicallybb-10.9-montyMonty2022-06-131-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | Compiling hashicorp plugin statically got many InnoDB encryption test to fail with errors like: Error: InnoDB: The page [page id: space=5, page number=3] in file './test/t1.ibd' cannot be decrypted.
* | | | | Fixed BUILD scripts to remove all .gcov and .gcno files from submodulesMonty2021-06-144-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Other things: - Do not use ccache when building with gcov
* | | | | Added comments to some BUILD scriptsMonty2021-06-142-1/+14
| | | | |
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-05-262-1/+11
|\ \ \ \ \ | |/ / / /
| * | | | Updated BUILD scripts to update modules wsrep-lib and columnstoreMonty2021-05-232-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | Other things - Added lost option '--just-clean'
* | | | | Fix all warnings given by UBSANMonty2021-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'special' cases where we disable, suppress or circumvent UBSAN are: - ref10 source (as here we intentionally do some shifts that UBSAN complains about. - x86 version of optimized int#korr() methods. UBSAN do not like unaligned memory access of integers. Fixed by using byte_order_generic.h when compiling with UBSAN - We use smaller thread stack with ASAN and UBSAN, which forced me to disable a few tests that prints the thread stack size. - Verifying class types does not work for shared libraries. I added suppression in mysql-test-run.pl for this case. - Added '#ifdef WITH_UBSAN' when using integer arithmetic where it is safe to have overflows (two cases, in item_func.cc). Things fixed: - Don't left shift signed values (byte_order_generic.h, mysqltest.c, item_sum.cc and many more) - Don't assign not non existing values to enum variables. - Ensure that bool and enum values are properly initialized in constructors. This was needed as UBSAN checks that these types has correct values when one copies an object. (gcalc_tools.h, ha_partition.cc, item_sum.cc, partition_element.h ...) - Ensure we do not called handler functions on unallocated objects or deleted objects. (events.cc, sql_acl.cc). - Fixed bugs in Item_sp::Item_sp() where we did not call constructor on Query_arena object. - Fixed several cast of objects to an incompatible class! (Item.cc, Item_buff.cc, item_timefunc.cc, opt_subselect.cc, sql_acl.cc, sql_select.cc ...) - Ensure we do not do integer arithmetic that causes over or underflows. This includes also ++ and -- of integers. (Item_func.cc, Item_strfunc.cc, item_timefunc.cc, sql_base.cc ...) - Added JSON_VALUE_UNITIALIZED to json_value_types and ensure that value_type is initialized to this instead of to -1, which is not a valid enum value for json_value_types. - Ensure we do not call memcpy() when second argument could be null. Other things: - Changed struct st_position to an OBJECT and added an initialization function to it to ensure that we do not copy or use uninitialized members. The change to a class was also motived that we used "struct st_position" and POSITION randomly trough the code which was confusing. - Notably big rewrite in sql_acl.cc to avoid using deleted objects. - Changed in sql_partition to use '^' instead of '-'. This is safe as the operator is either 0 or 0x8000000000000000ULL. - Added check for select_nr < INT_MAX in JOIN::build_explain() to avoid bug when get_select() could return NULL. - Reordered elements in POSITION for better alignment. - Changed sql_test.cc::print_plan() to use pointers instead of objects. - Fixed bug in find_set() where could could execute '1 << -1'. - Added variable have_sanitizer, used by mtr. (This variable was before only in 10.5 and up). It can now have one of two values: ASAN or UBSAN. - Moved ~Archive_share() from ha_archive.cc to ha_archive.h and marked it virtual. This was an effort to get UBSAN to work with loaded storage engines. I kept the change as the new place is better. - Added in CONNECT engine COLBLK::SetName(), to get around a wrong cast in tabutil.cpp. Changes that should not be needed but had to be done to suppress warnings from UBSAN: - Added static_cast<<uint16_t>> around shift to get rid of a LOT of compiler warnings when using UBSAN. - Had to change some '/' of 2 base integers to shift to get rid of some compile time warnings. Fixes: MDEV-25505 Assertion `old_flags == ((my_flags & 0x10000U) ? 1 : 0) fixed (was caused by an old version if this commit). Reviewed by: - Json changes: Alexey Botchkov - Charset changes in ctype-uca.c: Alexander Barkov - InnoDB changes: Marko Mäkelä - sql_acl.cc changes: Vicențiu Ciorbaru - build_explain() changes: Sergey Petrunia Temporary commit to log changes for UBSAN
* | | | | Enable BUILD scripts to work with clangMonty2021-05-192-2/+3
| | | | |
* | | | | Merge 10.5 into 10.6Marko Mäkelä2021-04-212-1/+30
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.4 into 10.5Marko Mäkelä2021-04-212-1/+30
| |\ \ \ \ | | |/ / /
| | * | | Fix all warnings given by UBSANMonty2021-04-202-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The easiest way to compile and test the server with UBSAN is to run: ./BUILD/compile-pentium64-ubsan and then run mysql-test-run. After this commit, one should be able to run this without any UBSAN warnings. There is still a few compiler warnings that should be fixed at some point, but these do not expose any real bugs. The 'special' cases where we disable, suppress or circumvent UBSAN are: - ref10 source (as here we intentionally do some shifts that UBSAN complains about. - x86 version of optimized int#korr() methods. UBSAN do not like unaligned memory access of integers. Fixed by using byte_order_generic.h when compiling with UBSAN - We use smaller thread stack with ASAN and UBSAN, which forced me to disable a few tests that prints the thread stack size. - Verifying class types does not work for shared libraries. I added suppression in mysql-test-run.pl for this case. - Added '#ifdef WITH_UBSAN' when using integer arithmetic where it is safe to have overflows (two cases, in item_func.cc). Things fixed: - Don't left shift signed values (byte_order_generic.h, mysqltest.c, item_sum.cc and many more) - Don't assign not non existing values to enum variables. - Ensure that bool and enum values are properly initialized in constructors. This was needed as UBSAN checks that these types has correct values when one copies an object. (gcalc_tools.h, ha_partition.cc, item_sum.cc, partition_element.h ...) - Ensure we do not called handler functions on unallocated objects or deleted objects. (events.cc, sql_acl.cc). - Fixed bugs in Item_sp::Item_sp() where we did not call constructor on Query_arena object. - Fixed several cast of objects to an incompatible class! (Item.cc, Item_buff.cc, item_timefunc.cc, opt_subselect.cc, sql_acl.cc, sql_select.cc ...) - Ensure we do not do integer arithmetic that causes over or underflows. This includes also ++ and -- of integers. (Item_func.cc, Item_strfunc.cc, item_timefunc.cc, sql_base.cc ...) - Added JSON_VALUE_UNITIALIZED to json_value_types and ensure that value_type is initialized to this instead of to -1, which is not a valid enum value for json_value_types. - Ensure we do not call memcpy() when second argument could be null. - Fixed that Item_func_str::make_empty_result() creates an empty string instead of a null string (safer as it ensures we do not do arithmetic on null strings). Other things: - Changed struct st_position to an OBJECT and added an initialization function to it to ensure that we do not copy or use uninitialized members. The change to a class was also motived that we used "struct st_position" and POSITION randomly trough the code which was confusing. - Notably big rewrite in sql_acl.cc to avoid using deleted objects. - Changed in sql_partition to use '^' instead of '-'. This is safe as the operator is either 0 or 0x8000000000000000ULL. - Added check for select_nr < INT_MAX in JOIN::build_explain() to avoid bug when get_select() could return NULL. - Reordered elements in POSITION for better alignment. - Changed sql_test.cc::print_plan() to use pointers instead of objects. - Fixed bug in find_set() where could could execute '1 << -1'. - Added variable have_sanitizer, used by mtr. (This variable was before only in 10.5 and up). It can now have one of two values: ASAN or UBSAN. - Moved ~Archive_share() from ha_archive.cc to ha_archive.h and marked it virtual. This was an effort to get UBSAN to work with loaded storage engines. I kept the change as the new place is better. - Added in CONNECT engine COLBLK::SetName(), to get around a wrong cast in tabutil.cpp. - Added HAVE_REPLICATION around usage of rgi_slave, to get embedded server to compile with UBSAN. (Patch from Marko). - Added #ifdef for powerpc64 to avoid a bug in old gcc versions related to integer arithmetic. Changes that should not be needed but had to be done to suppress warnings from UBSAN: - Added static_cast<<uint16_t>> around shift to get rid of a LOT of compiler warnings when using UBSAN. - Had to change some '/' of 2 base integers to shift to get rid of some compile time warnings. Reviewed by: - Json changes: Alexey Botchkov - Charset changes in ctype-uca.c: Alexander Barkov - InnoDB changes & Embedded server: Marko Mäkelä - sql_acl.cc changes: Vicențiu Ciorbaru - build_explain() changes: Sergey Petrunia
| | * | | Fixed BUILD script to make plugin-file_key_management DYNAMICMonty2020-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This ensures that all tests can be run. Before this patch some encryption test failed
| | * | | Merge branch '10.3' into 10.4Sergei Golubchik2019-09-061-2/+10
| | |\ \ \ | | | |/ /
| | | * | Merge branch '10.2' into 10.3Monty2019-09-031-2/+10
| | | |\ \ | | | | |/
| | | | * Updated BUILD/SETUP from MariaDB 10.5Monty2019-09-011-5/+16
| | | | |
* | | | | Merge branch '10.5' into 10.6Oleksandr Byelkin2020-09-021-2/+3
|\ \ \ \ \ | |/ / / /
| * | | | Added support of WITH_GPROF to cmakeMonty2020-08-201-2/+3
| | | | |
* | | | | MDEV-19780 Remove the TokuDB storage engineMarko Mäkelä2020-05-141-3/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TokuDB storage engine has been deprecated by upstream Percona Server 8.0 in favor of MyRocks and will not be available in subsequent major upstream releases. Let us remove it from MariaDB Server as well. MyRocks is actively maintained, and it can be used instead.
* | | | Fixed that file_key_management works with BUILD scriptsMonty2020-03-241-4/+5
| | | |
* | | | Fixed BUILD scripts for gcc 6.xMonty2019-08-231-2/+10
| | | | | | | | | | | | | | | | Added also -DTRASH_FREE_MEMORY to valgrind builds
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-08-161-1/+1
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-08-141-1/+1
| |\ \ \ | | |/ /
| | * | Merge 10.2 to 10.3Marko Mäkelä2019-08-131-1/+1
| | |\ \ | | | |/
| | | * Updated BUILD/compile-pentium64-asan-maxMonty2019-08-081-1/+1
| | | |
| * | | Merge 10.3 into 10.4Marko Mäkelä2019-06-199-9/+9
| |\ \ \ | | |/ /
| | * | Removed -fno-rtti from BUILD scriptsMichael Widenius2019-06-169-9/+9
| | | |
* | | | BUILD scripts: Don't build with-plugin-test_sql_discovery staticlyMonty2019-06-261-1/+1
| | | |
* | | | Fixed build scripts to not use -fno-rttiMonty2019-06-019-9/+9
| | | |
* | | | Merge 10.4 into 10.5Marko Mäkelä2019-05-2345-49/+49
|\ \ \ \ | |/ / /
| * | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-1945-49/+49
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2019-05-1445-49/+49
| | |\ \ | | | |/
| | | * Merge 10.1 into 10.2Marko Mäkelä2019-05-1350-54/+54
| | | |\
| | | | * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-1152-56/+56
| | | | |\
| | | | | * Update FSF AddressVicențiu Ciorbaru2019-05-1155-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | * Update wrong zip-code