Hi,

Bernd Paysan wrote:
> The code to be moved is all in one function. Linkers don't rearrange code
> within functions, compilers do that (and that's what GCC 3.3 apparently
> does).

Umm, OK, that was misremembered on my part. 

I still think, though, that a code start-end table would work, e.g.

big_block_function():
        [...]
start_3117:
        [ code to be copied ]
end_3117:
        asm("");
start_3118: [...]

The empty asm statements should prevent GCC from moving code around at the end 
of the blocks -- otherwise it might let all end_* labels point to the end of 
the function.

That should be much more portable than assuming that start_3118 directly 
follows start_3117.

-- 
Matthias Urlichs  |  {M:U} IT Design @ m-u-it.de  |   [EMAIL PROTECTED]
Disclaimer: Das Zitat wurde zuf�llig ausgew�hlt.  |   http://smurf.noris.de
-- 
Zwei  Kerzen:  "Was  machst  Du  heute abend?"
"Ich glaube ich gehe aus."


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

Reply via email to