typedef int lll_lock_t; static inline void __attribute__ ((always_inline)) __lll_mutex_lock(lll_lock_t * futex) { if (( { int ret; ret = ( { volatile int lws_errno = 14; volatile int lws_ret = 0xdeadbeef; asm volatile ("0: \n\t" "copy %3, %%r26 \n\t" "copy %4, %%r25 \n\t" "copy %5, %%r24 \n\t" "ble " "0xb0" "(%%sr2, %%r0) \n\t" "ldi " "0" ", %%r20 \n\t" "cmpib,=,n " "11" ",%%r21,0b \n\t" "nop \n\t" "stw %%r28, %0 \n\t" "sub %%r0, %%r21, %%r21 \n\t" "stw %%r21, %1 \n\t": "=m" (lws_ret), "=m"(lws_errno), "=m"(*futex): "r"(futex), "r"(0), "r"(1):"r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31", "memory"); lws_ret;} );} ) != 0) __lll_lock_wait(futex); } typedef __builtin_va_list __gnuc_va_list; typedef struct { int lock; void *owner; } _IO_lock_t; struct _IO_FILE { int _flags; char *_IO_write_base; char *_IO_write_ptr; char *_IO_write_end; _IO_lock_t *_lock; }; typedef struct _IO_FILE _IO_FILE; struct _IO_jump_t { }; struct _IO_FILE_plus { }; static int buffered_vfprintf(_IO_FILE * stream, const char *fmt, __gnuc_va_list) __attribute__ ((__nothrow__)) __attribute__ ((noinline)); int _IO_vfprintf_internal(_IO_FILE * s, const char *format, __gnuc_va_list ap) { if (((s)->_flags & 2)) return buffered_vfprintf(s, format, ap); } struct helper_file { struct _IO_FILE_plus _f; }; static int buffered_vfprintf(register _IO_FILE * s, const char *format, __gnuc_va_list args) { char buf[8192]; struct helper_file helper; register _IO_FILE *hp = (_IO_FILE *) & helper._f; ((hp)->_IO_write_base = (hp)->_IO_write_ptr = buf, (hp)->_IO_write_end = (buf + sizeof buf)); { if (((s)->_flags & 0x8000) == 0) do { void *__self = ({ __self = __get_cr27();} ); if ((*(s)->_lock).owner != __self) { __lll_mutex_lock(&((*(s)->_lock).lock)); } } while (0); }; }