[LLVMdev] .thumb_set
Pete Cooper
peter_cooper at apple.com
Sun Jun 14 19:21:05 PDT 2015
Hi Renato
> On Jun 13, 2015, at 6:19 AM, Renato Golin <renato.golin at linaro.org <mailto:renato.golin at linaro.org>> wrote:
>
> On 13 June 2015 at 04:12, Saleem Abdulrasool <compnerd at compnerd.org <mailto:compnerd at compnerd.org>> wrote:
>> The behavior was taken from GAS. I don't know if there are applications
>> using this and dependent on the behavior. Given that this is a GNU
>> extension, I think its better to keep the behavior similar to GAS rather
>> than implement and diverge.
>
> I kind of agree with Saleem, here. We don't want to deviate, even from
> silly behaviour, when implementing a GNU extension.
I totally agree with matching whatever GAS says, which is (https://sourceware.org/binutils/docs/as/ARM-Directives.html <https://sourceware.org/binutils/docs/as/ARM-Directives.html>)
"This performs the equivalent of a .set directive in that it creates a symbol which is an alias for another symbol (possibly not yet defined). This directive also has the added property in that it marks the aliased symbol as being a thumb function entry point, in the same way that the .thumb_func directive does.”
The first part is most important here. Its the equivalent of a .set.
I would argue that in this case it should throw exactly the same errors in exactly the same situations as .set. Any more/less and it wouldn’t be equivalent.
Sorry if that comes across as heavy handed, but i just want to be clear how i interpret the behavior here. Ideally i’d like to take whatever tests we have for .set errors/warnings and port all of them to ARM to make sure we have the same behavior.
Cheers,
Pete
>
> If this brings problems, we may add a warning, but not much more, I'd say.
>
> cheers,
> --renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150614/921b5b81/attachment.html>
More information about the llvm-dev
mailing list