blob: 7621e0494d1b744da0b1dc0e8b053a6bc85a8ab5 [file] [log] [blame]
Kai Tietz78303e92009-01-27 10:57:50 +00001/**
2 * This file has no copyright assigned and is placed in the Public Domain.
Rafaël Carré8a67ab42012-06-28 15:40:59 +00003 * This file is part of the mingw-w64 runtime package.
Kai Tietzfa0cfe32010-01-15 20:02:21 +00004 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
Kai Tietz78303e92009-01-27 10:57:50 +00005 */
6
Ozkan Sezer97b68d72010-07-20 12:21:45 +00007#if defined(_MSC_VER)
8
Kai Tietz473cedf2008-04-25 18:58:43 +00009/* Reference list of existing section for msvcrt. */
Yang Kun9e726bf2025-05-17 15:51:17 +080010#pragma section(".CRTMP$XCA", long, read)
11#pragma section(".CRTMP$XCZ", long, read)
12#pragma section(".CRTMP$XIA", long, read)
13#pragma section(".CRTMP$XIZ", long, read)
Kai Tietz518dd332007-08-10 09:54:15 +000014
Yang Kun9e726bf2025-05-17 15:51:17 +080015#pragma section(".CRTMA$XCA", long, read)
16#pragma section(".CRTMA$XCZ", long, read)
17#pragma section(".CRTMA$XIA", long, read)
18#pragma section(".CRTMA$XIZ", long, read)
Kai Tietz518dd332007-08-10 09:54:15 +000019
Yang Kun9e726bf2025-05-17 15:51:17 +080020#pragma section(".CRTVT$XCA", long, read)
21#pragma section(".CRTVT$XCZ", long, read)
Kai Tietz518dd332007-08-10 09:54:15 +000022
Yang Kun9e726bf2025-05-17 15:51:17 +080023#pragma section(".CRT$XCA", long, read)
24#pragma section(".CRT$XCAA", long, read)
25#pragma section(".CRT$XCC", long, read)
26#pragma section(".CRT$XCZ", long, read)
27#pragma section(".CRT$XDA", long, read)
28#pragma section(".CRT$XDC", long, read)
29#pragma section(".CRT$XDZ", long, read)
30#pragma section(".CRT$XIA", long, read)
31#pragma section(".CRT$XIAA", long, read)
32#pragma section(".CRT$XIC", long, read)
33#pragma section(".CRT$XID", long, read)
34#pragma section(".CRT$XIY", long, read)
35#pragma section(".CRT$XIZ", long, read)
36#pragma section(".CRT$XLA", long, read)
37#pragma section(".CRT$XLC", long, read)
38#pragma section(".CRT$XLD", long, read)
39#pragma section(".CRT$XLZ", long, read)
40#pragma section(".CRT$XPA", long, read)
41#pragma section(".CRT$XPX", long, read)
42#pragma section(".CRT$XPXA", long, read)
43#pragma section(".CRT$XPZ", long, read)
44#pragma section(".CRT$XTA", long, read)
45#pragma section(".CRT$XTB", long, read)
46#pragma section(".CRT$XTX", long, read)
47#pragma section(".CRT$XTZ", long, read)
48#pragma section(".rdata$T", long, read)
49#pragma section(".rtc$IAA", long, read)
50#pragma section(".rtc$IZZ", long, read)
51#pragma section(".rtc$TAA", long, read)
52#pragma section(".rtc$TZZ", long, read)
Ozkan Sezer8a418342010-07-20 09:16:05 +000053/* for tlssup.c: */
Yang Kun9e726bf2025-05-17 15:51:17 +080054#pragma section(".tls", long)
55#pragma section(".tls$AAA", long)
56#pragma section(".tls$ZZZ", long)
Ozkan Sezer97b68d72010-07-20 12:21:45 +000057#endif /* _MSC_VER */
Kai Tietz518dd332007-08-10 09:54:15 +000058
Ozkan Sezer8a418342010-07-20 09:16:05 +000059#if defined(_MSC_VER)
60#define _CRTALLOC(x) __declspec(allocate(x))
61#elif defined(__GNUC__)
LIU Hao02b4df12022-12-27 14:32:37 +080062#define _CRTALLOC(x) __attribute__ ((section (x), used))
Ozkan Sezer8a418342010-07-20 09:16:05 +000063#else
64#error Your compiler is not supported.
65#endif