1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
build / linux / chrome.map [blame]
{
global:
__bss_start;
__data_start;
data_start;
_edata;
_end;
_IO_stdin_used;
# Initialization and finalization functions for static global
# variables.
_fini;
_init;
__libc_csu_fini;
__libc_csu_init;
# Chrome's main function. Exported for historical purposes.
ChromeMain;
# Program entry point.
_start;
# Memory allocation symbols. We want chrome and any libraries to
# share the same heap, so it is correct to export these symbols.
aligned_alloc;
calloc;
cfree;
free;
__free_hook;
__libc_calloc;
__libc_cfree;
__libc_free;
__libc_malloc;
__libc_memalign;
__libc_pvalloc;
__libc_realloc;
__libc_valloc;
mallinfo;
malloc;
__malloc_hook;
malloc_size;
malloc_stats;
malloc_usable_size;
mallopt;
memalign;
__memalign_hook;
__posix_memalign;
posix_memalign;
pvalloc;
realloc;
__realloc_hook;
valloc;
# Various flavors of operator new and operator delete.
_ZdaPv;
_ZdaPvm;
_ZdaPvmSt11align_val_t;
_ZdaPvRKSt9nothrow_t;
_ZdaPvSt11align_val_t;
_ZdaPvSt11align_val_tRKSt9nothrow_t;
_ZdlPv;
_ZdlPvm;
_ZdlPvmSt11align_val_t;
_ZdlPvRKSt9nothrow_t;
_ZdlPvSt11align_val_t;
_ZdlPvSt11align_val_tRKSt9nothrow_t;
_Znam;
_ZnamRKSt9nothrow_t;
_ZnamSt11align_val_t;
_ZnamSt11align_val_tRKSt9nothrow_t;
_Znwm;
_ZnwmRKSt9nothrow_t;
_ZnwmSt11align_val_t;
_ZnwmSt11align_val_tRKSt9nothrow_t;
# Various flavors of localtime(). These are exported by the chrome
# sandbox to intercept calls to localtime(), which would otherwise
# fail in untrusted processes that don't have permission to read
# /etc/localtime. These overrides forward the request to the browser
# process, which uses dlsym(localtime) to make the real calls.
localtime;
localtime64;
localtime64_r;
localtime_r;
# getaddrinfo() is exported by the sandbox to ensure the network service and
# other sandboxed processes don't try to run system DNS resolution
# in-process, which is not supported by the sandbox. This override
# uses dlsym(getaddrinfo) to make the real calls in unsandboxed
# processes.
getaddrinfo;
v8dbg_*;
local:
*;
};