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

Side by Side Diff: build/common.gypi

Issue 8207010: Implement disable_pie for all executables. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
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 | « no previous file | chrome/chrome_exe.gypi » ('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) 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 # IMPORTANT: 5 # IMPORTANT:
6 # Please don't directly include this file if you are building via gyp_chromium, 6 # Please don't directly include this file if you are building via gyp_chromium,
7 # since gyp_chromium is automatically forcing its inclusion. 7 # since gyp_chromium is automatically forcing its inclusion.
8 { 8 {
9 # Variables expected to be overriden on the GYP command line (-D) or by 9 # Variables expected to be overriden on the GYP command line (-D) or by
10 # ~/.gyp/include.gypi. 10 # ~/.gyp/include.gypi.
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 205
206 # Enable building with ASAN (Clang's -fasan option). 206 # Enable building with ASAN (Clang's -fasan option).
207 # -fasan only works with clang, but asan=1 implies clang=1 207 # -fasan only works with clang, but asan=1 implies clang=1
208 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer 208 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre sssanitizer
209 'asan%': 0, 209 'asan%': 0,
210 210
211 # Set to 1 compile with -fPIC cflag on linux. This is a must for shared 211 # Set to 1 compile with -fPIC cflag on linux. This is a must for shared
212 # libraries on linux x86-64 and arm, plus ASLR. 212 # libraries on linux x86-64 and arm, plus ASLR.
213 'linux_fpic%': 1, 213 'linux_fpic%': 1,
214 214
215 # Default to enabled PIE; this is important for ASLR but we need to be
216 # able to turn it off for remote debugging on Chromium OS
217 'disable_pie%': 0,
218
215 # Enable navigator.registerProtocolHandler and supporting UI. 219 # Enable navigator.registerProtocolHandler and supporting UI.
216 'enable_register_protocol_handler%': 1, 220 'enable_register_protocol_handler%': 1,
217 221
218 # Enable Web Intents and supporting UI. 222 # Enable Web Intents and supporting UI.
219 'enable_web_intents%': 0, 223 'enable_web_intents%': 0,
220 224
221 # Smooth scrolling is disabled by default. 225 # Smooth scrolling is disabled by default.
222 'enable_smooth_scrolling%': 0, 226 'enable_smooth_scrolling%': 0,
223 227
224 # Webrtc compilation is enabled by default. Set to 0 to disable. 228 # Webrtc compilation is enabled by default. Set to 0 to disable.
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 'use_aura%': '<(use_aura)', 351 'use_aura%': '<(use_aura)',
348 'use_openssl%': '<(use_openssl)', 352 'use_openssl%': '<(use_openssl)',
349 'use_nss%': '<(use_nss)', 353 'use_nss%': '<(use_nss)',
350 'os_posix%': '<(os_posix)', 354 'os_posix%': '<(os_posix)',
351 'use_glib%': '<(use_glib)', 355 'use_glib%': '<(use_glib)',
352 'toolkit_uses_gtk%': '<(toolkit_uses_gtk)', 356 'toolkit_uses_gtk%': '<(toolkit_uses_gtk)',
353 'use_skia%': '<(use_skia)', 357 'use_skia%': '<(use_skia)',
354 'use_x11%': '<(use_x11)', 358 'use_x11%': '<(use_x11)',
355 'use_gnome_keyring%': '<(use_gnome_keyring)', 359 'use_gnome_keyring%': '<(use_gnome_keyring)',
356 'linux_fpic%': '<(linux_fpic)', 360 'linux_fpic%': '<(linux_fpic)',
361 'disable_pie%': '<(disable_pie)',
Nico 2011/10/07 22:53:25 It looks like this is not conditionally set. Can't
rkc 2011/10/07 23:23:28 Done.
357 'enable_flapper_hacks%': '<(enable_flapper_hacks)', 362 'enable_flapper_hacks%': '<(enable_flapper_hacks)',
358 'chromeos%': '<(chromeos)', 363 'chromeos%': '<(chromeos)',
359 'touchui%': '<(touchui)', 364 'touchui%': '<(touchui)',
360 'use_virtual_keyboard%': '<(use_virtual_keyboard)', 365 'use_virtual_keyboard%': '<(use_virtual_keyboard)',
361 'use_xi2_mt%':'<(use_xi2_mt)', 366 'use_xi2_mt%':'<(use_xi2_mt)',
362 'file_manager_extension%': '<(file_manager_extension)', 367 'file_manager_extension%': '<(file_manager_extension)',
363 'webui_task_manager%': '<(webui_task_manager)', 368 'webui_task_manager%': '<(webui_task_manager)',
364 'inside_chromium_build%': '<(inside_chromium_build)', 369 'inside_chromium_build%': '<(inside_chromium_build)',
365 'fastbuild%': '<(fastbuild)', 370 'fastbuild%': '<(fastbuild)',
366 'dcheck_always_on%': '<(dcheck_always_on)', 371 'dcheck_always_on%': '<(dcheck_always_on)',
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 }], 1752 }],
1748 ], 1753 ],
1749 }], 1754 }],
1750 ], 1755 ],
1751 }], 1756 }],
1752 ['linux_fpic==1', { 1757 ['linux_fpic==1', {
1753 'cflags': [ 1758 'cflags': [
1754 '-fPIC', 1759 '-fPIC',
1755 ], 1760 ],
1756 }], 1761 }],
1762 # TODO(rkc): Currently building Chrome with the PIE flag causes
1763 # remote debugging to break (remote debugger does not get correct
1764 # section header offsets hence causing all symbol handling to go
1765 # kaboom). See crosbug.com/15266
1766 # Remove this flag once this issue is fixed.
1767 ['disable_pie==1', {
Nico 2011/10/07 22:53:25 since this is linux only, should this be called li
rkc 2011/10/07 23:23:28 Done.
1768 'target_conditions': [
1769 ['_type=="executable"', {
1770 'ldflags': [
1771 '-nopie',
1772 ],
1773 }],
1774 ],
1775 }],
1757 ['sysroot!=""', { 1776 ['sysroot!=""', {
1758 'target_conditions': [ 1777 'target_conditions': [
1759 ['_toolset=="target"', { 1778 ['_toolset=="target"', {
1760 'cflags': [ 1779 'cflags': [
1761 '--sysroot=<(sysroot)', 1780 '--sysroot=<(sysroot)',
1762 ], 1781 ],
1763 'ldflags': [ 1782 'ldflags': [
1764 '--sysroot=<(sysroot)', 1783 '--sysroot=<(sysroot)',
1765 ], 1784 ],
1766 }]] 1785 }]]
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
2499 # settings in target dicts. SYMROOT is a special case, because many other 2518 # settings in target dicts. SYMROOT is a special case, because many other
2500 # Xcode variables depend on it, including variables such as 2519 # Xcode variables depend on it, including variables such as
2501 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 2520 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
2502 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 2521 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
2503 # files to appear (when present) in the UI as actual files and not red 2522 # files to appear (when present) in the UI as actual files and not red
2504 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 2523 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
2505 # and therefore SYMROOT, needs to be set at the project level. 2524 # and therefore SYMROOT, needs to be set at the project level.
2506 'SYMROOT': '<(DEPTH)/xcodebuild', 2525 'SYMROOT': '<(DEPTH)/xcodebuild',
2507 }, 2526 },
2508 } 2527 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_exe.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698