diff --git a/driver/level3/gemm3m_level3.c b/driver/level3/gemm3m_level3.c index d037e72cd..3351faea4 100644 --- a/driver/level3/gemm3m_level3.c +++ b/driver/level3/gemm3m_level3.c @@ -227,7 +227,11 @@ #define STOP_RPCC(COUNTER) #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy){ BLASLONG k, lda, ldb, ldc; FLOAT *alpha, *beta; diff --git a/driver/level3/gemm_thread_m.c b/driver/level3/gemm_thread_m.c index 8813e5529..36c8f319e 100644 --- a/driver/level3/gemm_thread_m.c +++ b/driver/level3/gemm_thread_m.c @@ -40,7 +40,11 @@ #include #include "common.h" -int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { blas_queue_t queue[MAX_CPU_NUMBER]; BLASLONG range[MAX_CPU_NUMBER + 1]; diff --git a/driver/level3/gemm_thread_mn.c b/driver/level3/gemm_thread_mn.c index 6b52df884..dbe3f951c 100644 --- a/driver/level3/gemm_thread_mn.c +++ b/driver/level3/gemm_thread_mn.c @@ -60,7 +60,11 @@ static const int divide_rule[][2] = { 1, 61}, { 2, 31}, { 7, 9}, { 8, 8}, }; -int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { blas_queue_t queue[MAX_CPU_NUMBER]; diff --git a/driver/level3/gemm_thread_n.c b/driver/level3/gemm_thread_n.c index 9668841bb..cd89d89d2 100644 --- a/driver/level3/gemm_thread_n.c +++ b/driver/level3/gemm_thread_n.c @@ -40,7 +40,11 @@ #include #include "common.h" -int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { blas_queue_t queue[MAX_CPU_NUMBER]; BLASLONG range[MAX_CPU_NUMBER + 1]; diff --git a/driver/level3/gemm_thread_variable.c b/driver/level3/gemm_thread_variable.c index 162a75f70..587698028 100644 --- a/driver/level3/gemm_thread_variable.c +++ b/driver/level3/gemm_thread_variable.c @@ -40,7 +40,11 @@ #include #include "common.h" -int CNAME(int mode, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG divM, BLASLONG divN) { diff --git a/driver/level3/level3.c b/driver/level3/level3.c index 4a8e193be..3f9d02330 100644 --- a/driver/level3/level3.c +++ b/driver/level3/level3.c @@ -169,7 +169,11 @@ #define STOP_RPCC(COUNTER) #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, XFLOAT *sa, XFLOAT *sb, BLASLONG dummy){ BLASLONG k, lda, ldb, ldc; FLOAT *alpha, *beta; diff --git a/driver/level3/level3_gemm3m_thread.c b/driver/level3/level3_gemm3m_thread.c index 39824fc5a..d22dab1dd 100644 --- a/driver/level3/level3_gemm3m_thread.c +++ b/driver/level3/level3_gemm3m_thread.c @@ -1007,7 +1007,11 @@ EnterCriticalSection((PCRITICAL_SECTION)&level3_lock); return 0; } -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ BLASLONG m = args -> m; // BLASLONG n = args -> n; diff --git a/driver/level3/level3_syr2k.c b/driver/level3/level3_syr2k.c index 3a2f86972..1affe5724 100644 --- a/driver/level3/level3_syr2k.c +++ b/driver/level3/level3_syr2k.c @@ -102,7 +102,11 @@ #define LDC args -> ldc #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m_from, m_to, n_from, n_to, k, lda, ldb, ldc; FLOAT *a, *b, *c, *alpha, *beta; diff --git a/driver/level3/level3_syrk.c b/driver/level3/level3_syrk.c index 7f9fef479..2d75c1fda 100644 --- a/driver/level3/level3_syrk.c +++ b/driver/level3/level3_syrk.c @@ -98,7 +98,11 @@ #define STOP_RPCC(COUNTER) #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m_from, m_to, n_from, n_to, k, lda, ldc; FLOAT *a, *c, *alpha, *beta; diff --git a/driver/level3/level3_syrk_threaded.c b/driver/level3/level3_syrk_threaded.c index d7dcd68a3..806d0a18f 100644 --- a/driver/level3/level3_syrk_threaded.c +++ b/driver/level3/level3_syrk_threaded.c @@ -505,7 +505,11 @@ static int inner_thread(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, return 0; } -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG mypos){ blas_arg_t newarg; diff --git a/driver/level3/level3_thread.c b/driver/level3/level3_thread.c index dfc7107b8..9b51adb9d 100644 --- a/driver/level3/level3_thread.c +++ b/driver/level3/level3_thread.c @@ -731,7 +731,11 @@ EnterCriticalSection((PCRITICAL_SECTION)&level3_lock); return 0; } -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, IFLOAT *sa, IFLOAT *sb, BLASLONG mypos){ +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, IFLOAT *sa, IFLOAT *sb, BLASLONG mypos){ BLASLONG m = args -> m; BLASLONG n = args -> n; diff --git a/driver/level3/syr2k_kernel.c b/driver/level3/syr2k_kernel.c index f9e4a4cda..695b58381 100644 --- a/driver/level3/syr2k_kernel.c +++ b/driver/level3/syr2k_kernel.c @@ -39,7 +39,11 @@ #include #include "common.h" -int CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, #ifdef COMPLEX FLOAT alpha_i, #endif diff --git a/driver/level3/syrk_kernel.c b/driver/level3/syrk_kernel.c index 6f224d05d..55c53c5af 100644 --- a/driver/level3/syrk_kernel.c +++ b/driver/level3/syrk_kernel.c @@ -53,7 +53,11 @@ #endif #endif -int CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, #ifdef COMPLEX FLOAT alpha_i, #endif diff --git a/driver/level3/syrk_thread.c b/driver/level3/syrk_thread.c index 12808afd5..dfb4725ef 100644 --- a/driver/level3/syrk_thread.c +++ b/driver/level3/syrk_thread.c @@ -41,7 +41,11 @@ #include #include "common.h" -int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (*function)(), void *sa, void *sb, BLASLONG nthreads) { blas_queue_t queue[MAX_CPU_NUMBER]; BLASLONG range[MAX_CPU_NUMBER + 1]; diff --git a/driver/level3/trmm_L.c b/driver/level3/trmm_L.c index e25ea7afe..e1c639d62 100644 --- a/driver/level3/trmm_L.c +++ b/driver/level3/trmm_L.c @@ -62,7 +62,11 @@ const static FLOAT dp1 = 1.; #define STOP_RPCC(COUNTER) #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m, n, lda, ldb; FLOAT *beta, *a, *b; diff --git a/driver/level3/trmm_R.c b/driver/level3/trmm_R.c index ab9cdfae8..00ef2ad0d 100644 --- a/driver/level3/trmm_R.c +++ b/driver/level3/trmm_R.c @@ -62,7 +62,11 @@ const static FLOAT dp1 = 1.; #define GEMM_R 16 #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m, n, lda, ldb; FLOAT *beta, *a, *b; diff --git a/driver/level3/trsm_L.c b/driver/level3/trsm_L.c index d842efa93..89f884662 100644 --- a/driver/level3/trsm_L.c +++ b/driver/level3/trsm_L.c @@ -68,7 +68,11 @@ const static FLOAT dm1 = -1.; #define GEMM_R 1600 #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m, n, lda, ldb; FLOAT *beta, *a, *b; diff --git a/driver/level3/trsm_R.c b/driver/level3/trsm_R.c index f76a8f7f3..6e49c4f12 100644 --- a/driver/level3/trsm_R.c +++ b/driver/level3/trsm_R.c @@ -68,7 +68,11 @@ const static FLOAT dm1 = -1.; #define GEMM_R 24 #endif -int CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(blas_arg_t *args, BLASLONG *range_m, BLASLONG *range_n, FLOAT *sa, FLOAT *sb, BLASLONG dummy) { BLASLONG m, n, lda, ldb; FLOAT *beta, *a, *b; diff --git a/driver/level3/zher2k_kernel.c b/driver/level3/zher2k_kernel.c index f67e9bd76..bc9fbcab6 100644 --- a/driver/level3/zher2k_kernel.c +++ b/driver/level3/zher2k_kernel.c @@ -47,7 +47,11 @@ #define GEMM_KERNEL_B0 GEMM_KERNEL_L_B0 #endif -int CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, FLOAT alpha_i, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, FLOAT alpha_i, FLOAT *a, FLOAT *b, FLOAT *c, BLASLONG ldc, BLASLONG offset, int flag){ BLASLONG i, j; diff --git a/driver/level3/zherk_beta.c b/driver/level3/zherk_beta.c index 6867cc010..5e2ccbc7b 100644 --- a/driver/level3/zherk_beta.c +++ b/driver/level3/zherk_beta.c @@ -40,7 +40,11 @@ #include #include "common.h" -int CNAME(BLASLONG dummy1, BLASLONG n, BLASLONG dummy2, FLOAT alpha_r, FLOAT alpha_i, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG dummy1, BLASLONG n, BLASLONG dummy2, FLOAT alpha_r, FLOAT alpha_i, FLOAT *dummy3, BLASLONG dummy4, FLOAT *dummy5, BLASLONG dummy6, FLOAT *c, BLASLONG ldc, FLOAT *dummy7, FLOAT *dummy8, BLASLONG from, BLASLONG to){ diff --git a/driver/level3/zherk_kernel.c b/driver/level3/zherk_kernel.c index cebcc16db..a6498df65 100644 --- a/driver/level3/zherk_kernel.c +++ b/driver/level3/zherk_kernel.c @@ -47,7 +47,11 @@ #define GEMM_KERNEL_B0 GEMM_KERNEL_L_B0 #endif -int CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG m, BLASLONG n, BLASLONG k, FLOAT alpha_r, FLOAT *a, FLOAT *b, FLOAT *c, BLASLONG ldc, BLASLONG offset){ BLASLONG i, j; diff --git a/driver/level3/zsyrk_beta.c b/driver/level3/zsyrk_beta.c index 3787e31b5..3e7734e40 100644 --- a/driver/level3/zsyrk_beta.c +++ b/driver/level3/zsyrk_beta.c @@ -40,7 +40,11 @@ #include #include "common.h" -int CNAME(BLASLONG dummy1, BLASLONG n, BLASLONG dummy2, FLOAT alpha_r, FLOAT alpha_i, +int +#ifndef C_MSVC +__attribute__((visibility("hidden"))) +#endif + CNAME(BLASLONG dummy1, BLASLONG n, BLASLONG dummy2, FLOAT alpha_r, FLOAT alpha_i, FLOAT *dummy3, BLASLONG dummy4, FLOAT *dummy5, BLASLONG dummy6, FLOAT *c, BLASLONG ldc, FLOAT *dummy7, FLOAT *dummy8, BLASLONG from, BLASLONG to){