1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the w64 mingw-runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 7 #if defined(_MSC_VER) 8 9 #if defined(_M_IA64) || defined(_M_AMD64) 10 #define _ATTRIBUTES read 11 #else 12 #define _ATTRIBUTES read 13 #endif 14 15 /* Reference list of existing section for msvcrt. */ 16 #pragma section(".CRTMP$XCA",long,_ATTRIBUTES) 17 #pragma section(".CRTMP$XCZ",long,_ATTRIBUTES) 18 #pragma section(".CRTMP$XIA",long,_ATTRIBUTES) 19 #pragma section(".CRTMP$XIZ",long,_ATTRIBUTES) 20 21 #pragma section(".CRTMA$XCA",long,_ATTRIBUTES) 22 #pragma section(".CRTMA$XCZ",long,_ATTRIBUTES) 23 #pragma section(".CRTMA$XIA",long,_ATTRIBUTES) 24 #pragma section(".CRTMA$XIZ",long,_ATTRIBUTES) 25 26 #pragma section(".CRTVT$XCA",long,_ATTRIBUTES) 27 #pragma section(".CRTVT$XCZ",long,_ATTRIBUTES) 28 29 #pragma section(".CRT$XCA",long,_ATTRIBUTES) 30 #pragma section(".CRT$XCAA",long,_ATTRIBUTES) 31 #pragma section(".CRT$XCC",long,_ATTRIBUTES) 32 #pragma section(".CRT$XCZ",long,_ATTRIBUTES) 33 #pragma section(".CRT$XDA",long,_ATTRIBUTES) 34 #pragma section(".CRT$XDC",long,_ATTRIBUTES) 35 #pragma section(".CRT$XDZ",long,_ATTRIBUTES) 36 #pragma section(".CRT$XIA",long,_ATTRIBUTES) 37 #pragma section(".CRT$XIAA",long,_ATTRIBUTES) 38 #pragma section(".CRT$XIC",long,_ATTRIBUTES) 39 #pragma section(".CRT$XID",long,_ATTRIBUTES) 40 #pragma section(".CRT$XIY",long,_ATTRIBUTES) 41 #pragma section(".CRT$XIZ",long,_ATTRIBUTES) 42 #pragma section(".CRT$XLA",long,_ATTRIBUTES) 43 #pragma section(".CRT$XLC",long,_ATTRIBUTES) 44 #pragma section(".CRT$XLD",long,_ATTRIBUTES) 45 #pragma section(".CRT$XLZ",long,_ATTRIBUTES) 46 #pragma section(".CRT$XPA",long,_ATTRIBUTES) 47 #pragma section(".CRT$XPX",long,_ATTRIBUTES) 48 #pragma section(".CRT$XPXA",long,_ATTRIBUTES) 49 #pragma section(".CRT$XPZ",long,_ATTRIBUTES) 50 #pragma section(".CRT$XTA",long,_ATTRIBUTES) 51 #pragma section(".CRT$XTB",long,_ATTRIBUTES) 52 #pragma section(".CRT$XTX",long,_ATTRIBUTES) 53 #pragma section(".CRT$XTZ",long,_ATTRIBUTES) 54 #pragma section(".rdata$T",long,read) 55 #pragma section(".rtc$IAA",long,read) 56 #pragma section(".rtc$IZZ",long,read) 57 #pragma section(".rtc$TAA",long,read) 58 #pragma section(".rtc$TZZ",long,read) 59 /* for tlssup.c: */ 60 #pragma section(".tls",long,read,write) 61 #pragma section(".tls$AAA",long,read,write) 62 #pragma section(".tls$ZZZ",long,read,write) 63 #endif /* _MSC_VER */ 64 65 #if defined(_MSC_VER) 66 #define _CRTALLOC(x) __declspec(allocate(x)) 67 #elif defined(__GNUC__) 68 #define _CRTALLOC(x) __attribute__ ((section (x) )) 69 #else 70 #error Your compiler is not supported. 71 #endif 72 73