base/asm-common.h: Farm out the section selection macros.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 28 Apr 2023 13:00:49 +0000 (14:00 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 28 Apr 2023 13:04:21 +0000 (14:04 +0100)
Leave them to the end because nobody's relying on them earlier.

base/asm-common.h

index 83aac63..fdf90ec 100644 (file)
 #  endif
 #endif
 
-// Section selection.
-#define TEXT .text .L$_subsec
-#if ABI_WIN
-#  define RODATA .section .rdata, "dr"
-#elif __ELF__
-#  define RODATA .section .rodata, "a", _SECTTY(progbits)
-#else
-#  define RODATA TEXT
-#endif
-#define DATA .data
-
 // Announcing an internal function.
 #define INTFUNC(name)                                                  \
        TYPE_FUNC(name);                                                \
@@ -111,6 +100,9 @@ name:
 #  define WANT_PIC 1
 #endif
 
+// Section selection.
+#define RODATA .section .rodata, "a", _SECTTY(progbits)
+
 // Additional symbol metadata.
 #define TYPE_FUNC(name) .type name, STT_FUNC
 #define TYPE_OBJ(name) .type name, STT_OBJECT
@@ -128,6 +120,9 @@ name:
 #  define F(name) _##name
 #endif
 
+// Section selection.
+#define RODATA .section .rdata, "dr"
+
 #endif
 
 ///--------------------------------------------------------------------------
@@ -1186,6 +1181,18 @@ name:
 #  define ENDFUNC_HOOK(_)
 #endif
 
+// Section selection.
+#ifndef TEXT
+#  define TEXT .text .L$_subsec
+#endif
+#ifndef RODATA
+#  define RODATA TEXT
+#endif
+#ifndef DATA
+#  define DATA .data
+#endif
+
+// Symbol decoration.
 #ifndef F
 #  ifdef SYM_USCORE
 #    define F(name) _##name