[U-Boot] [PATCH] arm: make arch memset/memcpy to work with Thumb2 builds

Jeroen Hofstee jeroen at myspectrum.nl
Thu Nov 20 14:10:11 CET 2014


Hello Stefan,

On 20-11-14 13:15, Stefan Agner wrote:
> Hi Jeroen,
>
> On 2014-11-20 10:21, Jeroen Hofstee wrote:
>> Hello Stefan,
>>
>> On 19-11-14 15:16, Stefan Agner wrote:
>>> Resynchronize memcpy/memset with kernel and build them explicitly
>>> in Thumb2 mode (unified syntax). Those assembler files can be
>>> built and linked in ARM mode too, however when calling them from
>>> Thumb2 built code, the stack got corrupted and the copy did not
>>> succeed (the exact details have not been traced back). Hoever,
>>> the Linux kernel builds those files in Thumb2 mode. Hence U-Boot
>>> should build them in Thumb2 mode too when CONFIG_SYS_THUMB_BUILD
>>> is set.
>>>
>>> Also add implicit-it=always to AFLAGS when building for Thumb2.
>>> Furthermore add no-warn-deprecated option to AFLAGS to rid of
>>> deprecated unified syntax:
>>
>>> arch/arm/lib/memcpy.S: Assembler messages:
>>> arch/arm/lib/memcpy.S:153: Warning: conditional infixes are deprecated in unified syntax
>>> arch/arm/lib/memcpy.S:154: Warning: conditional infixes are deprecated in unified syntax
>>> ...
>> Any particular reason not to fix these warnings instead? It Is
>> just a matter of making the conditionals suffixes. [I guess
>> you can even disassemble to file to get the UAL represenation].
>> Or are there gas version around which actually choke on that?
> No particular reason, I did not know how to fix this without digging
> into it. Hence, after I discovered this, I checked why those warnings do
> not happen for the kernel, then I applied just the AFLAGS the kernel is
> using. I guess fixing the underlying issue is the better option, and
> doing this also for the kernel would be the best way... Maybe the kernel
> community also knows better why they choose to use the AFLAGS instead
> (and if there are gas version which do have problems with a proper
> fix)...
>

for what it is worth, I have attached patch hanging around, but I never
actually tested it. It is for the current version.

Regards,
Jeroen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-arm-memset-make-it-UAL-compliant.patch
Type: text/x-patch
Size: 2546 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141120/a1ea6c16/attachment.bin>


More information about the U-Boot mailing list