03.11.2014 11:18, SeokYeon Hwang wrote:
>> -----Original Message-----
>> From: Peter Maydell [mailto:peter.mayd...@linaro.org]
>> Sent: Saturday, November 01, 2014 3:30 AM
>> To: SeokYeon Hwang
>> Cc: QEMU Developers
>> Subject: Re: [Qemu-devel] [PATCH] translate-all: wrapped map_exec() in
>> #ifdef
>>
>> On 31 October 2014 04:59, SeokYeon Hwang <syeon.hw...@samsung.com> wrote:
>>> Moved map_exec() and wrapped it in #ifdef to avoid "-Wunused-function"
>> on clang 3.4 or later.
>>>
>>> Signed-off-by: SeokYeon Hwang <syeon.hw...@samsung.com>
>>
>> I had this kind of on my todo list too, but I didn't much like the nested
>> ifdefs which are really only because of what the different implementations
>> of alloc_code_gen_buffer() happen to do. I think it would be more robust
>> to just mark the functions with the 'unused' attribute instead of relying
>> on 'inline' to implicitly do this for us:
>>
>> --- a/translate-all.c
>> +++ b/translate-all.c
>> @@ -270,14 +270,14 @@ bool cpu_restore_state(CPUState *cpu, uintptr_t
>> retaddr)  }
>>
>>  #ifdef _WIN32
>> -static inline void map_exec(void *addr, long size)
>> +static __attribute__((unused)) void map_exec(void *addr, long size)
>>  {
>>      DWORD old_protect;
>>      VirtualProtect(addr, size,
>>                     PAGE_EXECUTE_READWRITE, &old_protect);  }

In which case this function isn't used on windows?  I mean, is it really
necessary to mark it as unused for win32 case?

>> #else
>> -static inline void map_exec(void *addr, long size)
>> +static __attribute__((unused)) void map_exec(void *addr, long size)
>>  {
>>      unsigned long start, end, page_size;

How about this instead:

--- a/translate-all.c
+++ b/translate-all.c
@@ -276,7 +276,7 @@ static inline void map_exec(void *addr, long size)
     VirtualProtect(addr, size,
                    PAGE_EXECUTE_READWRITE, &old_protect);
 }
-#else
+#elif !defined(USE_MMAP)
 static inline void map_exec(void *addr, long size)
 {
     unsigned long start, end, page_size;

? (Untested, but just to show an idea)... ;)

Thanks,

/mjt

Reply via email to