Looking at the object symbol table, the only label for global_var is a C++-like mangled name. No
However hard I tried this renaming trick, I could not bring the compiler to generate a my_var label seems to be generated.
__attribute__((always_inline)) pass_paramgive_me_my_friggin_variable(unsigned char data)
{
asm volatile ("cmp %0,%0\n"::"r"(data));
}
ISR (TIMER2_COMPA_Vect, ISR_NAKED) {
<some prologue to save SREG and all needed registers>
//...
give_me_my_friggin_variable(Driver.ISR_param);
// continue assembly code with r24 properly initialized
}