diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 4a13bcc2c..59df77609 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -79,5 +79,9 @@ In chronological order: * [2013-07-11] create openblas_get_parallel to retrieve information which parallelization model is used by OpenBLAS. +* Sébastien Fabbro + * [2013-07-24] Modify makefile to respect user's LDFLAGS + * [2013-07-24] Add stack markings for GNU as arch-independent for assembler files + * [Your name or handle] <[email or website]> * [Date] [Brief summary of your changes] diff --git a/common_alpha.h b/common_alpha.h index cf794739c..3b46c74ce 100644 --- a/common_alpha.h +++ b/common_alpha.h @@ -150,9 +150,17 @@ REALNAME: #define PROFCODE .prologue 0 #endif +#if defined(__linux__) && defined(__ELF__) +#define GNUSTACK .section .note.GNU-stack,"",%progbits +#else +#define GNUSTACK +#endif + #define EPILOGUE \ .end REALNAME; \ - .ident VERSION + .ident VERSION; \ + GNUSTACK + #endif #ifdef DOUBLE diff --git a/common_ia64.h b/common_ia64.h index 81939cc1b..3530e0b1d 100644 --- a/common_ia64.h +++ b/common_ia64.h @@ -379,8 +379,15 @@ REALNAME: #define PROFCODE #endif +#if defined(__linux__) && defined(__ELF__) +#define GNUSTACK .section .note.GNU-stack,"",%progbits +#else +#define GNUSTACK +#endif + #define EPILOGUE \ - .endp REALNAME + .endp REALNAME ; \ + GNUSTACK #define START_ADDRESS 0x20000fc800000000UL diff --git a/common_mips64.h b/common_mips64.h index 1bee69407..c08fb2c75 100644 --- a/common_mips64.h +++ b/common_mips64.h @@ -235,10 +235,17 @@ REALNAME: ;\ .set noreorder ;\ .set nomacro +#if defined(__linux__) && defined(__ELF__) +#define GNUSTACK .section .note.GNU-stack,"",%progbits +#else +#define GNUSTACK +#endif + #define EPILOGUE \ .set macro ;\ .set reorder ;\ - .end REALNAME + .end REALNAME ;\ + GNUSTACK #define PROFCODE #endif diff --git a/common_sparc.h b/common_sparc.h index 35d8bdb5f..cfd27f768 100644 --- a/common_sparc.h +++ b/common_sparc.h @@ -199,8 +199,17 @@ static __inline int blas_quickdivide(blasint x, blasint y){ .type REALNAME, #function; \ .proc 07; \ REALNAME:; + +#if defined(__linux__) && defined(__ELF__) +#define GNUSTACK .section .note.GNU-stack,"",%progbits +#else +#define GNUSTACK +#endif + #define EPILOGUE \ - .size REALNAME, .-REALNAME + .size REALNAME, .-REALNAME; \ + GNUSTACK + #endif #endif diff --git a/common_x86.h b/common_x86.h index 5f56839f8..48517d900 100644 --- a/common_x86.h +++ b/common_x86.h @@ -301,7 +301,9 @@ REALNAME: #define PROFCODE #endif -#define EPILOGUE .size REALNAME, .-REALNAME +#define EPILOGUE \ + .size REALNAME, .-REALNAME; \ + .section .note.GNU-stack,"",%progbits #endif diff --git a/common_x86_64.h b/common_x86_64.h index 8f9f73680..188903848 100644 --- a/common_x86_64.h +++ b/common_x86_64.h @@ -372,7 +372,10 @@ REALNAME: #define PROFCODE #endif -#define EPILOGUE .size REALNAME, .-REALNAME +#define EPILOGUE \ + .size REALNAME, .-REALNAME; \ + .section .note.GNU-stack,"",%progbits + #endif