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

fix: Various kernel fixes #1062

Merged

Conversation

trungnt2910
Copy link
Contributor

@trungnt2910 trungnt2910 commented Nov 15, 2021

Various fixes are made in order to run dotnet properly make dotnet half-runnable.

proc_info:

  • Added 3 additional flavors.
  • Added more info for _proc_pidinfo_tbsdinfo

waitid

  • Marshalled the siginfo_t between Linux and BSD, allowing processes to access valid data.

SIGCHLD

  • Some processes check for explicitly ignored signals and avoid handling them (e.g. dotnet). As SIGCHLD is not configured with SIG_IGN on real MacOS, we should not do that on Darling, either.

Additional flavors are implemented: PIDTASKINFO, PIDTASKALLINFO, PIDLISTTHREADS.
Furthermore, PIDTBSDINFO gets a valid pbi_start_tvsec and pbi_start_tvusec
Linux and BSD siginfo_t has different layouts, making processes calling waitid confused about the output.
@LubosD
Copy link
Member

LubosD commented Nov 15, 2021

LGTM. Anyone else wants to review?

Copy link
Member

@facekapow facekapow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. My only concern was the SIG_IGN change affecting LLDB, but doing some testing with an old LLDB version (one that was actually working) shows that it still works fine.

@trungnt2910
Copy link
Contributor Author

@facekapow @LubosD Can you review the last commit? It's simply some reexported symbols in CoreServices to get some dlsyms working.

Copy link
Member

@facekapow facekapow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small issue with re-exporting dyld_stub_binder. Other than that, LGTM.

src/frameworks/CoreServices/reexport.exp Outdated Show resolved Hide resolved
@trungnt2910 trungnt2910 force-pushed the dev/trungnt2910/run-dotnet/misc branch from a0df77a to cc30ecd Compare November 15, 2021 16:06
Some libraries expect special symbols forwarded to CoreServices, else dlopen will fail.
@trungnt2910 trungnt2910 force-pushed the dev/trungnt2910/run-dotnet/misc branch from cc30ecd to a1338a4 Compare November 15, 2021 16:10
@facekapow facekapow merged commit 7399bb1 into darlinghq:master Nov 15, 2021
@trungnt2910
Copy link
Contributor Author

Thanks so much! This pull request wouldn't have been possible without your mentoring!

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

Successfully merging this pull request may close these issues.

3 participants