genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.04k stars 248 forks source link

tool chain update for 23.05 release #4827

Closed cproc closed 1 year ago

nfeske commented 1 year ago

I think the less magic, the better. Maybe I'm lacking the full picture but think that in practice, the symlinks pointing to the abi files at link time work quite well. Hence, I would not include .abi.so in the library pattern.

cproc commented 1 year ago

Commit 59a5162 has the .abi.so pattern removed.

chelmuth commented 1 year ago

I merged the binutils-grep series just now.

atopia commented 1 year ago

Sorry wrong reference, please ignore the last commit.

chelmuth commented 1 year ago

Will still get the following build warnings. any ideas how to prevent this?

/usr/local/genode/tool/23.05/bin/genode-x86-ld: warning: wcsxfrm.o: missing .note.GNU-stack section implies executable stack
/usr/local/genode/tool/23.05/bin/genode-x86-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
...
[bootstrap]  /usr/local/genode/tool/23.05/bin/genode-x86-ld: warning: bootstrap.elf has a LOAD segment with RWX permissions
[fiasco.oc]  /usr/local/genode/tool/23.05/bin/genode-x86-ld: warning: fiasco.image has a LOAD segment with RWX permissions
...
/usr/local/genode/tool/23.05/bin/../lib/gcc/x86_64-pc-elf/12.3.0/../../../../x86_64-pc-elf/bin/ld: warning: kernel.elf has a LOAD segment with RWX permissions
...
cproc commented 1 year ago

Will still get the following build warnings. any ideas how to prevent this?

I found this blog post which has some general explanations and hints regarding these warnings:

https://www.redhat.com/en/blog/linkers-warnings-about-executable-stacks-and-segments

chelmuth commented 1 year ago

Commit 83556dabae6eb2e09a30e1e518a2e7c091af2bff addresses the missing .note.GNU-stack section linker warning.

m-stein commented 1 year ago

@cproc @chelmuth I encounter problems with vim-minimal that originate from b11c08d8237bdcec66e07697175a82e37210a7b5 that disappear when I revert the dummy_libs and ncurses stuff in vim/target.inc (reverting the LDFLAGS is not necessary, tested using a clean depot):

./tool/depot/create local/bin/x86_64/vim-minimal UPDATE_VERSIONS=1 FORCE=1 REBUILD= -j8 CCACHE=
created local/api/posix/2020-05-17
created local/api/noux/2023-02-26
created local/api/ncurses/2023-05-25 (new version)
created local/api/libc/2023-05-25 (new version)
created local/src/vim-minimal/2023-05-25 (new version)
checking library dependencies...
  Library ldso_so_support
  Library noux
    MERGE    noux.lib.a
    COMPILE  so_support.o
    MERGE    ldso_so_support.lib.a
  Library posix
  Library libm
    CONVERT  libm.symbols.s
  Library ncurses
  Library libc
    CONVERT  posix.symbols.s
    CONVERT  ncurses.symbols.s
    CONVERT  libc.symbols.s
    ASSEMBLE posix.symbols.o
    ASSEMBLE libm.symbols.o
    ASSEMBLE ncurses.symbols.o
    MERGE    posix.abi.so
    MERGE    libm.abi.so
    ASSEMBLE libc.symbols.o
    MERGE    ncurses.abi.so
    MERGE    libc.abi.so
  Program noux-pkg/vim-minimal/vim-minimal
    CONFIG   vim-minimal
Error: configure script of vim-minimal failed
configure: error: FAILED
make[6]: *** [/media/lypo/138e8670-1dd2-11b2-88a4-3bab3642e0c11/depot/local/api/noux/2023-02-26/mk/gnu_build.mk:160: Makefile] Error 1
make[5]: *** [var/libdeps:139: vim-minimal.prg] Error 2
make[4]: *** [Makefile:336: gen_deps_and_build_targets] Error 2
make[3]: *** [/home/lypo/genodelabs/genode/tool/depot/mk/build_bin_archive:208: /media/lypo/138e8670-1dd2-11b2-88a4-3bab3642e0c11/depot//local/bin/x86_64/vim-minimal/2023-05-25.build/bin] Error 1
make[2]: *** [/media/lypo/138e8670-1dd2-11b2-88a4-3bab3642e0c11/depot//var/build.mk:12: local/bin/x86_64/vim-minimal/2023-05-25] Error 2
make[1]: *** [/home/lypo/genodelabs/genode/tool/depot/build:136: execute_generated_build_mk_file] Error 2
make: *** [tool/depot/create:59: build] Error 2
m-stein commented 1 year ago

@cproc Sorry for the inconvenience, @chelmuth pointed me to the already existing fix.

nfeske commented 1 year ago

Fixed in master.