Commit df94aa34 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-26445 followup: Try to work around GCC 4.8.5 ICE on ARMv8

GCC 4.8.5 would crash when compiling trx_purge_truncate_history().
Let us try to avoid that by disabling optimizations for the function.
parent ead38354
...@@ -540,6 +540,12 @@ static void trx_purge_cleanse_purge_queue(const fil_space_t& space) ...@@ -540,6 +540,12 @@ static void trx_purge_cleanse_purge_queue(const fil_space_t& space)
mutex_exit(&purge_sys.pq_mutex); mutex_exit(&purge_sys.pq_mutex);
} }
#if defined __GNUC__ && __GNUC__ == 4 && !defined __clang__
# if defined __arm__ || defined __aarch64__
/* Work around an internal compiler error in GCC 4.8.5 */
__attribute__((optimize(0)))
# endif
#endif
/** /**
Removes unnecessary history data from rollback segments. NOTE that when this Removes unnecessary history data from rollback segments. NOTE that when this
function is called, the caller must not have any latches on undo log pages! function is called, the caller must not have any latches on undo log pages!
......
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