Commit 8a84de23b8f8fc63338dfcc58f572e33c428c1b7
1 parent
a5b85f79
Fix compilation on Darwin platform, avoiding the use of gcc function attributes
(problem reported by Andreas Farber). : ---------------------------------------------------------------------- git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3292 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
20 additions
and
6 deletions
exec-all.h
@@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | #ifndef always_inline | 40 | #ifndef always_inline |
41 | -#if __GNUC__ < 3 | 41 | +#if (__GNUC__ < 3) || defined(__APPLE__) |
42 | #define always_inline inline | 42 | #define always_inline inline |
43 | #else | 43 | #else |
44 | #define always_inline __attribute__ (( always_inline )) inline | 44 | #define always_inline __attribute__ (( always_inline )) inline |
hw/ppc.c
@@ -445,7 +445,7 @@ uint32_t cpu_ppc_load_tbl (CPUState *env) | @@ -445,7 +445,7 @@ uint32_t cpu_ppc_load_tbl (CPUState *env) | ||
445 | return tb & 0xFFFFFFFF; | 445 | return tb & 0xFFFFFFFF; |
446 | } | 446 | } |
447 | 447 | ||
448 | -uint32_t cpu_ppc_load_tbu (CPUState *env) | 448 | +static inline uint32_t _cpu_ppc_load_tbu (CPUState *env) |
449 | { | 449 | { |
450 | ppc_tb_t *tb_env = env->tb_env; | 450 | ppc_tb_t *tb_env = env->tb_env; |
451 | uint64_t tb; | 451 | uint64_t tb; |
@@ -460,6 +460,11 @@ uint32_t cpu_ppc_load_tbu (CPUState *env) | @@ -460,6 +460,11 @@ uint32_t cpu_ppc_load_tbu (CPUState *env) | ||
460 | return tb >> 32; | 460 | return tb >> 32; |
461 | } | 461 | } |
462 | 462 | ||
463 | +uint32_t cpu_ppc_load_tbu (CPUState *env) | ||
464 | +{ | ||
465 | + return _cpu_ppc_load_tbu(env); | ||
466 | +} | ||
467 | + | ||
463 | static inline void cpu_ppc_store_tb (ppc_tb_t *tb_env, int64_t *tb_offsetp, | 468 | static inline void cpu_ppc_store_tb (ppc_tb_t *tb_env, int64_t *tb_offsetp, |
464 | uint64_t value) | 469 | uint64_t value) |
465 | { | 470 | { |
@@ -483,7 +488,7 @@ void cpu_ppc_store_tbl (CPUState *env, uint32_t value) | @@ -483,7 +488,7 @@ void cpu_ppc_store_tbl (CPUState *env, uint32_t value) | ||
483 | cpu_ppc_store_tb(tb_env, &tb_env->tb_offset, tb | (uint64_t)value); | 488 | cpu_ppc_store_tb(tb_env, &tb_env->tb_offset, tb | (uint64_t)value); |
484 | } | 489 | } |
485 | 490 | ||
486 | -void cpu_ppc_store_tbu (CPUState *env, uint32_t value) | 491 | +static inline void _cpu_ppc_store_tbu (CPUState *env, uint32_t value) |
487 | { | 492 | { |
488 | ppc_tb_t *tb_env = env->tb_env; | 493 | ppc_tb_t *tb_env = env->tb_env; |
489 | uint64_t tb; | 494 | uint64_t tb; |
@@ -494,6 +499,11 @@ void cpu_ppc_store_tbu (CPUState *env, uint32_t value) | @@ -494,6 +499,11 @@ void cpu_ppc_store_tbu (CPUState *env, uint32_t value) | ||
494 | ((uint64_t)value << 32) | tb); | 499 | ((uint64_t)value << 32) | tb); |
495 | } | 500 | } |
496 | 501 | ||
502 | +void cpu_ppc_store_tbu (CPUState *env, uint32_t value) | ||
503 | +{ | ||
504 | + _cpu_ppc_store_tbu(env, value); | ||
505 | +} | ||
506 | + | ||
497 | uint32_t cpu_ppc_load_atbl (CPUState *env) | 507 | uint32_t cpu_ppc_load_atbl (CPUState *env) |
498 | { | 508 | { |
499 | ppc_tb_t *tb_env = env->tb_env; | 509 | ppc_tb_t *tb_env = env->tb_env; |
@@ -738,10 +748,14 @@ clk_setup_cb cpu_ppc601_rtc_init (CPUState *env) | @@ -738,10 +748,14 @@ clk_setup_cb cpu_ppc601_rtc_init (CPUState *env) | ||
738 | } | 748 | } |
739 | 749 | ||
740 | void cpu_ppc601_store_rtcu (CPUState *env, uint32_t value) | 750 | void cpu_ppc601_store_rtcu (CPUState *env, uint32_t value) |
741 | -__attribute__ (( alias ("cpu_ppc_store_tbu") )); | 751 | +{ |
752 | + _cpu_ppc_store_tbu(env, value); | ||
753 | +} | ||
742 | 754 | ||
743 | uint32_t cpu_ppc601_load_rtcu (CPUState *env) | 755 | uint32_t cpu_ppc601_load_rtcu (CPUState *env) |
744 | -__attribute__ (( alias ("cpu_ppc_load_tbu") )); | 756 | +{ |
757 | + return _cpu_ppc_load_tbu(env); | ||
758 | +} | ||
745 | 759 | ||
746 | void cpu_ppc601_store_rtcl (CPUState *env, uint32_t value) | 760 | void cpu_ppc601_store_rtcl (CPUState *env, uint32_t value) |
747 | { | 761 | { |
vl.h
@@ -110,7 +110,7 @@ static inline char *realpath(const char *path, char *resolved_path) | @@ -110,7 +110,7 @@ static inline char *realpath(const char *path, char *resolved_path) | ||
110 | #endif | 110 | #endif |
111 | 111 | ||
112 | #ifndef always_inline | 112 | #ifndef always_inline |
113 | -#if __GNUC__ < 3 | 113 | +#if (__GNUC__ < 3) || defined(__APPLE__) |
114 | #define always_inline inline | 114 | #define always_inline inline |
115 | #else | 115 | #else |
116 | #define always_inline __attribute__ (( always_inline )) inline | 116 | #define always_inline __attribute__ (( always_inline )) inline |