This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ldm/stm bus error


On 05/18/2015 02:05 AM, Umesh Kalappa wrote:
> Getting a bus/hard error for the below case ,make sense since ldm/stm
> expects the address to be word aligned .

> --with-pkgversion='Cisco GCC c4.7.0-p1' --with-cisco-patch-level=1

The FSF doesn't support gcc-4.7.0 anymore.  Generally, we only support
the last two versions, which is 4.9 and 5.1.  We also don't support
vendor compilers.  So you will have to reproduce in an FSF GCC 4.9 or
later tree if you want to get anyone here interested.  It appears that
this is already fixed in gcc-4.9 though.

The Cisco compiler is a MontaVista compiler with patches.  You could try
reporting this to MontaVista.

Or you can try to track down the problem yourself.  You can use
bisection to find the patch that fixed it.  Checkout a copy of the FSF
gcc tree halfway between gcc-4.7 and gcc-4.9, and check to see if it has
the bug.  That narrows the search space by half.  Then repeat on the
remaining half until you have reduced it down to a few days.  Then you
can check ChangeLog entries for a likely patch to the ARM backend.  Or
you can continue the bisection until you have it down to one patch.  You
can then backport the patch to your gcc sources and/or point MontaVista
at it.

This bisection process can be scripted.  You can find an example in the
gcc contrib/reghunt directory.  I don't have experience using this
script though, as I like to do it by hand.

If you have a sufficient understanding of gcc, you may be able to find
the patch simply by looking at what gcc-4.9 is doing differently than
gcc-4.7, and mapping that back to a ChangeLog entry and a patch.

Jim


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