This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM Compilers: refer external symbols from elf

Note: This was originally posted on 18th April 2011 at http://forums.arm.com

HI guys,



is it possible to compile a source file where the external symbols should be referred in the elf (elf for whole build) by ARM compiler/Linker.

we use compilers :ADS120 ,RVCT3.1,RVCT4.1

Scenario :

Build consist of all the source, we make build by integrating  this source file/changes and we compile whole build. so if there is any compilation/link error with integrated source file/changes we will able to know after whole build is compiled .
i want to optimize this process,by compiling only changed files before integrating in the whole build ,where external symbols should be referred in elf (generated for whole build(previous  successful build)). Once it compiled successfully i can integrated in build and compile.so by this process i will be able to resolve the errors in very less time.

Thanks for reading the post.
Parents
  • Note: This was originally posted on 20th April 2011 at http://forums.arm.com


    For each of the source file compiles call "armcc" with "-c" option; this tells the compiler to compile the file but not to link it, so it can have symbols it exports and symbols which is it missing and will need in future from other objects. The output from each invocation of the tools will be an ELF object.


    armcc foo.c -c -o foo.o
    armcc bar.c -c -o bar.o
    ... etc ...


    Once you have built all of your objects link them with "armlink" to get the ELF executable:


    armlink foo.o bar.o -o example.exe





    Thanks for the replay isogen


    if we give linking command as "armlink  foo.o bar.o Build.elf -o Build_new.elf"  it will work..?

    actually the unresolved symbols of foo.o and bar.o are present in elf(Build.elf) not in other objects.

    i want know only whether it is able to resolve all the external symbols..?  if not then output the  symbol's whose definition is unavailable with its respective object file from where it is refered.


    Thanks



Reply
  • Note: This was originally posted on 20th April 2011 at http://forums.arm.com


    For each of the source file compiles call "armcc" with "-c" option; this tells the compiler to compile the file but not to link it, so it can have symbols it exports and symbols which is it missing and will need in future from other objects. The output from each invocation of the tools will be an ELF object.


    armcc foo.c -c -o foo.o
    armcc bar.c -c -o bar.o
    ... etc ...


    Once you have built all of your objects link them with "armlink" to get the ELF executable:


    armlink foo.o bar.o -o example.exe





    Thanks for the replay isogen


    if we give linking command as "armlink  foo.o bar.o Build.elf -o Build_new.elf"  it will work..?

    actually the unresolved symbols of foo.o and bar.o are present in elf(Build.elf) not in other objects.

    i want know only whether it is able to resolve all the external symbols..?  if not then output the  symbol's whose definition is unavailable with its respective object file from where it is refered.


    Thanks



Children
No data