On Wed, Nov 11, 2020 at 08:25:36PM +0000, Andrew Cooper wrote: > > Right, it makes objtool's job a _little_ easier, since it already knows > > how to read alternatives. But it still has to learn to deal with the > > conflicting stack layouts. > > I suppose the needed abstraction is "these blocks will start and end > with the same stack layout", while allowing the internals to diverge.
It's a little more complicated than that due to the fact that there is only a single ORC table. So something like: alt0 alt1 0x00 push 0x00 nop 0x01 nop 0x01 push is impossible to correctly unwind.