On 10/27/2016 12:16 PM, Georg-Johann Lay wrote:
Now imagine some arithmetic like &&LAB2 - &&LAB1. This might result in one or two stub addresses, and difference between such addresses is a complete different thing than the difference between the original labels: The result might differ in absolute value and in sign, i.e. you can't even determine whether LAB1 or LAB2 comes first in the generated code as the order of stubs might differ from the order of respective labels.
Ok, so you can't expect to use the value directly, but I think this is not too different from other targets. You still should be able to add the difference back to &&LAB1 and expect to get &&LAB2 or gs(&&LAB2). That's what the execution test does - why isn't this working?
Bernd