X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/148c364305b6d96766336c3a09f033064765f074..981a9e5d5e3af6c06ad8b3f821928852068227e4:/base/asm-common.h diff --git a/base/asm-common.h b/base/asm-common.h index 5a5063ac..9257d762 100644 --- a/base/asm-common.h +++ b/base/asm-common.h @@ -106,6 +106,12 @@ name: # define WANT_PIC 1 #endif +// Don't make the stack executable by default. +#ifndef FORCE_EXECUTABLE_STACK + .pushsection .note.GNU-stack, "", _SECTTY(progbits) + .popsection +#endif + #endif ///-------------------------------------------------------------------------- @@ -216,11 +222,11 @@ name: # define INTADDR__1(addr, got) addr #endif -// Permutations for SIMD instructions. SHUF(A, B, C, D) is an immediate, +// Permutations for SIMD instructions. SHUF(D, C, B, A) is an immediate, // suitable for use in `pshufd' or `shufpd', which copies element A // (0 <= A < 4) of the source to element 0 of the destination, element B to // element 1, element C to element 2, and element D to element 3. -#define SHUF(a, b, c, d) ((a) + 4*(b) + 16*(c) + 64*(d)) +#define SHUF(d, c, b, a) (64*(d) + 16*(c) + 4*(b) + (a)) // Map register names to their individual pieces. @@ -1209,11 +1215,6 @@ name: # define SIZE_OBJ(name) #endif -#if __ELF__ && !defined(FORCE_EXECUTABLE_STACK) - .pushsection .note.GNU-stack, "", _SECTTY(progbits) - .popsection -#endif - ///----- That's all, folks -------------------------------------------------- #endif