Topics

2 questions about zephyrproject-rtos


szg10086@...
 

Hello,
Sorry to bother you that when I read the zephyrproject-rtos I had 2 questions.
In include/linker/linker-defs.h:117 there are some codes:

#define CREATE_OBJ_LEVEL(object, level)                         \
                __##object##_##level##_start = .;               \
                KEEP(*(SORT(.object##_##level[0-9]*)));         \
                KEEP(*(SORT(.object##_##level[1-9][0-9]*)));

It collects all these kinds of sections in order in linker script files.

The first question is what does the last '*' mean in the third line and fourth line. Does it mean the end or any kind of suffix?

The second question is whether there exists ambiguity in fourth line when level = 1, prio = 23 and when level = 12, prio = 3. Actually the maximum value of level is _SYS_INIT_LEVEL_SMP (equals 4 in init.h), however, I want to make sure about this question.

thank you.

Zhengguang Shi
Oct. 21st, 2020