tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] RE :Re: VLA implementation


From: Sergey Korshunoff
Subject: Re: [Tinycc-devel] RE :Re: VLA implementation
Date: Tue, 10 Nov 2015 12:41:29 +0300

> the current implementation is not compatible with signal
handlers, or anything similar, asynchronously using the same stack.

> For example, when goto is translated, if there are VLAs in scope then
gen_vla_sp_restore(vla_sp_root_loc) is called, which generates code to
move the SP back to where it was at the start of the function body. At
the target location, where the label is, if any VLAs are in scope at
that location code generated by gen_vla_sp_restore(vla_sp_loc)
advances the SP again. If a signal were to arrive between the two SP
moves then the signal handler might overwrite live data on the stack.

It is hard to combine gen_vla_sp_restore(vla_sp_root_loc) and
gen_vla_sp_restore(vla_sp_loc)
or protect this somehow (disabling/restoring signals/interrupts) ?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]