diff options
| author | Ruben Kerkhof <ruben@rubenkerkhof.com> | 2020-03-18 15:40:39 +0100 | 
|---|---|---|
| committer | Georgi Valkov <gvalkov@gmail.com> | 2024-04-30 20:24:17 +0300 | 
| commit | 9824f07b02599ede60fbdecaba95617ef9163135 (patch) | |
| tree | 987d816347c6b7b5beaaa92ad059b4099e2ffb82 /lib/memory.h | |
| parent | 8deba1e48d7269a46650572f4e8c75bfed6b51e8 (diff) | |
lib: fix error on MacOS
Sections use a different syntax for Mach-O executables.
Fixes:
lib/bfd.c:35:1: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment and section separated by a
      comma
DEFINE_MTYPE_STATIC(LIB, BFD_INFO, "BFD info")
^
./lib/memory.h:140:2: note: expanded from macro 'DEFINE_MTYPE_STATIC'
        DEFINE_MTYPE_ATTR(group, name, static, desc)                           \
        ^
./lib/memory.h:110:26: note: expanded from macro 'DEFINE_MTYPE_ATTR'
                __attribute__((section(".data.mtypes"))) = { {                 \
                                       ^
1 error generated.
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
Diffstat (limited to 'lib/memory.h')
| -rw-r--r-- | lib/memory.h | 27 | 
1 files changed, 12 insertions, 15 deletions
diff --git a/lib/memory.h b/lib/memory.h index ba437ebd0e..65b99a5fc9 100644 --- a/lib/memory.h +++ b/lib/memory.h @@ -69,14 +69,12 @@ struct memgroup {  #define DECLARE_MGROUP(name) extern struct memgroup _mg_##name  #define _DEFINE_MGROUP(mname, desc, ...)                                       \ -	struct memgroup _mg_##mname                                            \ -		__attribute__((section(".data.mgroups"))) = {                  \ -			.name = desc,                                          \ -			.types = NULL,                                         \ -			.next = NULL,                                          \ -			.insert = NULL,                                        \ -			.ref = NULL,                                           \ -			__VA_ARGS__                                            \ +	struct memgroup _mg_##mname _DATA_SECTION("mgroups") = {               \ +		.name = desc,                                                  \ +		.types = NULL,                                                 \ +		.next = NULL,                                                  \ +		.insert = NULL,                                                \ +		.ref = NULL,                                                   \  	};                                                                     \  	static void _mginit_##mname(void) __attribute__((_CONSTRUCTOR(1000))); \  	static void _mginit_##mname(void)                                      \ @@ -105,13 +103,12 @@ struct memgroup {  	/* end */  #define DEFINE_MTYPE_ATTR(group, mname, attr, desc)                            \ -	attr struct memtype MTYPE_##mname[1]                                   \ -		__attribute__((section(".data.mtypes"))) = { {                 \ -			.name = desc,                                          \ -			.next = NULL,                                          \ -			.n_alloc = 0,                                          \ -			.size = 0,                                             \ -			.ref = NULL,                                           \ +	attr struct memtype MTYPE_##mname[1] _DATA_SECTION("mtypes") = { {     \ +		.name = desc,                                                  \ +		.next = NULL,                                                  \ +		.n_alloc = 0,                                                  \ +		.size = 0,                                                     \ +		.ref = NULL,                                                   \  	} };                                                                   \  	static void _mtinit_##mname(void) __attribute__((_CONSTRUCTOR(1001))); \  	static void _mtinit_##mname(void)                                      \  | 
