From 3040462c10c19ba8f4a2ab64feee41a18c86a578 Mon Sep 17 00:00:00 2001 From: Luca Barbieri Date: Fri, 2 Apr 2010 00:41:51 +0200 Subject: gallium/util: use #pragma section instead of #pragma data_seg They apparently both declare the section, but #pragma data_seg also puts all subsequent definitions in the section, which is undesirable. This should be the correct solution, and is actually used by the reference I cited (but I forgot to do it in my code). Untested, let me know if it doesn't work. --- src/gallium/auxiliary/util/u_init.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gallium/auxiliary') diff --git a/src/gallium/auxiliary/util/u_init.h b/src/gallium/auxiliary/util/u_init.h index 40dafadf97..7bc356a791 100644 --- a/src/gallium/auxiliary/util/u_init.h +++ b/src/gallium/auxiliary/util/u_init.h @@ -40,7 +40,7 @@ /* add a pointer to the section where MSVC stores global constructor pointers */ /* see http://blogs.msdn.com/vcblog/archive/2006/10/20/crt-initialization.aspx and http://stackoverflow.com/questions/1113409/attribute-constructor-equivalent-in-vc */ -#pragma data_seg(".CRT$XCU") +#pragma section(".CRT$XCU",read) #define UTIL_INIT(f) static void __cdecl f##__init(void) {f();}; __declspec(allocate(".CRT$XCU")) void (__cdecl* f##__xcu)(void) = f##__init; #elif defined(__GNUC__) #define UTIL_INIT(f) static void f##__init(void) __attribute__((constructor)); static void f##__init(void) {f();} -- cgit v1.2.3