[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