Вопрос к знатокам gcc. Есть такой вот листинг:
248 return Executor_error(1, "-");
08004ee0: ldr r1, [pc, #32] ; (0x8004f04 <Executor_cmd_gpio_w+92>)
08004ee2: movs r0, #1
271 return Executor_error(2, "-");
08004f36: ldr r1, [pc, #24] ; (0x8004f50 <Executor_cmd_gpio_r+72>)
08004f38: movs r0, #2
08004f3a: bl 0x8004dce <Executor_error>
08004f3e: b.n 0x8004f34 <Executor_cmd_gpio_r+44>
274 return Executor_error(1, "-");
08004f40: ldr r1, [pc, #12] ; (0x8004f50 <Executor_cmd_gpio_r+72>)
08004f42: movs r0, #1
Вопрос - можно ли заставить gcc, не плодить строки в таком количестве. Вопрос важен в части оптимизации размеров прошивок микроконтроллеров, где хотелось бы чаще использовать осмысленный текст в логах и других человекочитаемых местах, на данная особенность компиляции не дает для этого никакой разумной возможности.
P. S. Если я правильно трактую содержимое листинга