Matthias Urlichs wrote:
> 
> Hi,
> 
> Anton Ertl wrote:
> > The only problem is that we have to find the start and the end of the
> > code to copy, and the code has to be contiguous, and that's what 3.3
> > apparently fouls up.
> 
> The way I would do this is to put the to-be-moved code into a distinct ELF 
> section. That way you can force it to be contiguous. You can then let the 
> linker fill a function start/end address table, and when copying you can 
> adjust the addresses relative to the start of that section.

Sounds interesting.  But I don't see how gcc would know that we have
used distinct ELF sections (I guess we would have to use asm
statements for that), and then suppress its cross-jumping
"optimization".  Without cross-jumping, gcc produces code that
satisfies our assumptions even without introducing additional ELF
sections (we use labels-as-values to get at the addresses).

- anton

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to