Hi, Alex

Thanks a lot for the hint. Got it all fixed. Now I can get image.elf to compile and readelf -s returns:
22790: 00000000   112 FUNC    GLOBAL DEFAULT 3735 _ZN6Genode3Log3logEv

Ran into "undefined reference" again with io_port* files but was able to fix by changing vpath for platform_services.cc
from: $(GEN_CORE_DIR)/spec/x86 to $(GEN_CORE_DIR).

Running the image on board gave no result, apart from msg: ## Starting application at 0x10001000 ...

Is it possible that I might be missing some i.MX6 platform specific files in my build? Like those that can be found in
/base-hw/src/core/spec and /base-hw/src/core/include/spec


On Thu, Jun 22, 2017 at 9:14 AM, Alexander Boettcher <alexander.boettcher@...1...> wrote:
Hi,

On 21.06.2017 21:41, lavrovyn@...145... wrote:
> Yes, default_log.cc is listed in core-sel4.mk file. However, I've recently
> noticed that not all of the components listed in SRC_CC actually get to
> compile (including default_log.cc), which results in incomplete core-sel4
> library. After taking a closer look, it turned out that
> io_port_session_support.cc and io_port_session_component.cc are the source
> of this problem. I had them out commented for my sabre_lite build as
> you've previously suggested. Removing them from core-sel4.mk for
> seL4_x86_32 build gave me the same results as for sabre_lite: incomplete
> core-seL4 library

now I get the same error. You can't just uncomment it with '#', because
all followed files will _not_ be added anymore. Just remove the lines
completely. The issue here is that all files are concatenated by the '\'
at the end of each line. If you uncomment one in between, all lines (and
therefore files) below will not be compiled anymore.

>
> Library core-sel4
> COMPILE  cpu_session_component.o
> COMPILE  cpu_session_support.o
> COMPILE  cpu_thread_component.o
> COMPILE  io_mem_session_component.o
> COMPILE  io_mem_session_support.o
> COMPILE  main.o
> COMPILE  pd_assign_pci.o
> COMPILE  pd_session_component.o
> COMPILE  pd_upgrade_ram_quota.o
> COMPILE  ram_session_component.o
> COMPILE  ram_session_support.o
> COMPILE  rom_session_component.o
> COMPILE  rpc_cap_factory.o
> COMPILE  version.o
> MERGE    core-sel4.lib.a
>
> and the same "undefined reference" errors at the end.
> Now that I know where the problem is: what can I do from here?
>
>>> Please check that you compile and link the
>>> file to core. Check that the symbol actually shows up as symbol in
>>> core.o, e.g. by examining the output of "readelf -s
>>> build/<arch>/core/sel4/core.o".

In case it is successful, on x86 I get:

readelf -s build/x86_32/core/sel4/core-sel4.o | grep log | grep Log

 7729: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _ZN6Genode3Log3logEv

Here you see the symbol part of core.o.


--
Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@...172...net
https://lists.sourceforge.net/lists/listinfo/genode-main