mariadb/storage/mroonga
Monty 0ccdf54b64 Check and remove high stack usage
I checked all stack overflow potential problems found with
gcc -Wstack-usage=16384
and
clang -Wframe-larger-than=16384 -no-inline

Fixes:
Added '#pragma clang diagnostic ignored "-Wframe-larger-than="'
  to a lot of function to where stack usage large but resonable.
- Added stack check warnings to BUILD scrips when using clang and debug.

Function changed to use malloc instead allocating things on stack:
- read_bootstrap_query() now allocates line_buffer (20000 bytes) with
  malloc() instead of using stack. This has a small performance impact
  but this is not releant for bootstrap.
- mroonga grn_select() used 65856 bytes on stack. Changed it to use
  malloc().
- Wsrep_schema::replay_transaction() and
  Wsrep_schema::recover_sr_transactions().
- Connect zipOpen3()

Not fixed:
- mroonga/vendor/groonga/lib/expr.c grn_proc_call() uses
  43712 byte on stack.  However this is not easy to fix as the stack
  used is caused by a lot of code generated by defines.
- Most changes in mroonga/groonga where only adding of pragmas to disable
  stack warnings.
- rocksdb/options/options_helper.cc uses 20288 of stack space.
  (no reason to fix except to get rid of the compiler warning)
- Causes using alloca() where the allocation size is resonable.
- An issue in libmariadb (reported to connectors).
2024-04-23 14:12:31 +03:00
..
build
data
lib
mysql-test
packages
test
tools
udf
vendor/groonga
appveyor.yml
AUTHORS
autogen.sh
ChangeLog
CMakeLists.txt
config.sh.in
configure.ac
COPYING
gpg_uid
ha_mroonga.cpp
ha_mroonga.def
ha_mroonga.hpp
Makefile.am
mrn_constants.hpp
mrn_err.h
mrn_macro.hpp
mrn_mysql.h
mrn_mysql_compat.h
mrn_table.cpp
mrn_table.hpp
mrn_variables.hpp
mrn_version.h.in
NEWS
plugin_version
README
required_groonga_normalizer_mysql_version
required_groonga_version
sources.am
version_full
version_in_hex
version_major
version_micro
version_minor

See doc/locale/en/html/index.html or doc/locale/ja/html/index.html