* Jeremy Fitzhardinge (jeremy@xxxxxxxx) wrote:
Mathieu Desnoyers wrote:
#define MARK_SYM(name) \Eh? I thought you wanted to avoid changing the generated code? Inhibiting loop unrolling could be a pretty large change...
do { \
__label__ here; \
volatile static void *__mark_kprobe_##name \
asm (MARK_CALL_PREFIX#name) \
__attribute__((unused)) = &&here; \
here: \
do { } while(0); \
} while(0)
Which fixes the problem. Some tests showed me that the compiler does not unroll
an otherwise unrolled loop when this specific macro is called. (test done with
-funroll-all-loops).
Yes, if possible. But letting gcc duplicate those symbols brings many questions,
such as : how can we name each of them differently ? Is there any way to
automatically increment an "identifier" counter in assembly ?