Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rump: use -fcommon for rump_tools #3960

Closed
ssumpf opened this issue Nov 25, 2020 · 3 comments
Closed

rump: use -fcommon for rump_tools #3960

ssumpf opened this issue Nov 25, 2020 · 3 comments

Comments

@ssumpf
Copy link
Member

ssumpf commented Nov 25, 2020

Newer host gcc versions (10) set -fno-common as default, which leads to multiple definitions of otherwise common symbols. "The idea of COMMON symbols in Unix is to allow multiple external definitions of a same variable (in different compilation units) under a single common symbol under certain conditions." - which is used by rump_tools.

ssumpf added a commit to ssumpf/genode that referenced this issue Nov 25, 2020
GCC 10 has `-fno-common` as default which leads to multiple definitions of
of symbols.

Fixes genodelabs#3960
@nfeske
Copy link
Member

nfeske commented Nov 25, 2020

I'm curious, may you share a bit of the background story of this issue?

@ssumpf
Copy link
Member Author

ssumpf commented Nov 25, 2020

@nfeske: https://binarydodo.wordpress.com/2016/05/09/investigating-linking-with-common-symbols-in-elf/ - otherwise a lot of multiple definitions of symbols will occur.

@nfeske
Copy link
Member

nfeske commented Nov 25, 2020

I was unable draw the connection to the practical problem you encountered. I was wondering about a possible runtime effect. Since you speak of gcc-10, I guess it is about a build problem with a more recent Linux distro.

nfeske pushed a commit that referenced this issue Nov 25, 2020
GCC 10 has `-fno-common` as default which leads to multiple definitions of
of symbols.

Fixes #3960
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants