[Mesa-dev] [PATCH] gallium/util: Fix debug_printf under Haiku

Alexander von Gluck IV kallisti5 at unixzen.com
Mon Jul 18 13:39:36 UTC 2016


July 18 2016 3:29 AM, "Nicolai Hähnle" <nhaehnle at gmail.com> wrote:
> A comment further up in the same file says
> 
> /* Haiku provides debug_printf in libroot with OS.h */
> 
> Is that no longer true?
> 
> Nicolai
> 
> On 16.07.2016 16:27, Alexander von Gluck IV wrote:
> 
>> ---
>> src/gallium/auxiliary/util/u_debug.h | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>> 
>> diff --git a/src/gallium/auxiliary/util/u_debug.h b/src/gallium/auxiliary/util/u_debug.h
>> index 7da7f53..7dc4ce8 100644
>> --- a/src/gallium/auxiliary/util/u_debug.h
>> +++ b/src/gallium/auxiliary/util/u_debug.h
>> @@ -83,7 +83,10 @@ _debug_printf(const char *format, ...)
>> * - avoid outputing large strings (512 bytes is the current maximum length
>> * that is guaranteed to be printed in all platforms)
>> */
>> -#if !defined(PIPE_OS_HAIKU)
>> +#if defined(PIPE_OS_HAIKU)
>> +void
>> +debug_printf(const char *format, ...) _util_printf_format(1,2);
>> +#else
>> static inline void
>> debug_printf(const char *format, ...) _util_printf_format(1,2);

It's still true, however without the _util_printf_format I get odd llvm
symbol errors.

The linux code just below defines debug_printf twice as well:

https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/auxiliary/util/u_debug.h#n87

I'm honestly not 100% sure what's going on here as the arguments are the same,
but defining twice on Haiku (once in OS.h, and again here) seems to resolve the issue.

I have to define it differently under Haiku (and can't use the same one for all platforms)
because Haiku's debug_printf is not static inline.

 -- Alex
 -- Alex


More information about the mesa-dev mailing list