Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 { | 5 { |
| 6 'include': [ | 6 'include': [ |
| 7 '../native_client/build/untrusted.gypi', | 7 '../native_client/build/untrusted.gypi', |
| 8 ], | 8 ], |
| 9 'target_defaults': { | 9 'target_defaults': { |
| 10 'variables': { | 10 'variables': { |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 120 'defines': [ | 120 'defines': [ |
| 121 'NACL_BLOCK_SHIFT=5', | 121 'NACL_BLOCK_SHIFT=5', |
| 122 'NACL_BLOCK_SIZE=32', | 122 'NACL_BLOCK_SIZE=32', |
| 123 '<@(nacl_defines)', | 123 '<@(nacl_defines)', |
| 124 ], | 124 ], |
| 125 }, | 125 }, |
| 126 }, | 126 }, |
| 127 ], | 127 ], |
| 128 }], | 128 }], |
| 129 ['OS=="linux" and coverage==0', { | 129 ['OS=="linux" and coverage==0', { |
| 130 'conditions': [ | |
| 131 ['target_arch=="x64"', { | |
| 132 'variables': { | |
| 133 # No extra reservation. | |
| 134 'nacl_reserve_top': [], | |
| 135 } | |
| 136 }], | |
| 137 ['target_arch=="ia32"', { | |
| 138 'variables': { | |
| 139 # 1G address space. | |
| 140 'nacl_reserve_top': ['--defsym', 'RESERVE_TOP=0x40000000'], | |
| 141 } | |
| 142 }], | |
| 143 ['target_arch=="arm"', { | |
| 144 'variables': { | |
| 145 # 1G address space, plus 4K guard area above because | |
| 146 # immediate offsets are 12 bits. | |
| 147 'nacl_reserve_top': ['--defsym', 'RESERVE_TOP=0x40001000'], | |
|
Mark Seaborn
2011/11/18 00:31:03
As an aside, do we cross-check this? If I lower e
| |
| 148 } | |
| 149 }], | |
| 150 ], | |
| 130 'targets': [ | 151 'targets': [ |
| 131 { | 152 { |
| 132 'target_name': 'nacl_helper', | 153 'target_name': 'nacl_helper', |
| 133 'type': 'executable', | 154 'type': 'executable', |
| 134 'include_dirs': [ | 155 'include_dirs': [ |
| 135 '..', | 156 '..', |
| 136 ], | 157 ], |
| 137 'dependencies': [ | 158 'dependencies': [ |
| 138 'nacl', | 159 'nacl', |
| 139 ], | 160 ], |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 267 }], | 288 }], |
| 268 ['target_arch=="ia32"', { | 289 ['target_arch=="ia32"', { |
| 269 'variables': { | 290 'variables': { |
| 270 'linker_emulation': 'elf_i386', | 291 'linker_emulation': 'elf_i386', |
| 271 'bootstrap_extra_lib': '', | 292 'bootstrap_extra_lib': '', |
| 272 } | 293 } |
| 273 }], | 294 }], |
| 274 ['target_arch=="arm"', { | 295 ['target_arch=="arm"', { |
| 275 'variables': { | 296 'variables': { |
| 276 'linker_emulation': 'armelf_linux_eabi', | 297 'linker_emulation': 'armelf_linux_eabi', |
| 277 # ARM requires linking against libc due to ABI dependenc ies on | 298 # ARM requires linking against libc due to ABI |
| 278 # memset | 299 # dependencies on memset. |
| 279 'bootstrap_extra_lib' : "${SYSROOT}/usr/lib/libc.a", | 300 'bootstrap_extra_lib' : "${SYSROOT}/usr/lib/libc.a", |
| 280 } | 301 } |
| 281 }], | 302 }], |
| 282 ], | 303 ], |
| 283 'action': ['../tools/ld_bfd/ld', | 304 'action': ['../tools/ld_bfd/ld', |
| 284 '-m', '<(linker_emulation)', | 305 '-m', '<(linker_emulation)', |
| 285 '--build-id', | 306 '--build-id', |
| 286 # This program is (almost) entirely standalone. It | 307 # This program is (almost) entirely |
| 287 # has its own startup code, so no crt1.o for it. I t is | 308 # standalone. It has its own startup code, so |
| 288 # statically linked, and on x86 it does not use | 309 # no crt1.o for it. It is statically linked, |
| 289 # libc at all. However, on ARM it needs a few (saf e) | 310 # and on x86 it does not use libc at all. |
| 290 # things from libc. | 311 # However, on ARM it needs a few (safe) things |
| 312 # from libc. | |
| 291 '-static', | 313 '-static', |
| 292 # Link with custom linker script for special layout . | 314 # Link with custom linker script for special |
| 315 # layout. The script uses the symbol RESERVE_TOP. | |
| 316 '<@(nacl_reserve_top)', | |
| 293 '--script=<(linker_script)', | 317 '--script=<(linker_script)', |
| 294 '-o', '<@(_outputs)', | 318 '-o', '<@(_outputs)', |
| 295 # On x86-64, the default page size with some | 319 # On x86-64, the default page size with some |
| 296 # linkers is 2M rather than the real Linux page | 320 # linkers is 2M rather than the real Linux page |
| 297 # size of 4K. A larger page size is incompatible | 321 # size of 4K. A larger page size is incompatible |
| 298 # with our custom linker script's special layout. | 322 # with our custom linker script's special layout. |
| 299 '-z', 'max-page-size=0x1000', | 323 '-z', 'max-page-size=0x1000', |
| 300 '--whole-archive', '<(bootstrap_lib)', | 324 '--whole-archive', '<(bootstrap_lib)', |
| 301 '--no-whole-archive', | 325 '--no-whole-archive', |
| 302 '<@(bootstrap_extra_lib)', | 326 '<@(bootstrap_extra_lib)', |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 339 'target_name': 'nacl_win64', | 363 'target_name': 'nacl_win64', |
| 340 'type': 'none', | 364 'type': 'none', |
| 341 'sources': [], | 365 'sources': [], |
| 342 }, | 366 }, |
| 343 ], | 367 ], |
| 344 }], | 368 }], |
| 345 ], | 369 ], |
| 346 }], | 370 }], |
| 347 ], | 371 ], |
| 348 } | 372 } |
| OLD | NEW |