-
Notifications
You must be signed in to change notification settings - Fork 8
Support of musl C library #208
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
Draft
clemdiep
wants to merge
83
commits into
main
Choose a base branch
from
144-support-musl
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
00b3198
Add 'writev' syscall
jmi-reds cdaaf6d
writev - Fix error in error case
jmi-reds 99a1429
Add 'readv' syscall
jmi-reds 2919321
[syscall] Update readv & writev from comments in MR #207
jmi-reds 580e00f
[syscall] readv & writev clean-up - MR #207
jmi-reds 0c97a7f
Run format checking for branch 144-support-musl
jmi-reds d175143
Merge pull request #207 from smartobjectoriented/206-add-writev-syscall
jmi-reds 361ac6e
[syscall] mmap: Add support for ANONYMOUS flag
jmi-reds 4972c2b
[syscall] mmap: Define USER_ANONYMOUS_VADDR for 39bits case
jmi-reds 2ec2066
[syscall] mmap: Define USER_ANONYMOUS_VADDR for arm32b
jmi-reds 5088531
Merge pull request #210 from smartobjectoriented/209-mmap-anon
daniel-rossier 09a9518
change syscall number to correct ones
clemdiep cc2016f
rename sbrk to brk
clemdiep 0a74276
add dup3 simple implementation
clemdiep 0759ba5
implement time32 version for clock_gettime and gettimeofday
clemdiep 41b182a
wait4 and getdents
clemdiep 81c4c7c
add mmap2 and openat
clemdiep fff4b8f
remove support for sysinfo
clemdiep d420d5b
add pipe2
clemdiep e0bcb8a
add rt_sig, fstatat and correct syscall table
clemdiep 0890750
correction after rebase
clemdiep b91c366
remove unwanted comment in syscall_number
clemdiep c9ca020
correct syscall arguments and numbers
clemdiep a50e08c
cleanups
clemdiep 9d8fd89
rename llseek to _llseek
clemdiep d0a7017
autogenerate syscall table
clemdiep bfed7e5
Merge pull request #212 from smartobjectoriented/211-align-existing-s…
clemdiep 5c85496
Merge pull request #214 from smartobjectoriented/213-improve-syscall-…
clemdiep baaab35
fix sh to bash in script
clemdiep fb05db6
Add template for futex syscall
jmi-reds f991130
[futex] Initial implementation of FUTEX_WAIT cmd
jmi-reds 756f5cf
[futex] Initial implementation of FUTEX_WAKE cmd
jmi-reds 7a1e5c7
rework thread creation to match pthread
clemdiep 539a7ed
[futex] Clean-up
jmi-reds d53c4e7
[futex] fix clang-format
jmi-reds 5746fa6
Remove "mutex" syscalls
jmi-reds 7bf1139
fix style and missing comments
clemdiep fde2c2c
[usr] Use musl as libc - It does not compile !
jmi-reds ab43bbc
[futex] clean-up based on code review
jmi-reds 9c09570
[musl] Fix build errors & warnings when building so3/usr
jmi-reds 027d7b5
[futex] Fix typo introduced in previous commit
jmi-reds 37a2f1a
Merge pull request #218 from smartobjectoriented/215-rework-thread
clemdiep 8be034c
[futex] make clearer the search of key in lists
jmi-reds 774b56e
Merge pull request #221 from smartobjectoriented/217-implementation-o…
jmi-reds 47d95c7
[usr] arm32 - complile usr with MUSL lib
jmi-reds 4326e00
remove ptrace support
clemdiep e3ca710
implement child tid behavior
clemdiep c37164c
[musl] Add script to generate arm & aarch64 MUSL toolchain
jmi-reds d6d9fe3
Merge pull request #223 from smartobjectoriented/222-remove-ptrace-su…
clemdiep 02c1b64
Merge pull request #224 from smartobjectoriented/219-set_tid_address
clemdiep 22347ad
[musl] small clean-up in toolchain compilation script
jmi-reds 9b7a41b
[doc] Add info on how to build MUSL toolchain
jmi-reds a4d7cc3
update CI with MUSL toolchains
jmi-reds 5f0c556
Generate updated Docker - needed to get MUSL toolchain
jmi-reds dfb33b8
rework args/env setup to add aux values
clemdiep 3d0c2a7
fix futex miss call
clemdiep 6749de8
small improvement
clemdiep 2fb1707
fix clang-format from copied files
clemdiep fb8d6d1
Merge pull request #228 from smartobjectoriented/220-add-aux-array
clemdiep 26b9b8c
fix brk implementation
clemdiep f66696c
Merge pull request #229 from smartobjectoriented/225-fix-brk-syscall
clemdiep fa7e4a7
change default heap base address to be after the program
clemdiep a6d9367
[CI] Test
jmi-reds b39cc2b
[ci] Add test branch
jmi-reds d0bd3e6
Merge pull request #230 from smartobjectoriented/226-rework-elf-loading
clemdiep 3292b76
add rt_sigprocmask syscall
clemdiep 8452e8f
rework console to support simple cannon and raw mode
clemdiep 849a2ad
[ci] new test with added musl toolchain
jmi-reds 18afa9e
[CI] Add new docker image to build toolchains
jmi-reds 049925f
[CI] Add tags for docker toolchains image
jmi-reds fd9fc92
[ci] Dockerfile.env update for ubuntu 24.04
jmi-reds 8a65664
[CI] Add toolchains dependency for usr build
jmi-reds aea9df9
[CI] Fix issue with lvgl 32 docker image
jmi-reds 51474f8
[CI] Fix bug in lvgl 32b docker image
jmi-reds 02e00a0
[CI] Fix bug in lvgl 32b docker image (again)
jmi-reds 95527d8
[ci] Some fixes
jmi-reds 3543a93
Add missing <sys/ioctl.h> header file
jmi-reds 1e626b2
[musl] remove the original so3 libc src
jmi-reds 1e32feb
Merge pull request #233 from smartobjectoriented/231-add-sigprocmask-…
clemdiep 44fdd8e
Merge pull request #234 from smartobjectoriented/232-rework-console
clemdiep 0553699
[musl] remove old cmake toolchain files
jmi-reds 3c915d8
[musl] small fixes based on review
jmi-reds 020ac1c
Merge pull request #227 from smartobjectoriented/216-use-musl-toolcha…
jmi-reds File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -10,7 +10,7 @@ on: | |
| push: | ||
| branches: ["main"] | ||
| pull_request: | ||
| branches: ["main"] | ||
| branches: ["main", "144-support-musl"] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Reminder to remove this change before merging |
||
|
|
||
| jobs: | ||
| formatting-check: | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| # Create a Docker image which prepare the toolchains needed by SO3 env. | ||
| # | ||
| # Copyright (c) 2025 REDS Institute, HEIG-VD | ||
| # | ||
| # Set 'aarch64-none-elf' toolchain & build arm & aarch64 musl toolchains | ||
| # | ||
| # Note: 'arm-none-eabi-' is installed for package manager in the others docker images | ||
|
|
||
| FROM ubuntu:24.04 AS toolchains-utils | ||
|
|
||
| RUN apt-get update && apt-get install -y gcc-arm-none-eabi gcc-11 g++-11 git make \ | ||
| patch sudo xz-utils wget && \ | ||
| update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 && \ | ||
| update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 10 && \ | ||
| apt clean && \ | ||
| rm -rf /var/lib/apt/lists/* | ||
|
|
||
| # Download aarch64-none-elf toolchain | ||
| RUN wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz | ||
| RUN tar -xvf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz | ||
| RUN rm arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf.tar.xz | ||
|
|
||
| ENV PATH="$PATH:/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-elf/bin" | ||
|
|
||
| COPY toolchains /toolchains | ||
| RUN /toolchains/build-toolchain.sh && rm -rf /toolchains/musl-cross-make | ||
|
|
||
| ENV PATH=$PATH:/toolchains/aarch64-linux-musl/bin | ||
| ENV PATH=$PATH:/toolchains/arm-linux-musleabihf/bin |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reminder to remove this change before merging