From bf03fc48770a82832570488812c8beedc70c36e4 Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 2 Feb 2019 03:26:50 -0500 Subject: process init: apply hidden visibility to all [S]crt*.o files. --- crt/nt32/Scrt1.c | 10 ++++++---- crt/nt32/Scrtldso.c | 5 +++-- crt/nt32/Scrtvrfs.c | 5 +++-- crt/nt32/crt1.c | 16 +++++++++------- crt/nt32/crtdinga.c | 3 ++- crt/nt32/crtinit.h | 2 ++ crt/nt32/crtldso.c | 5 +++-- crt/nt32/crtposix.c | 3 ++- crt/nt32/crtvrfs.c | 5 +++-- crt/nt64/Scrt1.c | 10 ++++++---- crt/nt64/Scrtldso.c | 5 +++-- crt/nt64/Scrtvrfs.c | 5 +++-- crt/nt64/crt1.c | 16 +++++++++------- crt/nt64/crtdinga.c | 3 ++- crt/nt64/crtinit.h | 2 ++ crt/nt64/crtldso.c | 5 +++-- crt/nt64/crtposix.c | 3 ++- crt/nt64/crtvrfs.c | 5 +++-- 18 files changed, 66 insertions(+), 42 deletions(-) create mode 100644 crt/nt32/crtinit.h create mode 100644 crt/nt64/crtinit.h (limited to 'crt') diff --git a/crt/nt32/Scrt1.c b/crt/nt32/Scrt1.c index d8ccb17..6a0c031 100644 --- a/crt/nt32/Scrt1.c +++ b/crt/nt32/Scrt1.c @@ -3,13 +3,15 @@ /* see also: crtidata.c */ /****************************************/ +#include "crtinit.h" + static const unsigned short * __inherit = 0; -extern const unsigned short * __ctty __attribute((weak,alias("__inherit"))); +extern const unsigned short * __ctty __hidden __attribute((weak,alias("__inherit"))); -int __attribute__((__visibility__("hidden"))) __psx_init(int *,char ***,char ***,void *); -void __attribute__((__visibility__("hidden"))) __libc_entry_routine(void *,void *,const unsigned short *,int); +int __hidden __psx_init(int *,char ***,char ***,void *); +void __hidden __libc_entry_routine(void *,void *,const unsigned short *,int); -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { __libc_entry_routine(__main,__psx_init,__ctty,flags); } diff --git a/crt/nt32/Scrtldso.c b/crt/nt32/Scrtldso.c index 11e8915..e486a93 100644 --- a/crt/nt32/Scrtldso.c +++ b/crt/nt32/Scrtldso.c @@ -1,10 +1,11 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_ldso = __PSXOPT_LDSO; +const int __hidden __crtopt_ldso = __PSXOPT_LDSO; /* pty server root-relative name */ -const unsigned short __ctty[] = {'b','i','n','\\', +const unsigned short __hidden __ctty[] = {'b','i','n','\\', 'n','t','c','t','t','y', '.','e','x','e',0}; diff --git a/crt/nt32/Scrtvrfs.c b/crt/nt32/Scrtvrfs.c index 82cf826..c5e483a 100644 --- a/crt/nt32/Scrtvrfs.c +++ b/crt/nt32/Scrtvrfs.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_vrfs = __PSXOPT_VRFS; +const int __hidden __crtopt_vrfs = __PSXOPT_VRFS; /* pty server root-relative name */ -const unsigned short __ctty[] = {'n','t','c','t','t','y', +const unsigned short __hidden __ctty[] = {'n','t','c','t','t','y', '.','e','x','e',0}; diff --git a/crt/nt32/crt1.c b/crt/nt32/crt1.c index 8c93c32..3834d32 100644 --- a/crt/nt32/crt1.c +++ b/crt/nt32/crt1.c @@ -1,13 +1,15 @@ +#include "crtinit.h" + static const int __disabled = 0; -extern const int __crtopt_posix __attribute((weak,alias("__disabled"))); -extern const int __crtopt_dinga __attribute((weak,alias("__disabled"))); -extern const int __crtopt_ldso __attribute((weak,alias("__disabled"))); -extern const int __crtopt_vrfs __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_posix __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_dinga __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_ldso __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_vrfs __attribute((weak,alias("__disabled"))); -int __attribute__((visibility("hidden"))) main(); -void __libc_loader_init(void * __main, int flags); +int __hidden main(); +void __hidden __libc_loader_init(void * __main, int flags); -void _start(void) +void __hidden _start(void) { __libc_loader_init( main, diff --git a/crt/nt32/crtdinga.c b/crt/nt32/crtdinga.c index 216fed8..6a2b737 100644 --- a/crt/nt32/crtdinga.c +++ b/crt/nt32/crtdinga.c @@ -1,5 +1,6 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_dinga = __PSXOPT_DINGA; +const int __hidden __crtopt_dinga = __PSXOPT_DINGA; diff --git a/crt/nt32/crtinit.h b/crt/nt32/crtinit.h new file mode 100644 index 0000000..d5f6e54 --- /dev/null +++ b/crt/nt32/crtinit.h @@ -0,0 +1,2 @@ +#define __hidden __attribute((visibility("hidden"))) + diff --git a/crt/nt32/crtldso.c b/crt/nt32/crtldso.c index 81dec5f..84b8207 100644 --- a/crt/nt32/crtldso.c +++ b/crt/nt32/crtldso.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" #include "peldso.h" -const int __crtopt_ldso = __PSXOPT_LDSO; +const int __hidden __crtopt_ldso = __PSXOPT_LDSO; /* framework (rtdata) abi */ static const struct __guid __ldsoabi = NT_PROCESS_GUID_RTDATA; @@ -27,7 +28,7 @@ static const unsigned short __rrctty[] = {'b','i','n','\\', static unsigned long __attribute__((section(".dsodata"))) __dsodata[65536/sizeof(unsigned long)]; -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { int status; void * hroot; diff --git a/crt/nt32/crtposix.c b/crt/nt32/crtposix.c index f8e7664..498d301 100644 --- a/crt/nt32/crtposix.c +++ b/crt/nt32/crtposix.c @@ -1,5 +1,6 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_posix = __PSXOPT_POSIX; +const int __hidden __crtopt_posix = __PSXOPT_POSIX; diff --git a/crt/nt32/crtvrfs.c b/crt/nt32/crtvrfs.c index ac8cccb..7a529f3 100644 --- a/crt/nt32/crtvrfs.c +++ b/crt/nt32/crtvrfs.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" #include "peldso.h" -const int __crtopt_vrfs = __PSXOPT_VRFS; +const int __hidden __crtopt_vrfs = __PSXOPT_VRFS; /* framework (rtdata) abi */ static const struct __guid __ldsoabi = NT_PROCESS_GUID_RTDATA; @@ -24,7 +25,7 @@ static const unsigned short __sdctty[] = {'n','t','c','t','t','y', static unsigned long __attribute__((section(".dsodata"))) __dsodata[65536/sizeof(unsigned long)]; -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { int status; void * hroot; diff --git a/crt/nt64/Scrt1.c b/crt/nt64/Scrt1.c index d8ccb17..6a0c031 100644 --- a/crt/nt64/Scrt1.c +++ b/crt/nt64/Scrt1.c @@ -3,13 +3,15 @@ /* see also: crtidata.c */ /****************************************/ +#include "crtinit.h" + static const unsigned short * __inherit = 0; -extern const unsigned short * __ctty __attribute((weak,alias("__inherit"))); +extern const unsigned short * __ctty __hidden __attribute((weak,alias("__inherit"))); -int __attribute__((__visibility__("hidden"))) __psx_init(int *,char ***,char ***,void *); -void __attribute__((__visibility__("hidden"))) __libc_entry_routine(void *,void *,const unsigned short *,int); +int __hidden __psx_init(int *,char ***,char ***,void *); +void __hidden __libc_entry_routine(void *,void *,const unsigned short *,int); -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { __libc_entry_routine(__main,__psx_init,__ctty,flags); } diff --git a/crt/nt64/Scrtldso.c b/crt/nt64/Scrtldso.c index 11e8915..e486a93 100644 --- a/crt/nt64/Scrtldso.c +++ b/crt/nt64/Scrtldso.c @@ -1,10 +1,11 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_ldso = __PSXOPT_LDSO; +const int __hidden __crtopt_ldso = __PSXOPT_LDSO; /* pty server root-relative name */ -const unsigned short __ctty[] = {'b','i','n','\\', +const unsigned short __hidden __ctty[] = {'b','i','n','\\', 'n','t','c','t','t','y', '.','e','x','e',0}; diff --git a/crt/nt64/Scrtvrfs.c b/crt/nt64/Scrtvrfs.c index 82cf826..c5e483a 100644 --- a/crt/nt64/Scrtvrfs.c +++ b/crt/nt64/Scrtvrfs.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_vrfs = __PSXOPT_VRFS; +const int __hidden __crtopt_vrfs = __PSXOPT_VRFS; /* pty server root-relative name */ -const unsigned short __ctty[] = {'n','t','c','t','t','y', +const unsigned short __hidden __ctty[] = {'n','t','c','t','t','y', '.','e','x','e',0}; diff --git a/crt/nt64/crt1.c b/crt/nt64/crt1.c index 8c93c32..3834d32 100644 --- a/crt/nt64/crt1.c +++ b/crt/nt64/crt1.c @@ -1,13 +1,15 @@ +#include "crtinit.h" + static const int __disabled = 0; -extern const int __crtopt_posix __attribute((weak,alias("__disabled"))); -extern const int __crtopt_dinga __attribute((weak,alias("__disabled"))); -extern const int __crtopt_ldso __attribute((weak,alias("__disabled"))); -extern const int __crtopt_vrfs __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_posix __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_dinga __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_ldso __attribute((weak,alias("__disabled"))); +extern const int __hidden __crtopt_vrfs __attribute((weak,alias("__disabled"))); -int __attribute__((visibility("hidden"))) main(); -void __libc_loader_init(void * __main, int flags); +int __hidden main(); +void __hidden __libc_loader_init(void * __main, int flags); -void _start(void) +void __hidden _start(void) { __libc_loader_init( main, diff --git a/crt/nt64/crtdinga.c b/crt/nt64/crtdinga.c index 216fed8..6a2b737 100644 --- a/crt/nt64/crtdinga.c +++ b/crt/nt64/crtdinga.c @@ -1,5 +1,6 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_dinga = __PSXOPT_DINGA; +const int __hidden __crtopt_dinga = __PSXOPT_DINGA; diff --git a/crt/nt64/crtinit.h b/crt/nt64/crtinit.h new file mode 100644 index 0000000..d5f6e54 --- /dev/null +++ b/crt/nt64/crtinit.h @@ -0,0 +1,2 @@ +#define __hidden __attribute((visibility("hidden"))) + diff --git a/crt/nt64/crtldso.c b/crt/nt64/crtldso.c index 81dec5f..84b8207 100644 --- a/crt/nt64/crtldso.c +++ b/crt/nt64/crtldso.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" #include "peldso.h" -const int __crtopt_ldso = __PSXOPT_LDSO; +const int __hidden __crtopt_ldso = __PSXOPT_LDSO; /* framework (rtdata) abi */ static const struct __guid __ldsoabi = NT_PROCESS_GUID_RTDATA; @@ -27,7 +28,7 @@ static const unsigned short __rrctty[] = {'b','i','n','\\', static unsigned long __attribute__((section(".dsodata"))) __dsodata[65536/sizeof(unsigned long)]; -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { int status; void * hroot; diff --git a/crt/nt64/crtposix.c b/crt/nt64/crtposix.c index f8e7664..498d301 100644 --- a/crt/nt64/crtposix.c +++ b/crt/nt64/crtposix.c @@ -1,5 +1,6 @@ #include #include +#include "crtinit.h" #include "psxglue.h" -const int __crtopt_posix = __PSXOPT_POSIX; +const int __hidden __crtopt_posix = __PSXOPT_POSIX; diff --git a/crt/nt64/crtvrfs.c b/crt/nt64/crtvrfs.c index ac8cccb..7a529f3 100644 --- a/crt/nt64/crtvrfs.c +++ b/crt/nt64/crtvrfs.c @@ -1,9 +1,10 @@ #include #include +#include "crtinit.h" #include "psxglue.h" #include "peldso.h" -const int __crtopt_vrfs = __PSXOPT_VRFS; +const int __hidden __crtopt_vrfs = __PSXOPT_VRFS; /* framework (rtdata) abi */ static const struct __guid __ldsoabi = NT_PROCESS_GUID_RTDATA; @@ -24,7 +25,7 @@ static const unsigned short __sdctty[] = {'n','t','c','t','t','y', static unsigned long __attribute__((section(".dsodata"))) __dsodata[65536/sizeof(unsigned long)]; -void __libc_loader_init(void * __main, int flags) +void __hidden __libc_loader_init(void * __main, int flags) { int status; void * hroot; -- cgit v1.2.3