I forgot to post back that I did eventually find the solution to this
problem.
I had it come back and bite me in the butt a second time and it took me a
lot longer to figure it out because I kept finding this thread and not the
thread where I had made mention of the solution.



Dear Future AJ,

This is how you solved the problem:

http://e2e.ti.com/support/dsp/omap_applications_processors/f/447/t/104381.aspx


A little tweak to linkcmd.xdt got me most of the way there.
~/ti/dvsdk/dvsdk_3_01_00_10/xdctools_3_16_01_27/packages/gnu/targets/arm/linkcmd.xdt

INPUT(
   %for (var i = 0; i < $args.length; i++) {
   `$args[i]`
   %}

   /usr/lib/gcc/arm-linux-gnueabi/4.5.2/libgcc_eh.a

   /usr/lib/arm-linux-gnueabi/libc.a

   /usr/lib/arm-linux-gnueabi/gcc/arm-linux-gnueabi/4.5/libgcc.a
)



Also:

__aeabi_unwind_cpp_pr0 is part of the standard ARM exception

handling code and helps in unwinding the stack frame when an exception
occurs.

__aeabi_unwind_cpp_pr0 is defined in libgcc_eh.a


Additionally, I believe the problem can be solved by coping

/* Dummy functions to avoid linker complaints */
void __aeabi_unwind_cpp_pr0(void)
{
};

to cmemk.c


I'm testing both methods again. If anything is different this time around
I'll be posting back with more updates.

AJ ONeal

On Mon, Apr 18, 2011 at 11:39 AM, AJ ONeal <coola...@gmail.com> wrote:

>
> I'm compiling an application built with TI's DVSDK 3 *[0].
>
>
>
>
> /home/user/ti/dvsdk/dvsdk_3_01_00_10/linuxutils_2_25_02_08/packages/ti/sdo/linuxutils/cmem/lib/cmem.a470MV(cmem.o470MV):(.ARM.exidx+0x0):
>  undefined reference to `__aeabi_unwind_cpp_pr0'
>
>
>
> arm-linux-gnueabi-gcc --version
> arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.5.2-5ubuntu2~ppa1) 4.5.2
>
> arm-linux-gnueabi-ld --version
> GNU ld (GNU Binutils for Ubuntu) 2.21.0.20110302
>
>
> More full output is here (but it isn't particularly helpful due to TI's
> RTSC make system's black-magic)
> https://gist.github.com/925674
>
> FYI: the MV in cmem.a470MV stands for MontaVista.
> This name is hard-coded somewhere even though it's not being linked against
> a MontaVista system.
> I believe the 470 means that it should work with ARMv4 through ARMv7, but
> I'm not positive.
>
>
> My googling suggest that this is a toolchain bug and that the best way
> around the issue is to create a file which defines the function as a void
> dummy and include it.
>
> http://www.codesourcery.com/archives/arm-gnu/msg03604.html
> http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/78649
>
> http://www.cs.fsu.edu/~baker/devices/lxr/http/ident?i=__aeabi_unwind_cpp_pr0
>
>
> I have a script that I'll post shortly with instructions as to how to setup
> TI's DVSDK with Linaro
>
> AJ ONeal
>
> [0] I'm not using the latest DVSDK version 4 because the paths and such are
> so hard-coded for the 2009q3 version of codesourcery on ubuntu 10.04 LTS
> that I don't know where to start fixing it.
>
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to