[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