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

Side by Side Diff: src/trusted/service_runtime/linux/nacl_bootstrap.c

Issue 788193003: Create a build_config header file. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Created 6 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 /* 1 /*
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 * 5 *
6 * This is a standalone program that loads and runs the dynamic linker. 6 * This is a standalone program that loads and runs the dynamic linker.
7 * This program itself must be linked statically. To keep it small, it's 7 * This program itself must be linked statically. To keep it small, it's
8 * written to avoid all dependencies on libc and standard startup code. 8 * written to avoid all dependencies on libc and standard startup code.
9 * Hence, this should be linked using -nostartfiles. It must be compiled 9 * Hence, this should be linked using -nostartfiles. It must be compiled
10 * with -fno-stack-protector to ensure the compiler won't emit code that 10 * with -fno-stack-protector to ensure the compiler won't emit code that
11 * presumes some special setup has been done. 11 * presumes some special setup has been done.
12 * 12 *
13 * On ARM, the compiler will emit calls to some libc functions, so we 13 * On ARM, the compiler will emit calls to some libc functions, so we
14 * cannot link with -nostdlib. The functions it does use (memset and 14 * cannot link with -nostdlib. The functions it does use (memset and
15 * __aeabi_* functions for integer division) are sufficiently small and 15 * __aeabi_* functions for integer division) are sufficiently small and
16 * self-contained in ARM's libc.a that we don't have any problem using 16 * self-contained in ARM's libc.a that we don't have any problem using
17 * the libc definitions though we aren't using the rest of libc or doing 17 * the libc definitions though we aren't using the rest of libc or doing
18 * any of the setup it might expect. 18 * any of the setup it might expect.
19 */ 19 */
20 #include <elf.h> 20 #include <elf.h>
21 #include <fcntl.h> 21 #include <fcntl.h>
22 #include <limits.h> 22 #include <limits.h>
23 #include <link.h> 23 #include <link.h>
24 #include <stddef.h> 24 #include <stddef.h>
25 #include <stdint.h> 25 #include <stdint.h>
26 #include <sys/mman.h> 26 #include <sys/mman.h>
27 27
28 #include "native_client/src/include/nacl_defines.h"
29
28 /* 30 /*
29 * Get inline functions for system calls. 31 * Get inline functions for system calls.
30 */ 32 */
31 static int my_errno; 33 static int my_errno;
32 #define SYS_ERRNO my_errno 34 #define SYS_ERRNO my_errno
33 #include "third_party/lss/linux_syscall_support.h" 35 #include "third_party/lss/linux_syscall_support.h"
34 36
35 #define MAX_PHNUM 12 37 #define MAX_PHNUM 12
36 38
37 typedef uintptr_t __attribute__((may_alias)) stack_val_t; 39 typedef uintptr_t __attribute__((may_alias)) stack_val_t;
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 721
720 #if defined(__arm__) 722 #if defined(__arm__)
721 /* 723 /*
722 * We may bring in __aeabi_* functions from libgcc that in turn 724 * We may bring in __aeabi_* functions from libgcc that in turn
723 * want to call raise. 725 * want to call raise.
724 */ 726 */
725 int raise(int sig) { 727 int raise(int sig) {
726 return sys_kill(sys_getpid(), sig); 728 return sys_kill(sys_getpid(), sig);
727 } 729 }
728 #endif 730 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698