--- a/arch/ia32/pistachio/include/segdesc.h 2008-06-16 07:16:54.000000000 +0200 +++ b/arch/ia32/pistachio/include/segdesc.h 2011-07-04 10:59:54.251729822 +0200 @@ -144,7 +144,7 @@ INLINE void ia32_segdesc_t::set_raw(word INLINE void ia32_segdesc_t::dump(bool global, int index) { printf("%s[%d] = %p:%p", global ? "GDT" : "LDT", index, - x.raw[0], x.raw[1]); + (void*)x.raw[0], (void*)x.raw[1]); if ( (x.raw[0] == 0 && x.raw[1] == 0) || (! x.d.s) ) { @@ -152,12 +152,12 @@ INLINE void ia32_segdesc_t::dump(bool gl return; } printf(" <%p,%p> ", - x.d.base_low + (x.d.base_high << 24), - x.d.base_low + (x.d.base_high << 24) + + (void*)(x.d.base_low + (x.d.base_high << 24)), + (void*)(x.d.base_low + (x.d.base_high << 24) + (x.d.g ? 0xfff | (x.d.limit_low + (x.d.limit_high << 16)) << 12 : - (x.d.limit_low + (x.d.limit_high << 16)))); - printf("dpl=%d %d-bit ", x.d.dpl, x.d.d ? 32 : 16); + (x.d.limit_low + (x.d.limit_high << 16))))); + printf("dpl=%ld %d-bit ", x.d.dpl, x.d.d ? 32 : 16); if ( x.d.type & 0x8 ) printf("code %cC %cR ", x.d.type & 0x4 ? ' ' : '!', --- a/pistachio/include/stdarg.h 2008-06-16 07:16:55.000000000 +0200 +++ b/pistachio/include/stdarg.h 2011-07-04 12:03:21.767314266 +0200 @@ -80,7 +80,11 @@ typedef __builtin_va_list va_list; #define va_arg(ap, type) __builtin_va_arg((ap), type) #define va_copy(dest, src) __builtin_va_copy((ap), type) #define va_end(ap) __builtin_va_end((ap)) -#define va_start(ap, parmN) __builtin_stdarg_start((ap), (parmN)) +#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) +#define va_start(ap, parmN)__builtin_va_start((ap),parmN) +#else +#define va_start(ap, parmN)__builtin_stdarg_start((ap),parmN) +#endif #endif --- a/pistachio/src/tracebuffer.cc 2008-06-16 07:16:55.000000000 +0200 +++ b/pistachio/src/tracebuffer.cc 2011-07-04 12:04:16.597394680 +0200 @@ -96,7 +96,7 @@ SECTION(SEC_INIT) void init_tracebuffer( trace_buffer->buffers = TBUF_BUFFERS; /* Calculate buffer size */ - buffer_first = sizeof(trace_buffer_t) + 7 & (~7UL); + buffer_first = sizeof(trace_buffer_t) + (7 & (~7UL)); trace_buffer->buffer_size = ((TBUFF_SIZE - buffer_first) / TBUF_BUFFERS) & (~7UL);