Index: lib/builtins/assembly.h =================================================================== --- lib/builtins/assembly.h +++ lib/builtins/assembly.h @@ -28,6 +28,7 @@ // tell linker it can break up file at label boundaries #define FILE_LEVEL_DIRECTIVE .subsections_via_symbols #define SYMBOL_IS_FUNC(name) +#define CONST_SECTION .const #elif defined(__ELF__) @@ -39,10 +40,11 @@ #else #define SYMBOL_IS_FUNC(name) .type name,@function #endif +#define CONST_SECTION .section .rodata #else // !__APPLE__ && !__ELF__ -#define HIDDEN_DIRECTIVE(name) +#define HIDDEN(name) #define LOCAL_LABEL(name) .L ## name #define FILE_LEVEL_DIRECTIVE #define SYMBOL_IS_FUNC(name) \ @@ -50,6 +52,7 @@ .scl 2 SEPARATOR \ .type 32 SEPARATOR \ .endef +#define CONST_SECTION .section .rdata,"rd" #endif Index: lib/builtins/i386/floatdidf.S =================================================================== --- lib/builtins/i386/floatdidf.S +++ lib/builtins/i386/floatdidf.S @@ -7,13 +7,7 @@ #ifdef __i386__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop52: Index: lib/builtins/i386/floatundidf.S =================================================================== --- lib/builtins/i386/floatundidf.S +++ lib/builtins/i386/floatundidf.S @@ -17,13 +17,7 @@ #ifdef __i386__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop52: Index: lib/builtins/i386/floatundisf.S =================================================================== --- lib/builtins/i386/floatundisf.S +++ lib/builtins/i386/floatundisf.S @@ -18,7 +18,7 @@ #ifdef __i386__ -.const +CONST_SECTION .balign 3 .quad 0x43f0000000000000 @@ -52,13 +52,7 @@ #ifdef __i386__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop52: Index: lib/builtins/i386/floatundixf.S =================================================================== --- lib/builtins/i386/floatundixf.S +++ lib/builtins/i386/floatundixf.S @@ -7,13 +7,7 @@ #ifdef __i386__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop52: Index: lib/builtins/x86_64/floatundidf.S =================================================================== --- lib/builtins/x86_64/floatundidf.S +++ lib/builtins/x86_64/floatundidf.S @@ -17,13 +17,7 @@ #ifdef __x86_64__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop52: Index: lib/builtins/x86_64/floatundisf.S =================================================================== --- lib/builtins/x86_64/floatundisf.S +++ lib/builtins/x86_64/floatundisf.S @@ -7,13 +7,7 @@ #ifdef __x86_64__ -#if defined(__APPLE__) - .literal4 -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 two: Index: lib/builtins/x86_64/floatundixf.S =================================================================== --- lib/builtins/x86_64/floatundixf.S +++ lib/builtins/x86_64/floatundixf.S @@ -7,13 +7,7 @@ #ifdef __x86_64__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .section .rodata -#else - .section .rdata,"rd" -#endif +CONST_SECTION .balign 16 twop64: @@ -42,13 +36,8 @@ #ifdef __x86_64__ -#if defined(__APPLE__) - .const -#elif defined(__ELF__) - .rdata -#else - .section .rdata,"rd" -#endif +CONST_SECTION + .balign 4 twop52: .quad 0x4330000000000000