Are you trying to use Floating Point? Or long long's?
I started playing with Floating point at one point, and ran into a
plethora of similar problems. The project I was converting from had
used a fixed point math package, so I looked at converting that to the
ARM. However, to get the numeric range I need, I had to use
long-long's, which come up with some more linker problems.
So, I dug deep into the system, and have these results to share (these
were my findings around 3 months ago, things may have changed since then.)
1. Use the CodeSourcery command line compiler tools. These are still
under GPL, and have no more/less legal restrictions on their use than
any other GCC distribution.
2. Avoid long-longs and double floats. The long-long's end up calling
some of the routines in the library for doubles, which in turn has
exception handling turned ON - and requires at minimum a full
encorporation of NewLib to provide some OS support routines needed by
the exception handling.
Hope this helps,
John Clymer
--- In A...@yahoogroups.com, "ICLI, Bekir (EXT)"
wrote:
>
> Hi all,
>=20
> I am trying to get my code compiled and linked, but there seems to
be a problem saying " undefined reference to `__udivsi3' "
> I have googled it and seen that the most common answer is to add
libgcc.a to the linker, which I have done.=20
> Than I checked the contents of my libgcc.a (with the command "
arm-elf-ar t libgcc.a "), and there is " _udivsi3 " but no "__udivsi3".=20
> Does anybody have an idea about what might be done to work around
this problem?
>=20
> Thanks..
>=20
> Mit freundlichem Gru=DF / Best regards
>=20
> Bekir ICLI
>
=20
=20

(You need to be a member of AT91SAM -- send a blank email to AT91SAM-subscribe@yahoogroups.com )