Hi... > This is a little offtopic but ... Not sure if I can handle these things :) > Allowed > ======= > 1) Local variables yes, they are referenced by offset of ebp/esp IIRC > 2) Function calls using function name (right?) hm, relocation usually replace function calls with absolute function call, at least on x86. > 3) if-then-else that will be translated to jmp <label> IIRC..and that means relative jump. But not sure after relocation. > 4) for / while / do-while same as (3) IMHO > Not Allowed > =========== > 1) Accessing global variables IIRC yes. .bss and .data is usually referenced with absolute address > 2) Function call using function pointers (why?) well, maybe because it can refer anywhere in valid address space, thus it uses absolute address. > 3) Switch-case (why?) usually it become jump table, but not sure about the addresses. > Any thing else that can be added to the "Not allowed" list? anything that could possibly jump beyond the defined "address space"? If I understand correctly, without MMU... there is per task unique address space, thus it's up to you to define the boundary, correct? regards, Mulyadi. - To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs