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

Side by Side Diff: test.cc

Issue 8036047: In 32bit mode, removed all assembly addressing modes that are incompatible with (Closed) Base URL: http://seccompsandbox.googlecode.com/svn/trunk/
Patch Set: Created 9 years, 2 months 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
« no previous file with comments | « syscall_entrypoint.cc ('k') | trusted_thread_i386.S » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #define SYS_SYSCALL_ENTRYPOINT "playground$syscallEntryPoint" 5 #define SYS_SYSCALL_ENTRYPOINT "playground$syscallEntryPoint"
6 #include "linux_syscall_support.h" 6 #include "linux_syscall_support.h"
7 7
8 #include "sandbox_impl.h" 8 #include "sandbox_impl.h"
9 #include <dirent.h> 9 #include <dirent.h>
10 #include <dlfcn.h> 10 #include <dlfcn.h>
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 printf("TSC: %llx\n", tsc()); 157 printf("TSC: %llx\n", tsc());
158 printf("TSC: %llx\n", tsc()); 158 printf("TSC: %llx\n", tsc());
159 159
160 #if defined(__x86_64__) 160 #if defined(__x86_64__)
161 asm volatile("mov $2, %%edi\n" 161 asm volatile("mov $2, %%edi\n"
162 "lea 100f(%%rip), %%rsi\n" 162 "lea 100f(%%rip), %%rsi\n"
163 "mov $101f-100f, %%edx\n" 163 "mov $101f-100f, %%edx\n"
164 "mov $1, %%eax\n" 164 "mov $1, %%eax\n"
165 "int $0\n" 165 "int $0\n"
166 "jmp 101f\n" 166 "jmp 101f\n"
167 "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" 167 "100:.ascii \"Hello world (INT $0 worked)\\n\"\n"
168 "101:\n" 168 "101:\n"
169 : 169 :
170 : 170 :
171 : "rax", "rdi", "rsi", "rdx"); 171 : "rax", "rdi", "rsi", "rdx");
172 #elif defined(__i386__) 172 #elif defined(__i386__)
173 asm volatile("mov $2, %%ebx\n" 173 asm volatile("push %%ebx\n"
174 "mov $2, %%ebx\n"
174 "lea 100f, %%ecx\n" 175 "lea 100f, %%ecx\n"
175 "mov $101f-100f, %%edx\n" 176 "mov $101f-100f, %%edx\n"
176 "mov $4, %%eax\n" 177 "mov $4, %%eax\n"
177 "int $0\n" 178 "int $0\n"
178 "jmp 101f\n" 179 "jmp 101f\n"
179 "100:.ascii \"Hello world (INT $0 worked)\\n\"\n" 180 "100:.ascii \"Hello world (INT $0 worked)\\n\"\n"
180 "101:\n" 181 "101:pop %%ebx\n"
181 : 182 :
182 : 183 :
183 : "eax", "ebx", "ecx", "edx"); 184 : "eax", "ecx", "edx");
184 #endif 185 #endif
185 186
186 int pair[2]; 187 int pair[2];
187 socketpair(AF_UNIX, SOCK_STREAM, 0, pair); 188 socketpair(AF_UNIX, SOCK_STREAM, 0, pair);
188 189
189 printf("uid: %d\n", getuid()); 190 printf("uid: %d\n", getuid());
190 dlopen("libncurses.so.5", RTLD_LAZY); 191 dlopen("libncurses.so.5", RTLD_LAZY);
191 192
192 if (gettimeofday(&tv, 0)) { 193 if (gettimeofday(&tv, 0)) {
193 printf("gettimeofday() failed\n"); 194 printf("gettimeofday() failed\n");
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 } 231 }
231 if (!pthread_create(&threads[0], NULL, fnc, NULL)) { 232 if (!pthread_create(&threads[0], NULL, fnc, NULL)) {
232 pthread_join(threads[0], NULL); 233 pthread_join(threads[0], NULL);
233 } 234 }
234 #endif 235 #endif
235 236
236 puts("Done"); 237 puts("Done");
237 exit(0); 238 exit(0);
238 return 0; 239 return 0;
239 } 240 }
OLDNEW
« no previous file with comments | « syscall_entrypoint.cc ('k') | trusted_thread_i386.S » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698