delorie.com/archives/browse.cgi | search |
On Tue, Nov 16, 1999 at 01:31:35PM +0100, Borkhuis, Johan wrote: >We are using the GNU toolchain for m68k and newlib. When we are running our >SW we get a bus address error. This error occurs in strcat. The code where >the problem comes from is the following: > > /* Skip over the data in s1 as quickly as possible. */ > if (ALIGNED (s1)) > { > unsigned long *aligned_s1 = (unsigned long *)s1; > while (!DETECTNULL (*aligned_s1)) > aligned_s1++; > > s1 = (char *)aligned_s1; > } > >with ALLIGNED replaced with the following: > >#define ALIGNED(X) (((long)X & (sizeof (long) - 1))) > >The error occured in the first assignement, because s1 is not alligned. >The problems is created by the macro ALLIGNED. When X is not a multiple of 4 >(for a 32 bit long) this function returns TRUE when it should return FALSE. >(BTW: this macro is also used in other modules, but there it is called >UNALLIGNED.) > >Did anyone discover this problem, or is there a workaround for this? If I'm understanding your question correctly, you are attempting to use newlib on an m68k target. If that is the case, this has nothing to do with cygwin and is off-topic for this mailing list. There is a newlib mailing list: newlib AT sourceware DOT cygnus DOT com . It is probably best to send your query there. -Chris Faylor -Cygwin Engineering Manager -Cygnus Solutions -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |