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

Side by Side Diff: build/config/gcc/BUILD.gn

Issue 428753003: GN: pass -Wl,--disable-new-dtags on linux so DT_RPATH works (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 # This config causes functions not to be automatically exported from shared 5 # This config causes functions not to be automatically exported from shared
6 # libraries. By default, all symbols are exported but this means there are 6 # libraries. By default, all symbols are exported but this means there are
7 # lots of exports that slow everything down. In general we explicitly mark 7 # lots of exports that slow everything down. In general we explicitly mark
8 # which functiosn we want to export from components. 8 # which functiosn we want to export from components.
9 # 9 #
10 # Some third_party code assumes all functions are exported so this is separated 10 # Some third_party code assumes all functions are exported so this is separated
11 # into its own config so such libraries can remove this config to make symbols 11 # into its own config so such libraries can remove this config to make symbols
12 # public again. 12 # public again.
13 # 13 #
14 # See http://gcc.gnu.org/wiki/Visibility 14 # See http://gcc.gnu.org/wiki/Visibility
15 config("symbol_visibility_hidden") { 15 config("symbol_visibility_hidden") {
16 # Note that -fvisibility-inlines-hidden is set globally in the compiler 16 # Note that -fvisibility-inlines-hidden is set globally in the compiler
17 # config since that can almost always be applied. 17 # config since that can almost always be applied.
18 cflags = [ "-fvisibility=hidden" ] 18 cflags = [ "-fvisibility=hidden" ]
19 } 19 }
20 20
21 # Settings for executables and shared libraries. 21 # Settings for executables and shared libraries.
22 config("executable_ldconfig") { 22 config("executable_ldconfig") {
23 ldflags = [ 23 ldflags = [
24 # Want to pass "\$". GN will re-escape as required for ninja. 24 # Want to pass "\$". GN will re-escape as required for ninja.
25 "-Wl,-rpath=\$ORIGIN/lib/", 25 "-Wl,-rpath=\$ORIGIN/lib/",
26 26
27 "-Wl,-rpath-link=lib/", 27 "-Wl,-rpath-link=lib/",
28
29 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
30 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
31 "-Wl,--disable-new-dtags",
28 ] 32 ]
29 33
30 if (is_android) { 34 if (is_android) {
31 ldflags += [ 35 ldflags += [
32 "-Bdynamic", 36 "-Bdynamic",
33 "-Wl,-z,nocopyreloc", 37 "-Wl,-z,nocopyreloc",
34 ] 38 ]
35 } 39 }
36 } 40 }
37 41
38 config("no_exceptions") { 42 config("no_exceptions") {
39 cflags_cc = [ "-fno-exceptions" ] 43 cflags_cc = [ "-fno-exceptions" ]
40 } 44 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698