Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1523)

Side by Side Diff: nspr/pr/include/md/_linux.h

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public 2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 5
6 /* 6 /*
7 * This file is used by not only Linux but also other glibc systems 7 * This file is used by not only Linux but also other glibc systems
8 * such as GNU/Hurd and GNU/k*BSD. 8 * such as GNU/Hurd and GNU/k*BSD.
9 */ 9 */
10 10
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #elif defined(__s390x__) 48 #elif defined(__s390x__)
49 #define _PR_SI_ARCHITECTURE "s390x" 49 #define _PR_SI_ARCHITECTURE "s390x"
50 #elif defined(__s390__) 50 #elif defined(__s390__)
51 #define _PR_SI_ARCHITECTURE "s390" 51 #define _PR_SI_ARCHITECTURE "s390"
52 #elif defined(__sh__) 52 #elif defined(__sh__)
53 #define _PR_SI_ARCHITECTURE "sh" 53 #define _PR_SI_ARCHITECTURE "sh"
54 #elif defined(__avr32__) 54 #elif defined(__avr32__)
55 #define _PR_SI_ARCHITECTURE "avr32" 55 #define _PR_SI_ARCHITECTURE "avr32"
56 #elif defined(__m32r__) 56 #elif defined(__m32r__)
57 #define _PR_SI_ARCHITECTURE "m32r" 57 #define _PR_SI_ARCHITECTURE "m32r"
58 #elif defined(__or1k__)
59 #define _PR_SI_ARCHITECTURE "or1k"
58 #else 60 #else
59 #error "Unknown CPU architecture" 61 #error "Unknown CPU architecture"
60 #endif 62 #endif
61 #define PR_DLL_SUFFIX ".so" 63 #define PR_DLL_SUFFIX ".so"
62 64
63 #define _PR_VMBASE 0x30000000 65 #define _PR_VMBASE 0x30000000
64 #define _PR_STACK_VMBASE 0x50000000 66 #define _PR_STACK_VMBASE 0x50000000
65 #define _MD_DEFAULT_STACK_SIZE 65536L 67 #define _MD_DEFAULT_STACK_SIZE 65536L
66 #define _MD_MMAP_FLAGS MAP_PRIVATE 68 #define _MD_MMAP_FLAGS MAP_PRIVATE
67 69
68 #if defined(__aarch64__) 70 #if defined(__aarch64__) || defined(__mips__)
69 #define _MD_MINIMUM_STACK_SIZE 0x20000 71 #define _MD_MINIMUM_STACK_SIZE 0x20000
70 #endif 72 #endif
71 73
72 #undef HAVE_STACK_GROWING_UP 74 #undef HAVE_STACK_GROWING_UP
73 75
74 /* 76 /*
75 * Elf linux supports dl* functions 77 * Elf linux supports dl* functions
76 */ 78 */
77 #define HAVE_DLL 79 #define HAVE_DLL
78 #define USE_DLFCN 80 #define USE_DLFCN
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 extern PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val); 118 extern PRInt32 _PR_x86_64_AtomicIncrement(PRInt32 *val);
117 #define _MD_ATOMIC_INCREMENT _PR_x86_64_AtomicIncrement 119 #define _MD_ATOMIC_INCREMENT _PR_x86_64_AtomicIncrement
118 extern PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val); 120 extern PRInt32 _PR_x86_64_AtomicDecrement(PRInt32 *val);
119 #define _MD_ATOMIC_DECREMENT _PR_x86_64_AtomicDecrement 121 #define _MD_ATOMIC_DECREMENT _PR_x86_64_AtomicDecrement
120 extern PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val); 122 extern PRInt32 _PR_x86_64_AtomicAdd(PRInt32 *ptr, PRInt32 val);
121 #define _MD_ATOMIC_ADD _PR_x86_64_AtomicAdd 123 #define _MD_ATOMIC_ADD _PR_x86_64_AtomicAdd
122 extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval); 124 extern PRInt32 _PR_x86_64_AtomicSet(PRInt32 *val, PRInt32 newval);
123 #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet 125 #define _MD_ATOMIC_SET _PR_x86_64_AtomicSet
124 #endif 126 #endif
125 127
128 #if defined(__or1k__)
129 #if defined(__GNUC__)
130 /* Use GCC built-in functions */
131 #define _PR_HAVE_ATOMIC_OPS
132 #define _MD_INIT_ATOMIC()
133 #define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1)
134 #define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1)
135 #define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i)
136 #define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv)
137 #endif
138 #endif
139
126 #if defined(__powerpc__) && !defined(__powerpc64__) 140 #if defined(__powerpc__) && !defined(__powerpc64__)
127 #define _PR_HAVE_ATOMIC_OPS 141 #define _PR_HAVE_ATOMIC_OPS
128 #define _MD_INIT_ATOMIC() 142 #define _MD_INIT_ATOMIC()
129 extern PRInt32 _PR_ppc_AtomicIncrement(PRInt32 *val); 143 extern PRInt32 _PR_ppc_AtomicIncrement(PRInt32 *val);
130 #define _MD_ATOMIC_INCREMENT _PR_ppc_AtomicIncrement 144 #define _MD_ATOMIC_INCREMENT _PR_ppc_AtomicIncrement
131 extern PRInt32 _PR_ppc_AtomicDecrement(PRInt32 *val); 145 extern PRInt32 _PR_ppc_AtomicDecrement(PRInt32 *val);
132 #define _MD_ATOMIC_DECREMENT _PR_ppc_AtomicDecrement 146 #define _MD_ATOMIC_DECREMENT _PR_ppc_AtomicDecrement
133 extern PRInt32 _PR_ppc_AtomicAdd(PRInt32 *ptr, PRInt32 val); 147 extern PRInt32 _PR_ppc_AtomicAdd(PRInt32 *ptr, PRInt32 val);
134 #define _MD_ATOMIC_ADD _PR_ppc_AtomicAdd 148 #define _MD_ATOMIC_ADD _PR_ppc_AtomicAdd
135 extern PRInt32 _PR_ppc_AtomicSet(PRInt32 *val, PRInt32 newval); 149 extern PRInt32 _PR_ppc_AtomicSet(PRInt32 *val, PRInt32 newval);
136 #define _MD_ATOMIC_SET _PR_ppc_AtomicSet 150 #define _MD_ATOMIC_SET _PR_ppc_AtomicSet
137 #endif 151 #endif
138 152
139 #if defined(__powerpc64__) 153 #if defined(__powerpc64__)
140 #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) 154 #if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)
141 /* Use GCC built-in functions */ 155 /* Use GCC built-in functions */
142 #define _PR_HAVE_ATOMIC_OPS 156 #define _PR_HAVE_ATOMIC_OPS
143 #define _MD_INIT_ATOMIC() 157 #define _MD_INIT_ATOMIC()
144 #define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1) 158 #define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1)
145 #define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1) 159 #define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1)
146 #define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i) 160 #define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i)
147 #define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv) 161 #define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv)
148 #endif 162 #endif
149 #endif 163 #endif
150 164
165 #if defined(__mips__) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)
166 /* Use GCC built-in functions */
167 #define _PR_HAVE_ATOMIC_OPS
168 #define _MD_INIT_ATOMIC()
169 #define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1)
170 #define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1)
171 #define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i)
172 #define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv)
173 #endif
174
151 #if defined(__alpha) 175 #if defined(__alpha)
152 #define _PR_HAVE_ATOMIC_OPS 176 #define _PR_HAVE_ATOMIC_OPS
153 #define _MD_INIT_ATOMIC() 177 #define _MD_INIT_ATOMIC()
154 #define _MD_ATOMIC_ADD(ptr, i) ({ \ 178 #define _MD_ATOMIC_ADD(ptr, i) ({ \
155 PRInt32 __atomic_tmp, __atomic_ret; \ 179 PRInt32 __atomic_tmp, __atomic_ret; \
156 __asm__ __volatile__( \ 180 __asm__ __volatile__( \
157 "1: ldl_l %[ret], %[val] \n" \ 181 "1: ldl_l %[ret], %[val] \n" \
158 " addl %[ret], %[inc], %[tmp] \n" \ 182 " addl %[ret], %[inc], %[tmp] \n" \
159 " addl %[ret], %[inc], %[ret] \n" \ 183 " addl %[ret], %[inc], %[ret] \n" \
160 " stl_c %[tmp], %[val] \n" \ 184 " stl_c %[tmp], %[val] \n" \
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 int timeout); 685 int timeout);
662 #define _MD_POLL __syscall_poll 686 #define _MD_POLL __syscall_poll
663 #endif 687 #endif
664 688
665 /* For writev() */ 689 /* For writev() */
666 #include <sys/uio.h> 690 #include <sys/uio.h>
667 691
668 extern void _MD_linux_map_sendfile_error(int err); 692 extern void _MD_linux_map_sendfile_error(int err);
669 693
670 #endif /* nspr_linux_defs_h___ */ 694 #endif /* nspr_linux_defs_h___ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698