On Wed, Jun 10, 2015 at 11:24:05AM -0700, Andy Lutomirski wrote: > Slightly off-topic, but this reminds me: when writing inline asm that > needs to push to the stack (for whatever reason), it's incredibly > messy to get the annotations right -- they're different depending on > whether the previous frame base (is that what "CFA" is?) is currently > sp + constant, in which case we need an annotation adjusting the > constant or whether it's independent of sp (bp + constant), in which > case we shouldn't adjust the offset. (If it's some other function of > sp, we're screwed.) > > Regardless of whether these types of annotations end up being done by > hand or by script, should we consider asking the binutils people to > give us some nice .cfi_adjust_for_push and .cfi_adjust_for_pop or > similar directives? Hm, that's a tough one. Might be worth asking... Another alternative would be to ask gcc to make a change to always setup the frame pointer for any function which has inline assembly, so that you know (hopefully) that CFA is based on bp. Or, maybe there's already a way to force gcc to do that with the asm directive somehow? > > See here for Jan Beulich's solution, which is incomprehensible to me: > > http://thread.gmane.org/gmane.linux.kernel/1820765 <brain explodes> -- Josh -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html