For what it is worth it, gas has this strange behaviour. I agree it is strange, but why is it an issue for r239440? Will I get a failure if I revert it? Cheers, Rafael On 12 June 2015 at 12:17, Pete Cooper <peter_cooper at apple.com> wrote:> Hey Salem, > > Any chance you’ve had time to take a look at this? > > If you prefer, I can prepare a patch with the change i’d like to make and we > can see if you are happy with it. > > Cheers, > Pete > > On Jun 9, 2015, at 4:09 PM, Pete Cooper <peter_cooper at apple.com> wrote: > > Hi all > > Saleem, in 2014 you added the .thumb_set test case. I’ve found a difference > in behaviour of .thumb_set compared to .set. I was hoping to resolve this > difference as it will allow me to reapply r239440. > > The issue i’m seeing is that we define an alpha function, then beta > function, then assign alpha to beta. But given that beta has already been > defined, this would mean we are redefining it at the point of the > .thumb_set: > > .text > .thumb > > .thumb_set alias_defined_data, bedazzle > > .type alpha,%function > alpha: > nop > > .type beta,%function > beta: > bkpt > > .thumb_set beta, alpha > > The above code currently passes. However, if I change .thumb_set to .set > then I get > > ../test/MC/ARM/thumb_set.s:60:13: error: redefinition of 'beta' > .set beta, alpha > > I would like to make .thumb_set throw the same error here as I believe that > is how it should behave in this case. > > Please let me know if you are ok with this, or some other approach. I’m > unfamiliar with it so its possible that what i’ve found isn’t a bug at all > but just how we want it to behave. > > Cheers, > Pete > >
> On Jun 12, 2015, at 10:47 AM, Rafael Espíndola <rafael.espindola at gmail.com> wrote: > > For what it is worth it, gas has this strange behaviour. > > I agree it is strange, but why is it an issue for r239440? Will I get > a failure if I revert it?You will yeah. beta had its ‘Offset’ set to some value but then the .set tried to make it a variable using setVariableValue. Given that I put Offset and Value in the same union, I added an assert to ensure that we can’t change from Offset to Value. Do you think its possible for this change from Offset to Value to happen to a symbol? If so, and if Offset and Value are still mutually exclusive then we just need to support overriding the Offset with a Value. Cheers, Pete> > Cheers, > Rafael > > > On 12 June 2015 at 12:17, Pete Cooper <peter_cooper at apple.com> wrote: >> Hey Salem, >> >> Any chance you’ve had time to take a look at this? >> >> If you prefer, I can prepare a patch with the change i’d like to make and we >> can see if you are happy with it. >> >> Cheers, >> Pete >> >> On Jun 9, 2015, at 4:09 PM, Pete Cooper <peter_cooper at apple.com> wrote: >> >> Hi all >> >> Saleem, in 2014 you added the .thumb_set test case. I’ve found a difference >> in behaviour of .thumb_set compared to .set. I was hoping to resolve this >> difference as it will allow me to reapply r239440. >> >> The issue i’m seeing is that we define an alpha function, then beta >> function, then assign alpha to beta. But given that beta has already been >> defined, this would mean we are redefining it at the point of the >> .thumb_set: >> >> .text >> .thumb >> >> .thumb_set alias_defined_data, bedazzle >> >> .type alpha,%function >> alpha: >> nop >> >> .type beta,%function >> beta: >> bkpt >> >> .thumb_set beta, alpha >> >> The above code currently passes. However, if I change .thumb_set to .set >> then I get >> >> ../test/MC/ARM/thumb_set.s:60:13: error: redefinition of 'beta' >> .set beta, alpha >> >> I would like to make .thumb_set throw the same error here as I believe that >> is how it should behave in this case. >> >> Please let me know if you are ok with this, or some other approach. I’m >> unfamiliar with it so its possible that what i’ve found isn’t a bug at all >> but just how we want it to behave. >> >> Cheers, >> Pete >> >>
> You will yeah. beta had its ‘Offset’ set to some value but then the .set tried to make it a variable using setVariableValue. > > Given that I put Offset and Value in the same union, I added an assert to ensure that we can’t change from Offset to Value. > > Do you think its possible for this change from Offset to Value to happen to a symbol? If so, and if Offset and Value are still mutually exclusive then we just need to support overriding the Offset with a Value.I think so, that is what .thumb_set is doing, it is replacing a regular symbol with a variable. For what it is worth, just deleting the asserts gets all tests to pass :-) Cheers, Rafael