After reading MySQL's code, I was able to make it work with this patch (almost the same as the Fedora patch). The patch switches from the missing make_scrambled_password() to my_make_scrambled_password(). Although my_make_scrambled_password() was not visible to client programs in MySQL 5.7, somehow libmysqlclient20 had fixed it earlier so my_make_scrambled_password() is available. And as the MySQL source code stated make_scrambled_password() as the wrapper around my_make_scrambled_password() to maintain client lib ABI compatibility, this switch changes should work.
P.S. I have tested the patch for 2 hours and hadn't noticed any stack overflows. I will post if the overflow happens in the future.
After reading MySQL's code, I was able to make it work with this patch (almost the same as the Fedora patch). The patch switches from the missing make_scrambled_ password( ) to my_make_ scrambled_ password( ). Although my_make_ scrambled_ password( ) was not visible to client programs in MySQL 5.7, somehow libmysqlclient20 had fixed it earlier so my_make_ scrambled_ password( ) is available. And as the MySQL source code stated make_scrambled_ password( ) as the wrapper around my_make_ scrambled_ password( ) to maintain client lib ABI compatibility, this switch changes should work.
P.S. I have tested the patch for 2 hours and hadn't noticed any stack overflows. I will post if the overflow happens in the future.