Selaa lähdekoodia

Do hidden fread/fwrite/fclose

Peter S. Mazinger 20 vuotta sitten
vanhempi
commit
f445c58e70
3 muutettua tiedostoa jossa 13 lisäystä ja 7 poistoa
  1. 3 1
      libc/stdio/fclose.c
  2. 5 3
      libc/stdio/fread.c
  3. 5 3
      libc/stdio/fwrite.c

+ 3 - 1
libc/stdio/fclose.c

@@ -7,7 +7,8 @@
 
 #include "_stdio.h"
 
-int fclose(register FILE *stream)
+#undef fclose
+int attribute_hidden __fclose(register FILE *stream)
 {
 	int rv = 0;
 	__STDIO_AUTO_THREADLOCK_VAR;
@@ -84,3 +85,4 @@ int fclose(register FILE *stream)
 
 	return rv;
 }
+strong_alias(__fclose,fclose)

+ 5 - 3
libc/stdio/fread.c

@@ -83,14 +83,15 @@ size_t attribute_hidden __fread_unlocked(void * __restrict ptr, size_t size, siz
 	return 0;
 }
 
-weak_alias(__fread_unlocked,fread_unlocked);
+weak_alias(__fread_unlocked,fread_unlocked)
 #ifndef __UCLIBC_HAS_THREADS__
-weak_alias(__fread_unlocked,fread);
+hidden_strong_alias(__fread_unlocked,__fread)
+weak_alias(__fread_unlocked,fread)
 #endif
 
 #elif defined __UCLIBC_HAS_THREADS__
 
-size_t fread(void * __restrict ptr, size_t size, size_t nmemb,
+size_t attribute_hidden __fread(void * __restrict ptr, size_t size, size_t nmemb,
 			 register FILE * __restrict stream)
 {
 	size_t retval;
@@ -104,5 +105,6 @@ size_t fread(void * __restrict ptr, size_t size, size_t nmemb,
 
 	return retval;
 }
+strong_alias(__fread,fread)
 
 #endif

+ 5 - 3
libc/stdio/fwrite.c

@@ -34,14 +34,15 @@ size_t attribute_hidden __fwrite_unlocked(const void * __restrict ptr, size_t si
 	return 0;
 }
 
-weak_alias(__fwrite_unlocked,fwrite_unlocked);
+weak_alias(__fwrite_unlocked,fwrite_unlocked)
 #ifndef __UCLIBC_HAS_THREADS__
-weak_alias(__fwrite_unlocked,fwrite);
+hidden_strong_alias(__fwrite_unlocked,__fwrite)
+weak_alias(__fwrite_unlocked,fwrite)
 #endif
 
 #elif defined __UCLIBC_HAS_THREADS__
 
-size_t fwrite(const void * __restrict ptr, size_t size,
+size_t attribute_hidden __fwrite(const void * __restrict ptr, size_t size,
 			  size_t nmemb, register FILE * __restrict stream)
 {
 	size_t retval;
@@ -55,5 +56,6 @@ size_t fwrite(const void * __restrict ptr, size_t size,
 
 	return retval;
 }
+strong_alias(__fwrite,fwrite)
 
 #endif