Hi

Are there any suggestions on what might be causing linking between seL4 and Genode to fail?
It fails once it reaches <genode>/tool/run/run: proc build_core {lib modules target link_address} with "undefined reference" errors.

# link final image
exec [cross_dev_prefix]g++ {*}$arch -nostdlib {*}[core_ld_opts] \
                               -Wl,-z -Wl,max-page-size=0x1000 \
                               -Wl,-Ttext=$link_address -Wl,-gc-sections \
                               -Wl,-nostdlib -Wl,--whole-archive -Wl,--start-group \
                               $lib [run_dir].boot_modules.o -Wl,--no-whole-archive \
                               -Wl,--end-group $libgcc -o $target

Do I need to add bootstrap to my build? The similar way it is done when compiling Genode with hw kernel?
I would really appreciate any suggestions or ideas on where to look.

Thank you

On Tue, May 9, 2017 at 7:33 PM, Yevgeny Lavrov <ylavrov13@...9...> wrote:
Hi,

I kept experimenting with Genode/seL4 and I ran into the following issue that I can't solve. I have no more problems compiling Genode with seL4 kernel, but my build always ends with a lot of "undefined reference" errors:
Ex:

genode build completed
using 'ld-sel4.lib.so' as 'ld.lib.so'
using 'sel4/core.o' as 'core.o'
core/sel4/core.o: In function `error<char const (&)[53], char const (&)[18], void*&, char const (&)[35], void*, char const (&)[2]>':
../genode-17.02/repos/base/include/base/log.h:131: undefined reference to `Genode::Log::log()'
core/sel4/core.o: In function `warning<long unsigned int&, char const (&)[21], char const*, char const (&)[31]>':
../genode-17.02/repos/base/include/base/log.h:119: undefined reference to `Genode::Log::log()'
core/sel4/core.o: In function `error<char const (&)[19], Genode::Avl_node_base*&, char const (&)[22]>':
../genode-17.02/repos/base/include/base/log.h:131: undefined reference to `Genode::Log::log()'
.......

It looks like the linking between Genode & seL4 fails at some point. I think that this is caused by /<genode-dir>/tool/run/boot_dir/sel4 file, so I'm trying to change it so that it looks more like run/boot_dir/hw
Am I on the right track, or is there something else that I'm missing?

Thank you

On Mon, Apr 10, 2017 at 2:49 AM, Norman Feske <norman.feske@...1...> wrote:
Hello Yevgeny

> For now I just want to confirm one thing about core-seL4.mk file. Want
> to make sure that I understand everything correctly.
> The files that are included through SRC_CC in core-seL4.mk. Not all of
> them are present in base-seL4/src/core. So, where does it pull the files
> that are not in base-sel4/src/core? Do they come from
> repos/base/src/core directory?

the files are obtained according to the 'vpath' definitions at the end
of the core-sel4.mk file. If you want to inspect the build steps in
detail, I recommend you to append the "VERBOSE=" argument when invoking
make. E.g.,

  make core/sel4 VERBOSE=

Cheers
Norman

--
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://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