I came across this problem (as I currently implementing cache manager). First I tried to add my new cache.c implementation at this libcpu/or1k/Makefile.am line:
"## shared/cache include_libcpu_HEADERS = ../shared/include/cache.h noinst_PROGRAMS += shared/cache.rel shared_cache_rel_SOURCES = shared/cache/cache.c shared/cache/cache_.h \ ../shared/src/cache_aligned_malloc.c \ ../shared/src/cache_manager.c" But I got the same undefined reference to all RTEMS cache functions. So I just redirected or1ksim BSP Makefile.am to include cache.c and cache_manager.c from libcpu directory (raspberry pi does so). And it worked with the following lines at or1ksim/Makefile.am (I think the same can apply to nios2_iss BSP since it's the only BSP for nios2) "# Cache libbsp_a_SOURCES += ../../../libcpu/or1k/shared/cache/cache.c libbsp_a_SOURCES += ../../../libcpu/shared/src/cache_manager.c libbsp_a_SOURCES += ../shared/include/cache_.h libbsp_a_CPPFLAGS += -I$(srcdir)/../shared/include" On Wed, Sep 3, 2014 at 4:44 PM, Joel Sherrill <joel.sherr...@oarcorp.com> wrote: > Hi > > Any suggestions on how to address this? > > nios2-rtems4.11-gcc -B../../../../../nios2_iss/lib/ -specs bsp_specs > -qrtems -DHAVE_CONFIG_H -I. > -I../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01 > -I.. > -I../../../../../../../rtems/c/src/../../testsuites/sptests/../support/include > -mno-hw-mul -mno-hw-div -O0 -g -Wall -Wmissing-prototypes > -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT > init.o -MD -MP -MF .deps/init.Tpo -c -o init.o > ../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c > mv -f .deps/init.Tpo .deps/init.Po > nios2-rtems4.11-gcc -B../../../../../nios2_iss/lib/ -specs bsp_specs > -qrtems -mno-hw-mul -mno-hw-div -O0 -g -Wall -Wmissing-prototypes > -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs > -mno-hw-mul -mno-hw-div -o spcache01.exe init.o > init.o: In function `test_data_flush_and_invalidate': > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:46: > undefined reference to `rtems_cache_get_data_line_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:64: > undefined reference to `rtems_cache_flush_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:74: > undefined reference to `rtems_cache_invalidate_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:91: > undefined reference to `rtems_cache_flush_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:92: > undefined reference to `rtems_cache_invalidate_multiple_data_lines' > init.o: In function `test_timing': > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:179: > undefined reference to `rtems_cache_get_data_line_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:179: > undefined reference to `rtems_cache_get_data_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:187: > undefined reference to `rtems_cache_get_data_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:195: > undefined reference to `rtems_cache_get_data_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:202: > undefined reference to `rtems_cache_flush_entire_data' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:222: > undefined reference to `rtems_cache_flush_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:242: > undefined reference to `rtems_cache_invalidate_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:262: > undefined reference to `rtems_cache_flush_entire_data' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:282: > undefined reference to `rtems_cache_flush_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:302: > undefined reference to `rtems_cache_invalidate_multiple_data_lines' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:318: > undefined reference to `rtems_cache_get_instruction_line_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:318: > undefined reference to `rtems_cache_get_instruction_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:326: > undefined reference to `rtems_cache_get_instruction_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:334: > undefined reference to `rtems_cache_get_instruction_cache_size' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:341: > undefined reference to `rtems_cache_invalidate_entire_instruction' > /users/joel/rtems-4.11-work/rtems-testing/rtems/build-nios2-nios2_iss-rtems/nios2-rtems4.11/c/nios2_iss/testsuites/sptests/spcache01/../../../../../../../rtems/c/src/../../testsuites/sptests/spcache01/init.c:360: > undefined reference to `rtems_cache_invalidate_multiple_instruction_lines' > collect2: error: ld returned 1 exit status > gmake[6]: *** [spcache01.exe] Error 1 > > -- > Joel Sherrill, Ph.D. Director of Research & Development > joel.sherr...@oarcorp.com On-Line Applications Research > Ask me about RTEMS: a free RTOS Huntsville AL 35805 > Support Available (256) 722-9985 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel