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 an email with
"unsubscribe kernelnewbies" to [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to