diff --git a/common_alpha.h b/common_alpha.h index 2a415efa4e..73f25cc768 100644 --- a/common_alpha.h +++ b/common_alpha.h @@ -145,6 +145,16 @@ static __inline int blas_quickdivide(unsigned int x, unsigned int y){ .ent REALNAME; \ REALNAME: +#define PROLOGUE_EXPORT \ + .arch ev6; \ + .set noat; \ + .set noreorder; \ +.text; \ + .align 5; \ + .globl REALNAME; \ + .ent REALNAME; \ +REALNAME: + #ifdef PROFILE #define PROFCODE \ ldgp $gp, 0($27); \ diff --git a/common_ia64.h b/common_ia64.h index 57bf5ca55e..ec9e5853fe 100644 --- a/common_ia64.h +++ b/common_ia64.h @@ -371,6 +371,13 @@ static __inline int blas_quickdivide(unsigned int x, unsigned int y){ .proc REALNAME; \ REALNAME: +#define PROLOGUE_EXPORT \ + .explicit; \ + .text; \ + .align 128; \ + .global REALNAME; \ + .proc REALNAME; \ +REALNAME: #ifdef PROFILE #define PROFCODE \ diff --git a/common_power.h b/common_power.h index 33465a565b..ae2d7c1af3 100644 --- a/common_power.h +++ b/common_power.h @@ -668,6 +668,17 @@ REALNAME:;\ .csect .text[PR],5;\ .REALNAME: +#define PROLOGUE_EXPORT \ + .machine "any";\ + .toc;\ + .globl .REALNAME;\ + .globl REALNAME;\ + .csect REALNAME[DS],3;\ +REALNAME:;\ + .long .REALNAME, TOC[tc0], 0;\ + .csect .text[PR],5;\ +.REALNAME: + #define EPILOGUE \ _section_.text:;\ .csect .data[RW],4;\ @@ -686,6 +697,17 @@ REALNAME:;\ .csect .text[PR], 5;\ .REALNAME: +#define PROLOGUE_EXPORT \ + .machine "any";\ + .toc;\ + .globl .REALNAME;\ + .globl REALNAME;\ + .csect REALNAME[DS],3;\ +REALNAME:;\ + .llong .REALNAME, TOC[tc0], 0;\ + .csect .text[PR], 5;\ +.REALNAME: + #define EPILOGUE \ _section_.text:;\ .csect .data[RW],4;\ @@ -705,6 +727,16 @@ _section_.text:;\ .text .align 4 .globl REALNAME +REALNAME: + .endmacro + + .macro PROLOGUE_EXPORT + .section __TEXT,__text,regular,pure_instructions + .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 + .machine ppc + .text + .align 4 + .globl REALNAME REALNAME: .endmacro #else @@ -715,6 +747,16 @@ _section_.text:;\ .text .align 4 .globl REALNAME +REALNAME: + .endmacro + + .macro PROLOGUE_EXPORT + .section __TEXT,__text,regular,pure_instructions + .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32 + .machine ppc64 + .text + .align 4 + .globl REALNAME REALNAME: .endmacro #endif diff --git a/common_sparc.h b/common_sparc.h index 2b1898764d..878dd90648 100644 --- a/common_sparc.h +++ b/common_sparc.h @@ -211,6 +211,14 @@ static __inline int blas_quickdivide(blasint x, blasint y){ .proc 07; \ REALNAME:; +#define PROLOGUE_EXPORT \ + .section ".text"; \ + .align 32; \ + .global REALNAME;\ + .type REALNAME, #function; \ + .proc 07; \ +REALNAME:; + #if defined(__linux__) && defined(__ELF__) #define GNUSTACK .section .note.GNU-stack,"",@progbits #else