Post by Andre Vieira (lists)Post by Nick CliftonHi Andre,
GAS REGRESSION: Local BLX instructions in Thumb
This is for "arm-netbsdelf" and "arm-nto" configurations.
Please could you have a look at them ?
Cheers
Nick
Hi Nick,
I'll have a look. At first sight it seems the other configurations
change a bl from arm to thumb into blx and arm-netbsdelf and arm-nto
don't. I haven't looked at what code does this, but I'll go do some more
digging. I am also surprised it does so without warning, whereas when it
transforms a blx into a bl it does warn.
Anyhow, I'm having a look and will come back to you. No good deed goes
unpunished ;)
Kind Regards,
Andre
Hi Nick,
Sorry for the delay, I had a look at this and it seems the code that
transforms bl->blx if it can detect a state change is guarded by
"OBJ_ELF". Also it will only do this if the target label is known to be
a function, i.e. it needs '.type <target_label>, %foo' directive to do
the transformation.
This left me stuck though because:
1) I don't understand why it matters if a target is ELF or not when
making this transformation, I heard it might be because of some non-elf
targets having to perform state changes in a slightly different manner?
2) Should arm-netbsdelf and/or arm-nto be 'elf'? Specially the first
lead me to think yes, as for the second I have no idea.
I am OK with not answering the first question, but if someone familiar
with arm-netbsdelf and arm-nto could come back to me about this,
otherwise I'll have to skip the test for both.
Cheers,
Andre