This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Libraries with strict-align for PPC403?


Is there a way to generate code for the PPC403GA or PPC403GB (which allow only
strictly-aligned accesses, other than the PPC403GC and all(?) other PPC CPUs)
without a need to patch the sources of GCC and most libraries?

As far as I see out of the sources, only the libraries in newlib are generated with
-mstrict-align, all other libraries (libgcc.a, libgloss.a, libg++.a, libiberty.a, ...)
are generated without this flag and are therefore subject to possible alignment errors.

I added -mstrict-align to the line 'MULTILIB_EXTRA_OPTS = ... ' in gcc/config/rs6000/t-ppc
and gcc/config/rs6000/t-ppcgas to make libgcc.a work and to the line
'CFLAGS_MRELOCATABLE = ...' in libgloss/config/ppc.mh to make libgloss.a work with
the PPC403GA.

In addition, -mcpu=403 should define -mstrict-align too (if using a PPC403GC one may
define -mno-strict-align; this is safer than vice versa).

I am using the following configuration:
gcc from cygnus-2.7.2-970404 (cygwin32 beta18)
newlib-1.8.0
binutils-2.8.1

-jr
---
Johannes Reisinger, FREQUENTIS Vienna/AUSTRIA
e-mail: jreising@frequentis.com