mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 23:54:31 +02:00
MDEV-37502 mroonga + clang + Debug with exceeds stack frame size
Stack limits exceeded for clang-20 +Debug + MSAN.
Added disables for the following functions.
storage/mroonga/vendor/groonga/lib/ii.c:303:1: error: stack frame size (16696) exceeds limit (16384) in 'buffer_segment_reserve' [-Werror,-Wframe-larger-than]
303 | buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
| ^
storage/mroonga/vendor/groonga/lib/ii.c:4803:1: error: stack frame size (20936) exceeds limit (16384) in 'grn_ii_delete_one' [-Werror,-Wframe-larger-than]
4803 | grn_ii_delete_one(grn_ctx *ctx, grn_ii *ii, grn_id tid, grn_ii_updspec *u, grn_hash *h)
| ^
storage/mroonga/vendor/groonga/lib/ii.c:6313:1: error: stack frame size (25736) exceeds limit (16384) in 'grn_ii_column_update' [-Werror,-Wframe-larger-than]
6313 | grn_ii_column_update(grn_ctx *ctx, grn_ii *ii, grn_id rid, unsigned int section,
| ^
For non-Debug the following stack frame sizes wher exceeded:
storage/mroonga/vendor/groonga/lib/proc/proc_select.c:3575:1: warning: stack frame size (94072) exceeds limit (49152) in 'command_select' [-Wframe-larger-than]
3575 | command_select(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
| ^
storage/mroonga/vendor/groonga/lib/proc/proc_schema.c:1134:1: warning: stack frame size (98360) exceeds limit (49152) in 'command_schema_output_tables' [-Wframe-larger-than]
1134 | command_schema_output_tables(grn_ctx *ctx, grn_schema_data *data)
Reviewer: Jimmy Hu <jimmy.hu@mariadb.com>
This commit is contained in:
parent
8ce0eee0e0
commit
f278c7a3e7
3 changed files with 10 additions and 4 deletions
7
storage/mroonga/vendor/groonga/lib/ii.c
vendored
7
storage/mroonga/vendor/groonga/lib/ii.c
vendored
|
|
@ -300,6 +300,8 @@ buffer_segment_new(grn_ctx *ctx, grn_ii *ii, uint32_t *segno)
|
|||
}
|
||||
}
|
||||
|
||||
PRAGMA_DISABLE_CHECK_STACK_FRAME
|
||||
|
||||
static grn_rc
|
||||
buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
|
||||
uint32_t *lseg0, uint32_t *pseg0,
|
||||
|
|
@ -386,6 +388,8 @@ buffer_segment_reserve(grn_ctx *ctx, grn_ii *ii,
|
|||
return ctx->rc;
|
||||
}
|
||||
|
||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||
|
||||
#define BGQENQUE(lseg) do {\
|
||||
if (ii->header->binfo[lseg] != GRN_II_PSEG_NOT_ASSIGNED) {\
|
||||
ii->header->bgqbody[ii->header->bgqhead] = ii->header->binfo[lseg];\
|
||||
|
|
@ -4529,8 +4533,6 @@ grn_ii_get_disk_usage(grn_ctx *ctx, grn_ii *ii)
|
|||
}
|
||||
|
||||
|
||||
PRAGMA_DISABLE_CHECK_STACK_FRAME
|
||||
|
||||
#define BIT11_01(x) ((x >> 1) & 0x7ff)
|
||||
#define BIT31_12(x) (x >> 12)
|
||||
|
||||
|
|
@ -4808,7 +4810,6 @@ exit :
|
|||
return ctx->rc;
|
||||
}
|
||||
|
||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||
|
||||
grn_rc
|
||||
grn_ii_delete_one(grn_ctx *ctx, grn_ii *ii, grn_id tid, grn_ii_updspec *u, grn_hash *h)
|
||||
|
|
|
|||
|
|
@ -1130,6 +1130,8 @@ command_schema_output_table(grn_ctx *ctx,
|
|||
grn_ctx_output_map_close(ctx);
|
||||
}
|
||||
|
||||
PRAGMA_DISABLE_CHECK_STACK_FRAME
|
||||
|
||||
static void
|
||||
command_schema_output_tables(grn_ctx *ctx, grn_schema_data *data)
|
||||
{
|
||||
|
|
@ -1201,6 +1203,8 @@ command_schema_output_tables(grn_ctx *ctx, grn_schema_data *data)
|
|||
GRN_OBJ_FIN(ctx, &table_ids);
|
||||
}
|
||||
|
||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||
|
||||
static grn_obj *
|
||||
command_schema(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3569,7 +3569,6 @@ grn_select_data_fill_drilldowns(grn_ctx *ctx,
|
|||
return succeeded;
|
||||
}
|
||||
}
|
||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||
|
||||
static grn_obj *
|
||||
command_select(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
|
||||
|
|
@ -3723,6 +3722,8 @@ exit :
|
|||
return NULL;
|
||||
}
|
||||
|
||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||
|
||||
#define N_VARS 26
|
||||
#define DEFINE_VARS grn_expr_var vars[N_VARS]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue