newlib/libc/machine/m68k/memcpy.S broken for cpu32

Jeff Johnston jjohnstn@redhat.com
Mon Feb 8 17:39:00 GMT 2010


On 08/02/10 12:24 PM, Josef Wolf wrote:
> On Mon, Feb 08, 2010 at 04:43:14PM +0100, Josef Wolf wrote:
> [ ... ]
>> --- newlib-1.18.0.orig/newlib/libc/machine/m68k/memcpy.S        2010-02-08 15:23:22.719360886 +0100
>> +++ newlib-1.18.0/newlib/libc/machine/m68k/memcpy.S     2009-12-14 21:50:53.000000000 +0100
>> @@ -15,7 +15,7 @@
>>
>>   #include "m68kasm.h"
>>
>> -#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
>> +#if defined (__mcoldfire__) || defined (__mcpu32__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
>>   # define MISALIGNED_OK 1
>>   #else
>>   # define MISALIGNED_OK 0
>
> Although I apply this patch, I still get code as if MISALIGNED_OK==1. Any
> idea why this patch still defines MISALIGNED_OK==1 when -mcpu32 option
> is given to gcc? Does -mcpu32 imply some other -mc680x0 option?

Your patch is reversed.  It is adding __mcpu32__ to the list that sets 
MISALIGNED_OK 1.  Have you verified that __mcpu32__ is not in the list 
for the file end up building with?

-- Jeff J.



More information about the Newlib mailing list