Link error with AMU when using long long ints
Chris Johnson (125) 825 posts |
I have a need to do some arithmetic using long long 64-bit integers. I have used long long int before but only simple add and subtract. I now have a need to use multiply and divide. When AMU comes to linking the code with o.stubs it generates the following error. ARM Linker: (Error) Undefined symbol(s). ARM Linker: _ll_mullu, referred to from Tasklib:TaskLib(xmath). ARM Linker: _ll_srdv, referred to from Tasklib:TaskLib(xmath). ARM Linker: Errors in link, no output generated. ARM Linker: finished, 3 informational, 0 warning and 1 error messages. AMU: *** exit (1) *** Looking at o.stubs in a text editor, both symbols appear to be in there, so must be known to stubs. I assume I am doing something silly. Can some kind soul point me in the correct direction. |
Colin (478) 2433 posts |
changing exampleabs in DDE skeletons to
compiles fine and DecAOF shows Try reordering the libraries or adding the -rescan link flag |
Chris Johnson (125) 825 posts |
OK. Thanks Colin for the help. I’ll give it another try. |
Chris Johnson (125) 825 posts |
I have made a couple of experiments. If I put the function in the main body of the program, everything compiles and links fine. However, I was including the function originally in a library. When in the library, the same function compiles, but everything fails at the link stage. For now I shall just have to include the function directly in any program that needs it. |
Jeff Doggett (257) 234 posts |
That very strongly implies that you’ve got the libraries in the wrong order. Stubs should be the last one on the line. |
Chris Johnson (125) 825 posts |
I’ll have another look. I did try changing the order of linking, but that created more problems. The app is linked with a number of libraries. |
Jeff Doggett (257) 234 posts |
This is a comment in the Makefile that I use to build Doom
|