lkml.org 
[lkml]   [2022]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v2 0/9] Add dynamic memory allocator support for nolibc
Date
Hi,

This is a patchset v2 to add dynamic memory allocator support
for nolibc after 2 RFCs, please review the changes carefully.

@@ Changelog:
---
Link v1: https://lore.kernel.org/lkml/20220324073039.140946-1-ammarfaizi2@gnuweeb.org
v1 -> v2:
- Sync with Paul's tree.
- Drop 2 patches that tried to remove register variables
(comment from Willy).
- Make the patch that replaces `asm` with `__asm__` the
second patch (comment from Willy).

Link RFC v2: https://lore.kernel.org/lkml/20220322102115.186179-1-ammarfaizi2@gnuweeb.org
RFC v2 -> v1:
- Rebase, sync with Paul's tree.
- Add new 3 patches [PATCH 03/11], [PATCH 04/11], [PATCH 05/11].

[PATCH 02/11]
- Append Reviewed-by tag from Nick.
- s/Removing/remove/

[PATCH 06/11]
- Use the same pattern for syscall6, regardless using GCC or Clang
(comment from David).
- Use appropriate constraints for syscall6 instead of always using
register variables (comment from David).

[PATCH 09/11]
- Round up the malloc() allocation to 4096 (comment from David).
- Don't realloc() if we still have enough memory to contain the
requested new size (comment from David).
- Fix conflict with getenv() fix (after rebase).

Link RFC v1: https://lore.kernel.org/lkml/20220320093750.159991-1-ammarfaizi2@gnuweeb.org
RFC v1 -> RFC v2:
- Add 2 new patches [PATCH 5/8] and [PATCH 7/8].

[PATCH 2/8]
- Remove all `.global _start` for all build (GCC and Clang) instead of
removing all `.weak _start` for clang build (Comment from Willy).

[PATCH 3/8]
- Fix %ebp saving method. Don't use redzone, i386 doesn't have a redzone
(comment from David and Alviro).

[PATCH 6/8]
- Move container_of() and offsetof() macro to types.h with a
separate patch (comment from Willy).

[PATCH 8/8]
- Update strdup and strndup implementation, use strlen and strnlen to get
the string length first (comment from Willy and Alviro).
- Fix the subject line prefix, it was "tools/include/string: ", it should be
"tools/nolibc/string: ".
- Update the commit message.

Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
---
Ammar Faizi (9):
tools/nolibc: x86-64: Update System V ABI document link
tools/nolibc: Replace `asm` with `__asm__`
tools/nolibc: Remove .global _start from the entry point code
tools/nolibc: i386: Implement syscall with 6 arguments
tools/nolibc/sys: Implement `mmap()` and `munmap()`
tools/nolibc/types: Implement `offsetof()` and `container_of()` macro
tools/nolibc/stdlib: Implement `malloc()`, `calloc()`, `realloc()` and `free()`
tools/nolibc/string: Implement `strnlen()`
tools/include/string: Implement `strdup()` and `strndup()`

tools/include/nolibc/arch-aarch64.h | 75 +++++++++++++-------------
tools/include/nolibc/arch-arm.h | 59 +++++++++++----------
tools/include/nolibc/arch-i386.h | 80 +++++++++++++++++-----------
tools/include/nolibc/arch-mips.h | 63 +++++++++++-----------
tools/include/nolibc/arch-riscv.h | 75 +++++++++++++-------------
tools/include/nolibc/arch-x86_64.h | 75 +++++++++++++-------------
tools/include/nolibc/stdlib.h | 81 +++++++++++++++++++++++++++++
tools/include/nolibc/string.h | 41 +++++++++++++++
tools/include/nolibc/sys.h | 62 ++++++++++++++++++++++
tools/include/nolibc/types.h | 11 ++++
10 files changed, 417 insertions(+), 205 deletions(-)


base-commit: 2eb9d6a49acd4f12078967c33e9786e084fe6407
--
Ammar Faizi

\
 
 \ /
  Last update: 2022-03-29 12:19    [W:0.105 / U:0.048 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site