From c6aeca0365fec2b1644630d0656146d17964f1dc Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 28 Jul 2026 11:46:30 +0200 Subject: [PATCH 1/4] Define PROLOGUE_EXPORT for AIX and OSX (same as PROLOGUE) --- common_power.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) 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 From 876310b12c102c8708493663ae6a26bbff2877d5 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 28 Jul 2026 11:49:25 +0200 Subject: [PATCH 2/4] Define PROLOGUE_EXPORT (same as PROLOGUE for now) --- common_sparc.h | 8 ++++++++ 1 file changed, 8 insertions(+) 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 From e231f4bb89413dd89179e91c4a144258aaeecd47 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 28 Jul 2026 11:57:24 +0200 Subject: [PATCH 3/4] Copy PROLOGUE to PROLOGUE_EXPORT --- common_alpha.h | 10 ++++++++++ 1 file changed, 10 insertions(+) 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); \ From e17e958a0996be99a902ccefa6a6bf6d905d6e33 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 28 Jul 2026 11:59:54 +0200 Subject: [PATCH 4/4] Copy PROLOGUE into PROLOGUE_EXPORT --- common_ia64.h | 7 +++++++ 1 file changed, 7 insertions(+) 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 \