[vlc-devel] [PATCH] contrib: optionally enable interworking thumb

Rafaël Carré funman at videolan.org
Tue Jan 24 18:41:53 CET 2012


Le 2012-01-24 12:33, Rémi Denis-Courmont a écrit :
> Le mardi 24 janvier 2012 19:29:06 Rafaël Carré, vous avez écrit :
>> Le 2012-01-24 12:22, Rémi Denis-Courmont a écrit :
>>> Le mardi 24 janvier 2012 19:10:33 Rafaël Carré, vous avez écrit :
>>>> ---
>>>> This version forces -mthumb-interworking
>>>
>>> As I already wrote today - and I wonder why I still bother - interworking
>>> would have to be enabled in the whole system. You cannot change that in
>>> the VLC contribs. You would have to enable super interworking instead.
>>
>> Yes,
>>
>>> I still think the best approach is to fix ARM assembler to interwork
>>> locally (or disable it). Alternatively, you would have to assume that
>>> the platform does at least one of the following:
>>>
>>>
>>> - uses AAPCS (or a derivative),
>>
>> I still don't see the link
> 
> info gcc... AAPCS mandates interworking.

info gcc has no details but
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/IHI0042D_aapcs.pdf
does, indeed interworking is mandatory, nice to know.

> 
>>> - uses the ARM ISA,
>>
>> That patch enables -mthumb so no
>>
>>> - enables interworking.
>>
>> interworking is not optional
                                with -mthumb and -marm enabled..
> 
> If you do not use AAPCS, then it is. There would obviously not be a switch in 
> GCC if it were mandatory.



> 
>>> But that will cause interesting (read: obscure) problems if not.
>>
>> Again, yes
>>
>> Now, how does that patch differ from
>> 3c6c622cc37b121faa402414e0a90a79d4aaf370 ?
> 
> That patch did the opposite. It enabled Thumb on an OS that uses ARM in an 
> effort to save space. It was broken and removed anyway.

This too enables thumb in order to save space (and cpu cache) ??
I don't see how it's the opposite.

+case "${HOST}" in
+    arm*)
+        if [ -n "${THUMB}" ]
+        then
+            add_make "EXTRA_CFLAGS += -mthumb -mthumb-interwork"
+            add_make "NOTHUMB = -mno-thumb"
+        fi
+        ;;
+esac




More information about the vlc-devel mailing list