When we were upgrading musl to the version 1.1.24 which hides all
internal symbols, we forgot to update some of the internal musl headers
and source files under libc which originate from musl.
This patch adds relevant annotations in the aforementioned files
to hide the symbols as musl 1.1.24 does it.
Signed-off-by: Waldemar Kozaczuk <
jwkoz...@gmail.com>
---
include/api/internal_musl_headers/errno.h | 2 +-
include/api/internal_musl_headers/sys/mman.h | 4 +-
include/api/internal_musl_headers/time.h | 2 +-
libc/internal/locale_impl.h | 2 +
libc/signal/block.c | 6 +--
libc/stdio/stderr.c | 2 +-
libc/stdio/stdin.c | 2 +-
libc/stdio/stdio_impl.h | 44 +++++++++++---------
libc/stdio/stdout.c | 2 +-
9 files changed, 36 insertions(+), 30 deletions(-)
diff --git a/include/api/internal_musl_headers/errno.h b/include/api/internal_musl_headers/errno.h
index 643c88a0..9d3ed621 100644
--- a/include/api/internal_musl_headers/errno.h
+++ b/include/api/internal_musl_headers/errno.h
@@ -6,7 +6,7 @@
#ifdef __GNUC__
__attribute__((const))
#endif
-int *___errno_location(void);
+hidden int *___errno_location(void);
#undef errno
#define errno (*___errno_location())
diff --git a/include/api/internal_musl_headers/sys/mman.h b/include/api/internal_musl_headers/sys/mman.h
index 207e9e60..bef0e077 100644
--- a/include/api/internal_musl_headers/sys/mman.h
+++ b/include/api/internal_musl_headers/sys/mman.h
@@ -7,8 +7,8 @@ hidden void __vm_wait(void);
hidden void __vm_lock(void);
hidden void __vm_unlock(void);
-void *__mmap(void *, size_t, int, int, int, off_t);
-int __munmap(void *, size_t);
+hidden void *__mmap(void *, size_t, int, int, int, off_t);
+hidden int __munmap(void *, size_t);
hidden void *__mremap(void *, size_t, size_t, int, ...);
hidden int __madvise(void *, size_t, int);
hidden int __mprotect(void *, size_t, int);
diff --git a/include/api/internal_musl_headers/time.h b/include/api/internal_musl_headers/time.h
index 01842249..b59dc28a 100644
--- a/include/api/internal_musl_headers/time.h
+++ b/include/api/internal_musl_headers/time.h
@@ -3,7 +3,7 @@
#include "../time.h"
-int __clock_gettime(clockid_t, struct timespec *);
+hidden int __clock_gettime(clockid_t, struct timespec *);
hidden int __clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *);
hidden char *__asctime_r(const struct tm *, char *);
diff --git a/libc/internal/locale_impl.h b/libc/internal/locale_impl.h
index d9fed2c7..ec6e6aa9 100644
--- a/libc/internal/locale_impl.h
+++ b/libc/internal/locale_impl.h
@@ -12,6 +12,8 @@ struct __locale_struct {
const char *__names[13];
};
+hidden const char *__mo_lookup(const void *, size_t, const char *);
+
typedef struct __locale_struct *__locale_t;
typedef __locale_t locale_t;
diff --git a/libc/signal/block.c b/libc/signal/block.c
index 21fb2fa4..d599c320 100644
--- a/libc/signal/block.c
+++ b/libc/signal/block.c
@@ -27,17 +27,17 @@ static const unsigned long app_mask[] = {
#endif
};
-void __block_all_sigs(void *set)
+hidden void __block_all_sigs(void *set)
{
sigprocmask(SIG_BLOCK, (void*)&all_mask, set);
}
-void __block_app_sigs(void *set)
+hidden void __block_app_sigs(void *set)
{
sigprocmask(SIG_BLOCK, (void*)&app_mask, set);
}
-void __restore_sigs(void *set)
+hidden void __restore_sigs(void *set)
{
sigprocmask(SIG_SETMASK, set, 0);
}
diff --git a/libc/stdio/stderr.c b/libc/stdio/stderr.c
index 502267bf..998678f9 100644
--- a/libc/stdio/stderr.c
+++ b/libc/stdio/stderr.c
@@ -12,4 +12,4 @@ static FILE f = {
.close = __stdio_close,
};
FILE *const stderr = &f;
-FILE *const __stderr_used = &f;
+hidden FILE *const __stderr_used = &f;
diff --git a/libc/stdio/stdin.c b/libc/stdio/stdin.c
index 19ce5ef7..5dc2c544 100644
--- a/libc/stdio/stdin.c
+++ b/libc/stdio/stdin.c
@@ -23,4 +23,4 @@ static FILE f = {
.close = __stdio_close,
};
FILE *const stdin = &f;
-FILE *const __stdin_used = &f;
+hidden FILE *const __stdin_used = &f;
diff --git a/libc/stdio/stdio_impl.h b/libc/stdio/stdio_impl.h
index fa7a7e53..759cfd69 100644
--- a/libc/stdio/stdio_impl.h
+++ b/libc/stdio/stdio_impl.h
@@ -70,31 +70,33 @@ hidden void __ofl_unlock(void);
hidden void __stdio_exit_needed(void);
hidden FILE *__ofl_add(FILE *f);
-size_t __stdio_read(FILE *, unsigned char *, size_t);
-size_t __stdio_write(FILE *, const unsigned char *, size_t);
-size_t __stdout_write(FILE *, const unsigned char *, size_t);
-off_t __stdio_seek(FILE *, off_t, int);
-int __stdio_close(FILE *);
+hidden void __unlist_locked_file(FILE *);
-size_t __string_read(FILE *, unsigned char *, size_t);
+hidden size_t __stdio_read(FILE *, unsigned char *, size_t);
+hidden size_t __stdio_write(FILE *, const unsigned char *, size_t);
+hidden size_t __stdout_write(FILE *, const unsigned char *, size_t);
+hidden off_t __stdio_seek(FILE *, off_t, int);
+hidden int __stdio_close(FILE *);
-int __toread(FILE *);
-int __towrite(FILE *);
+hidden size_t __string_read(FILE *, unsigned char *, size_t);
+
+hidden int __toread(FILE *);
+hidden int __towrite(FILE *);
#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
__attribute__((visibility("protected")))
#endif
int __overflow(FILE *, int), __uflow(FILE *);
-int __fseeko(FILE *, off_t, int);
-int __fseeko_unlocked(FILE *, off_t, int);
-off_t __ftello(FILE *);
-off_t __ftello_unlocked(FILE *);
-size_t __fwritex(const unsigned char *, size_t, FILE *);
-int __putc_unlocked(int, FILE *);
+hidden int __fseeko(FILE *, off_t, int);
+hidden int __fseeko_unlocked(FILE *, off_t, int);
+hidden off_t __ftello(FILE *);
+hidden off_t __ftello_unlocked(FILE *);
+hidden size_t __fwritex(const unsigned char *, size_t, FILE *);
+hidden int __putc_unlocked(int, FILE *);
-FILE *__fdopen(int, const char *);
-int __fmodeflags(const char *);
+hidden FILE *__fdopen(int, const char *);
+hidden int __fmodeflags(const char *);
#define OFLLOCK() LOCK(libc.ofl_lock)
#define OFLUNLOCK() UNLOCK(libc.ofl_lock)
@@ -109,11 +111,13 @@ int __fmodeflags(const char *);
? *(f)->wpos++ = (c) : __overflow((f),(c)) )
/* Caller-allocated FILE * operations */
-FILE *__fopen_rb_ca(const char *, FILE *, unsigned char *, size_t);
-int __fclose_ca(FILE *);
+hidden FILE *__fopen_rb_ca(const char *, FILE *, unsigned char *, size_t);
+hidden int __fclose_ca(FILE *);
+
+hidden int __lockfile(FILE *) ATTR_LIBC_VISIBILITY;
+hidden void __unlockfile(FILE *) ATTR_LIBC_VISIBILITY;
-int __lockfile(FILE *) ATTR_LIBC_VISIBILITY;
-void __unlockfile(FILE *) ATTR_LIBC_VISIBILITY;
+hidden void __stdio_exit(void);
__END_DECLS
diff --git a/libc/stdio/stdout.c b/libc/stdio/stdout.c
index 670d0f34..cea71709 100644
--- a/libc/stdio/stdout.c
+++ b/libc/stdio/stdout.c
@@ -12,4 +12,4 @@ static FILE f = {
.close = __stdio_close,
};
FILE *const stdout = &f;
-FILE *const __stdout_used = &f;
+hidden FILE *const __stdout_used = &f;
--
2.31.1