Commit 2e39987f authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-26467: GCC 4.8.5 internal compiler error on ARMv8

We will disable some optimizations, because the function
row_ins_clust_index_entry_low() would fail to compile
ever since commit a73eedbf
changed the definition of srw_mutex::wr_unlock() to use
fetch_sub() instead of fetch_and().

For some reason, applying this work-around does not fix the
"could not split insn" error for that commit,
while it does work for
commit 277ba134.
parent 277ba134
...@@ -2501,6 +2501,13 @@ extern "C" int thd_is_slave(const MYSQL_THD thd); ...@@ -2501,6 +2501,13 @@ extern "C" int thd_is_slave(const MYSQL_THD thd);
# define thd_is_slave(thd) 0 # define thd_is_slave(thd) 0
#endif #endif
#if defined __aarch64__&&defined __GNUC__&&__GNUC__==4&&!defined __clang__
/* Avoid GCC 4.8.5 internal compiler error due to srw_mutex::wr_unlock().
We would only need this for row_ins_clust_index_entry_low(),
but GCC 4.8.5 does not support pop_options. */
# pragma GCC optimize ("no-expensive-optimizations")
#endif
/***************************************************************//** /***************************************************************//**
Tries to insert an entry into a clustered index, ignoring foreign key Tries to insert an entry into a clustered index, ignoring foreign key
constraints. If a record with the same unique key is found, the other constraints. If a record with the same unique key is found, the other
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment