Skip to content

Commit 4840895

Browse files
hulxvjhuber6
andauthored
[libc] implement memalignment (llvm#132493)
This patch adds the `memalignment` function to LLVM-libc, following its description in [WG14 N3220, §7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387). - [x] Add the implementation of `memalignment` in [`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib) - [x] Add tests for `memalignment` in [`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib) - [x] Add `memalignment` to [`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt) for at least x86_64 and whatever you're building on - [x] Add `memalignment` to [`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml) Closes llvm#132300 --------- Co-authored-by: Joseph Huber <[email protected]>
1 parent 5bdce30 commit 4840895

File tree

16 files changed

+143
-0
lines changed

16 files changed

+143
-0
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@ set(TARGET_LIBC_ENTRYPOINTS
231231
libc.src.stdlib.llabs
232232
libc.src.stdlib.lldiv
233233
libc.src.stdlib.malloc
234+
libc.src.stdlib.memalignment
234235
libc.src.stdlib.qsort
235236
libc.src.stdlib.rand
236237
libc.src.stdlib.realloc

libc/config/darwin/arm/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ set(TARGET_LIBC_ENTRYPOINTS
8282
libc.src.stdlib.ldiv
8383
libc.src.stdlib.llabs
8484
libc.src.stdlib.lldiv
85+
libc.src.stdlib.memalignment
8586
libc.src.stdlib.qsort
8687
libc.src.stdlib.rand
8788
libc.src.stdlib.srand

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ set(TARGET_LIBC_ENTRYPOINTS
7878
libc.src.stdlib.ldiv
7979
libc.src.stdlib.llabs
8080
libc.src.stdlib.lldiv
81+
libc.src.stdlib.memalignment
8182
libc.src.stdlib.qsort
8283
libc.src.stdlib.strtod
8384
libc.src.stdlib.strtof

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ set(TARGET_LIBC_ENTRYPOINTS
172172
libc.src.stdlib.ldiv
173173
libc.src.stdlib.llabs
174174
libc.src.stdlib.lldiv
175+
libc.src.stdlib.memalignment
175176
libc.src.stdlib.qsort
176177
libc.src.stdlib.qsort_r
177178
libc.src.stdlib.rand

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ set(TARGET_LIBC_ENTRYPOINTS
172172
libc.src.stdlib.ldiv
173173
libc.src.stdlib.llabs
174174
libc.src.stdlib.lldiv
175+
libc.src.stdlib.memalignment
175176
libc.src.stdlib.qsort
176177
libc.src.stdlib.qsort_r
177178
libc.src.stdlib.rand

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ set(TARGET_LIBC_ENTRYPOINTS
191191
libc.src.stdlib.ldiv
192192
libc.src.stdlib.llabs
193193
libc.src.stdlib.lldiv
194+
libc.src.stdlib.memalignment
194195
libc.src.stdlib.qsort
195196
libc.src.stdlib.qsort_r
196197
libc.src.stdlib.rand

libc/config/linux/arm/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ set(TARGET_LIBC_ENTRYPOINTS
156156
libc.src.stdlib.ldiv
157157
libc.src.stdlib.llabs
158158
libc.src.stdlib.lldiv
159+
libc.src.stdlib.memalignment
159160
libc.src.stdlib.qsort
160161
libc.src.stdlib.qsort_r
161162
libc.src.stdlib.strtod

libc/config/linux/riscv/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ set(TARGET_LIBC_ENTRYPOINTS
188188
libc.src.stdlib.ldiv
189189
libc.src.stdlib.llabs
190190
libc.src.stdlib.lldiv
191+
libc.src.stdlib.memalignment
191192
libc.src.stdlib.qsort
192193
libc.src.stdlib.qsort_r
193194
libc.src.stdlib.rand

libc/config/linux/x86_64/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ set(TARGET_LIBC_ENTRYPOINTS
193193
libc.src.stdlib.ldiv
194194
libc.src.stdlib.llabs
195195
libc.src.stdlib.lldiv
196+
libc.src.stdlib.memalignment
196197
libc.src.stdlib.qsort
197198
libc.src.stdlib.qsort_r
198199
libc.src.stdlib.rand

libc/config/windows/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ set(TARGET_LIBC_ENTRYPOINTS
7979
libc.src.stdlib.ldiv
8080
libc.src.stdlib.llabs
8181
libc.src.stdlib.lldiv
82+
libc.src.stdlib.memalignment
8283
libc.src.stdlib.qsort
8384
libc.src.stdlib.strtod
8485
libc.src.stdlib.strtof

0 commit comments

Comments
 (0)