#define _ENDLIT .text .L$_subsec
#define _LTORG .L$_subsec = .L$_subsec + 2; .text .L$_subsec
-// ELF section types.
-#if __ELF__
-# if CPUFAM_ARMEL
-# define _SECTTY(ty) %ty
-# else
-# define _SECTTY(ty) @ty
-# endif
-#endif
-
// Announcing an internal function.
#define INTFUNC(name) \
TYPE_FUNC(name); \
#if __ELF__
+// Section types.
+#if CPUFAM_ARMEL
+# define _SECTTY(ty) %ty
+#else
+# define _SECTTY(ty) @ty
+#endif
+
// Section selection.
#define RODATA .section .rodata, "a", _SECTTY(progbits)
# 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
///--------------------------------------------------------------------------
# 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.
# define SIZE_OBJ(name)
#endif
-#if __ELF__ && !defined(FORCE_EXECUTABLE_STACK)
- .pushsection .note.GNU-stack, "", _SECTTY(progbits)
- .popsection
-#endif
-
///----- That's all, folks --------------------------------------------------
#endif