---
# System prepended metadata

title: 'Musl, July 18, 2022'
tags: [' musl', unikraft]

---

---
title: "Musl, July 18, 2022"
tags: unikraft, musl
datetime: 2022-07-18T13:00:00+02:00
location: Online, Discord (https://bit.ly/UnikraftDiscord), the `#monkey-business` voice channel
teams:
- TODO
participants:
- TODO
---

## :dart: Agenda

- Status update of Musl items
- Next steps

## :closed_book: Discussions

FP: I moved everything I tested on a separate repository.

FP: I ported all tests to use uktest.
The repository consists of a majority of tests.
They are rather simple but they make calls to functions not already covered by existing ones.

FP: There is an issue with `fgetc()`.
When you try to read something from `vfscore`, it blocks.
There seems to be an issue with the connection between Musl and `vfscore`.
On the `9pfs` filesystem, something gets blocked and crashes.

FP: Another things is the networking part.
Asynchronous calls don't work.
There are calls to `aio_read()` and `aio_write`.

FP: There is a Musl-specific tests

FP: The calls to `aio_read()`, `aio_write()` are simple tests that are created by me for coverage.

FP: Should I created issues on my repository on Dragoș's?

RD: Your repository.

DA: The `fs` register stores the pointer to `pthread_t`.

SK: I found an issue that may be related to your problem.

DA: The discussion is about how to move the Musl TLS to the `uktls` structure.
We need the `exit` syscall to set the `tid` to 0 when the child  exits.

SK: When the pthread API is used the `uk_thread_uktcb_init` callback won't be called, except for the main thread which is not allocated using the pthread API. We can keep musl's tls when using the pthread API. We still need to populate the `uktcb` with the `pthread` structure when not using the pthread API.

DA: There are not sufficient arguments to populate the `pthread` structure
in `uk_thread_uktcb_init` callback.

SK: I will change the argument and provide the entire `uk_thread` structure as an argument for this callback.

## :wrench: TODOs and Decisions

FP: Create issues with Musl.

FP: Fix VDSO according to Simon's feedback.
Make the patch as small as possible.