[LLVMdev] .thumb_set
Pete Cooper
peter_cooper at apple.com
Fri Jun 12 10:51:09 PDT 2015
> 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
>>
>>
More information about the llvm-dev
mailing list