-
Notifications
You must be signed in to change notification settings - Fork 15
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
Getting Zig example fully working #18
Conversation
e740231
to
211c52b
Compare
Ah okay so
|
Actually, having the symbol table is necessary for things setting the PD's IPC buffer. We can just tell Zig to not strip debugging symbols, they won't be loaded at run-time anyways so having debugging symbols in the ELF only increases the on-disk space, which is an acceptable trade-off. |
For some reason building in ReleaseFast mode, `-Doptimize=ReleaseFast` successfully boots Linux and lets us do serial input, but not debug mode. More investigation required.
bbbf2f8
to
0083680
Compare
0.12.0-dev.1533+b2ed2c4d4 was used.
It's unclear whether we actually do have UB somewhere in the C code. For now we turn off UBSAN in order to have the example work in debug mode.
24ac0bb
to
c3d6ab2
Compare
The build system was confusing and I couldn't get this working and gave up. Now with some new build system documentation I could figure it out.
c3d6ab2
to
4a6331c
Compare
Having 'src/images/' was done before-hand since I wasn't familiar with how to include files from 'images' in the VMM if they were outside the 'src' directory.
abc51a2
to
6f5c9f6
Compare
I'll leave the explanation of how |
This PR involves fixes to get the Zig example into a more usable and working state.
Current status is that building with
-Doptimize=ReleaseFast
and-Doptimize=ReleaseSafe
works now.Building with
-DReleaseSmall
leads to this error:Either Zig is producing an invalid ELF and the Microkit tool can't handle or there is a bug in the Microkit tool.
Building with
-Doptimize=Debug
leads to this error:Other than fixing these issues, the following needs to be done:
build.zig
.libmicrokit.zig
?images
dir should not be insidesrc/
build.zig
andvmm.zig
for people to understand what's going on.Debug
,ReleaseSmall
,ReleaseFast
, andReleaseSafe
.