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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

Reply via email to