Mercurial > hg > nginx
view src/os/unix/ngx_sunpro_x86.il @ 4354:cdb2e95bd3d0 stable-1.0
Merge of r4231, r4300, r4303, r4304:
Configure/build changes and fixes:
*) Revamped "configure --help" text.
*) FreeBSD 10-current has recently gotten POSIX_FADV_* macros.
A fix for the broken build applied.
*) AIX 7 defines sys_nerr in errno.h, therefore <errno.h> included
in the sys_nerr test.
When sys_nerr and _sys_nerr are missed on a particular platform
and our euristic for a maximum errno detection applied always
print the maximum errno number we reached instead of printing void.
This makes possible to build nginx on AIX 7.1.
*) Made it possible to build/install from the SVN checkout.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 14 Dec 2011 13:34:16 +0000 |
parents | 7e02df612521 |
children | d620f497c50f |
line wrap: on
line source
/ / Copyright (C) Igor Sysoev / / ngx_atomic_uint_t ngx_atomic_cmp_set(ngx_atomic_t *lock, / ngx_atomic_uint_t old, ngx_atomic_uint_t set); / / the arguments are passed on stack (%esp), 4(%esp), 8(%esp) .inline ngx_atomic_cmp_set,0 movl (%esp), %ecx movl 4(%esp), %eax movl 8(%esp), %edx lock cmpxchgl %edx, (%ecx) setz %al movzbl %al, %eax .end / ngx_atomic_int_t ngx_atomic_fetch_add(ngx_atomic_t *value, / ngx_atomic_int_t add); / / the arguments are passed on stack (%esp), 4(%esp) .inline ngx_atomic_fetch_add,0 movl (%esp), %ecx movl 4(%esp), %eax lock xaddl %eax, (%ecx) .end / ngx_cpu_pause() / / the "rep; nop" is used instead of "pause" to avoid the "[ PAUSE ]" hardware / capability added by linker because Solaris/i386 does not know about it: / / ld.so.1: nginx: fatal: hardware capability unsupported: 0x2000 [ PAUSE ] .inline ngx_cpu_pause,0 rep; nop .end