Hi Falk! I've read through the cl6x linker docs once again [1] SPRU187V Chapter 5, page 137 and following.
>From my experience and the docs i'd say, yes you're right. To prove the solution to your problem, see page 138: "When you specify a library as linker input, the linker includes and links only those library members that resolve undefined references." Current cmake behaviour: Library functions are favored over user functions. Desired behaviour: User functions are favored library functions. Before proposing a change in cmake, i'd like to check how our cmake/ti project (>200k lines) behaves and if it still links. Unfortunately i'll not be able to do this before 15.6.2015. Regards, Florian [1] http://www.ti.com/lit/ug/spru187v/spru187v.pdf On Thursday 28 May 2015 08:15:09 Tristram, Falk wrote: > Hi all, > > before creating a bug report about this problem, I first want to get > feedback here. I have created a CMake build system for a whole bunch of > embedded targets all working fine. > > Now I ran into a strange problem related to the tms470_5.0.1. > Some of the symbols are just dropped by linker (optimized out). > I pinned down the problem to the "TI-C.cmake". > > set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> --run_linker > --output_file=<TARGET> --map_file=<TARGET>.map <CMAKE_C_LINK_FLAGS> > <LINK_LIBRARIES> <LINK_FLAGS> <OBJECTS>") > > <OBJECTS> is the last entry. > In my case OBJECTS just consists out of one file "main.c.obj". > > Changing the order just works fine, as follows: > set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> --run_linker > --output_file=<TARGET> --map_file=<TARGET>.map <CMAKE_C_LINK_FLAGS> > <OBJECTS> <LINK_LIBRARIES> <LINK_FLAGS>") > > Now here is my question: > Is there any specific reason why <OBJECTS> comes as last parameter? > Could you change the order for future versions? > > Note: I am still checking/testing the impact of the changed order to our > other TI-C build systems. > > Best regards, > Falk -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
