diff --git a/third_party/musl/hsearch.c b/third_party/musl/hsearch.c index a55f41505..358ac643b 100644 --- a/third_party/musl/hsearch.c +++ b/third_party/musl/hsearch.c @@ -147,7 +147,11 @@ static int __hcreate_r(size_t nel, struct hsearch_data *htab) } return r; } -weak_alias(__hcreate_r, hcreate_r); + + +int hcreate_r(size_t nel, struct hsearch_data *htab) { + return __hcreate_r(nel, htab); +} static void __hdestroy_r(struct hsearch_data *htab) { @@ -155,7 +159,10 @@ static void __hdestroy_r(struct hsearch_data *htab) free(htab->__tab); htab->__tab = 0; } -weak_alias(__hdestroy_r, hdestroy_r); + +void hdestroy_r(struct hsearch_data *htab) { + __hdestroy_r(htab); +} static int __hsearch_r(ENTRY item, ACTION action, ENTRY **retval, struct hsearch_data *htab) { @@ -183,4 +190,8 @@ static int __hsearch_r(ENTRY item, ACTION action, ENTRY **retval, struct hsearch *retval = e; return 1; } -weak_alias(__hsearch_r, hsearch_r); + +int hsearch_r(ENTRY item, ACTION action, ENTRY **retval, struct hsearch_data *htab) +{ + return __hsearch_r(item, action, retval, htab); +} diff --git a/third_party/musl/tdestroy.c b/third_party/musl/tdestroy.c index cafe11d75..bc87d9f4e 100644 --- a/third_party/musl/tdestroy.c +++ b/third_party/musl/tdestroy.c @@ -29,6 +29,7 @@ #include "libc/isystem/stdlib.h" #include "libc/isystem/string.h" #include "third_party/musl/search.h" +#include "third_party/musl/tsearch.h" asm(".ident\t\"\\n\\n\ Musl libc (MIT License)\\n\ diff --git a/third_party/musl/tsearch.c b/third_party/musl/tsearch.c index 4fe668a38..2f97436ed 100644 --- a/third_party/musl/tsearch.c +++ b/third_party/musl/tsearch.c @@ -28,6 +28,7 @@ #include "libc/isystem/stdlib.h" #include "libc/isystem/string.h" #include "third_party/musl/search.h" +#include "third_party/musl/tsearch.h" asm(".ident\t\"\\n\\n\ Musl libc (MIT License)\\n\ diff --git a/third_party/musl/tsearch.h b/third_party/musl/tsearch.h index 9ee6f34b3..be76c1eef 100644 --- a/third_party/musl/tsearch.h +++ b/third_party/musl/tsearch.h @@ -12,6 +12,6 @@ struct node { int h; }; -hidden int __tsearch_balance(void **); +int __tsearch_balance(void **); #endif