Skip to content

Commit e399a31

Browse files
[libc] fix build on aarch64 (#73739)
* avoid implicit narrowing conversion * move hsearch entrypoints to FULL_BUILD
1 parent ae86239 commit e399a31

File tree

5 files changed

+20
-28
lines changed

5 files changed

+20
-28
lines changed

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,6 @@ set(TARGET_LIBC_ENTRYPOINTS
130130
#libc.src.stdio.scanf
131131
#libc.src.stdio.fscanf
132132

133-
# search.h entrypoints
134-
libc.src.search.hcreate
135-
libc.src.search.hcreate_r
136-
libc.src.search.hsearch
137-
libc.src.search.hsearch_r
138-
libc.src.search.hdestroy
139-
libc.src.search.hdestroy_r
140-
141133
# sys/mman.h entrypoints
142134
libc.src.sys.mman.madvise
143135
libc.src.sys.mman.mmap
@@ -459,6 +451,14 @@ if(LLVM_LIBC_FULL_BUILD)
459451
libc.src.signal.sigfillset
460452
libc.src.signal.signal
461453

454+
# search.h entrypoints
455+
libc.src.search.hcreate
456+
libc.src.search.hcreate_r
457+
libc.src.search.hsearch
458+
libc.src.search.hsearch_r
459+
libc.src.search.hdestroy
460+
libc.src.search.hdestroy_r
461+
462462
# threads.h entrypoints
463463
libc.src.threads.call_once
464464
libc.src.threads.cnd_broadcast

libc/config/linux/arm/entrypoints.txt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,7 @@ set(TARGET_LIBC_ENTRYPOINTS
8888
libc.src.stdlib.strtoll
8989
libc.src.stdlib.strtoul
9090
libc.src.stdlib.strtoull
91-
92-
# search.h entrypoints
93-
libc.src.search.hcreate
94-
libc.src.search.hcreate_r
95-
libc.src.search.hsearch
96-
libc.src.search.hsearch_r
97-
libc.src.search.hdestroy
98-
libc.src.search.hdestroy_r
99-
91+
10092
# sys/mman.h entrypoints
10193
libc.src.sys.mman.mmap
10294
libc.src.sys.mman.munmap

libc/config/linux/riscv/entrypoints.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,6 @@ set(TARGET_LIBC_ENTRYPOINTS
136136
libc.src.stdio.scanf
137137
libc.src.stdio.fscanf
138138

139-
# search.h entrypoints
140-
libc.src.search.hcreate
141-
libc.src.search.hcreate_r
142-
libc.src.search.hsearch
143-
libc.src.search.hsearch_r
144-
libc.src.search.hdestroy
145-
libc.src.search.hdestroy_r
146-
147139
# sys/mman.h entrypoints
148140
libc.src.sys.mman.madvise
149141
libc.src.sys.mman.mmap
@@ -492,6 +484,14 @@ if(LLVM_LIBC_FULL_BUILD)
492484
libc.src.spawn.posix_spawn_file_actions_destroy
493485
libc.src.spawn.posix_spawn_file_actions_init
494486

487+
# search.h entrypoints
488+
libc.src.search.hcreate
489+
libc.src.search.hcreate_r
490+
libc.src.search.hsearch
491+
libc.src.search.hsearch_r
492+
libc.src.search.hdestroy
493+
libc.src.search.hdestroy_r
494+
495495
# threads.h entrypoints
496496
libc.src.threads.call_once
497497
libc.src.threads.cnd_broadcast

libc/src/__support/bit.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ template <typename T> LIBC_INLINE int constexpr correct_zero(T val, int bits) {
3131
template <typename T> LIBC_INLINE constexpr int clz(T val);
3232
template <> LIBC_INLINE int clz<unsigned char>(unsigned char val) {
3333
return __builtin_clz(static_cast<unsigned int>(val)) -
34-
8 * (sizeof(unsigned int) - sizeof(unsigned char));
34+
8 * static_cast<int>(sizeof(unsigned int) - sizeof(unsigned char));
3535
}
3636
template <> LIBC_INLINE int clz<unsigned short>(unsigned short val) {
3737
return __builtin_clz(static_cast<unsigned int>(val)) -
38-
8 * (sizeof(unsigned int) - sizeof(unsigned short));
38+
8 * static_cast<int>(sizeof(unsigned int) - sizeof(unsigned short));
3939
}
4040
template <> LIBC_INLINE int clz<unsigned int>(unsigned int val) {
4141
return __builtin_clz(val);

libc/test/src/__support/hash_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ template <class T> struct AlignedMemory {
2929
};
3030

3131
size_t sizes[] = {0, 1, 23, 59, 1024, 5261};
32-
char values[] = {0, 1, 23, 59, 102, -1};
32+
uint8_t values[] = {0, 1, 23, 59, 102, 255};
3333

3434
// Hash value should not change with different alignments.
3535
TEST(LlvmLibcHashTest, SanityCheck) {

0 commit comments

Comments
 (0)