Messages in this thread | | | Date | Tue, 31 Jan 2023 12:14:53 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v4] module: replace module_layout with module_memory |
| |
On Mon, Jan 30, 2023 at 10:21:09AM -0800, Song Liu wrote: > +#define for_each_mod_mem_type(type) \ > + for ((type) = MOD_TEXT; \ > + (type) < MOD_MEM_NUM_TYPES; (type)++) > > +#define for_core_mod_mem_type(type) \ > + for ((type) = MOD_TEXT; \ > + (type) < MOD_INIT_TEXT; (type)++) > + > +#define for_init_mod_mem_type(type) \ > + for ((type) = MOD_INIT_TEXT; \ > + (type) < MOD_MEM_NUM_TYPES; (type)++)
#define __for_each_mod_mem_types(type, _from, _to) \ for (enum mod_mem_type type = _from; type <= _to; type++;)
also to be used in the previously suggested within_module_mem_types() function.
also note the C99 variable in for-loop decl thing
#define for_code_mod_mem_type(type) \ __for_each_mod_mem_types(type, MOD_TEXT, MOD_RO_AFTER_INIT)
#define for_code_mod_mem_type(type) \ __for_each_mod_mem_types(type, MOD_INIT_TEXT, MOD_INIT_RODATA)
| |