Gentoo Archives: gentoo-commits

From: "Fabian Groffen (grobian)" <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-devel/binutils-apple/files: ld64-241.9-lto-noremarks.patch
Date: Wed, 04 Feb 2015 17:33:25
Message-Id: 20150204173320.3DDD6110CF@oystercatcher.gentoo.org
1 grobian 15/02/04 17:33:20
2
3 Added: ld64-241.9-lto-noremarks.patch
4 Log:
5 Add patch to silence when LTO is in use by Michael Weiser, bug #538604
6
7 (Portage version: 2.2.14-prefix/cvs/SunOS i386, signed Manifest commit with key 0x5F75F607C5C74E89)
8
9 Revision Changes Path
10 1.1 sys-devel/binutils-apple/files/ld64-241.9-lto-noremarks.patch
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/binutils-apple/files/ld64-241.9-lto-noremarks.patch?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/binutils-apple/files/ld64-241.9-lto-noremarks.patch?rev=1.1&content-type=text/plain
14
15 Index: ld64-241.9-lto-noremarks.patch
16 ===================================================================
17 Shut up ld64 by default when using LTO.
18
19 diff -ru ld64-241.9.orig/src/ld/Options.cpp ld64-241.9/src/ld/Options.cpp
20 --- ld64-241.9.orig/src/ld/Options.cpp 2015-02-02 22:14:29.000000000 +0100
21 +++ ld64-241.9/src/ld/Options.cpp 2015-02-02 22:15:41.000000000 +0100
22 @@ -183,6 +183,9 @@
23 fDebugInfoStripping(kDebugInfoMinimal), fTraceOutputFile(NULL),
24 fMacVersionMin(ld::macVersionUnset), fIOSVersionMin(ld::iOSVersionUnset),
25 fSaveTempFiles(false),
26 +#ifdef LTO
27 + fVerboseLTORemarks(false),
28 +#endif
29 #ifdef SUPPORT_SNAPSHOTS
30 fSnapshotRequested(false),
31 #endif
32 @@ -3138,6 +3141,11 @@
33 else if ( strcmp(arg, "-ignore_optimization_hints") == 0 ) {
34 fIgnoreOptimizationHints = true;
35 }
36 +#ifdef LTO
37 + else if ( strcmp(arg, "-verbose_lto_remarks") == 0 ) {
38 + fVerboseLTORemarks = true;
39 + }
40 +#endif
41 else if ( strcmp(arg, "-no_dtrace_dof") == 0 ) {
42 fGenerateDtraceDOF = false;
43 }
44 Only in ld64-241.9/src/ld: Options.cpp~
45 diff -ru ld64-241.9.orig/src/ld/Options.h ld64-241.9/src/ld/Options.h
46 --- ld64-241.9.orig/src/ld/Options.h 2015-02-02 22:14:29.000000000 +0100
47 +++ ld64-241.9/src/ld/Options.h 2015-02-02 22:16:36.000000000 +0100
48 @@ -381,6 +381,9 @@
49 bool forceWeakNonWildCard(const char* symbolName) const;
50 bool forceNotWeakNonWildcard(const char* symbolName) const;
51 bool forceCoalesce(const char* symbolName) const;
52 +#ifdef LTO
53 + bool verboseLTORemarks() const { return fVerboseLTORemarks; }
54 +#endif
55 #ifdef SUPPORT_SNAPSHOTS
56 Snapshot& snapshot() const { return fLinkSnapshot; }
57 #endif
58 @@ -681,6 +684,9 @@
59 std::vector<SymbolsMove> fSymbolsMovesCode;
60 std::vector<SymbolsMove> fSymbolsMovesZeroFill;
61 bool fSaveTempFiles;
62 +#ifdef LTO
63 + bool fVerboseLTORemarks;
64 +#endif
65 #ifdef SUPPORT_SNAPSHOTS
66 mutable Snapshot fLinkSnapshot;
67 bool fSnapshotRequested;
68 Only in ld64-241.9/src/ld: Options.h~
69 diff -ru ld64-241.9.orig/src/ld/Resolver.cpp ld64-241.9/src/ld/Resolver.cpp
70 --- ld64-241.9.orig/src/ld/Resolver.cpp 2015-02-02 22:14:29.000000000 +0100
71 +++ ld64-241.9/src/ld/Resolver.cpp 2015-02-02 22:17:16.000000000 +0100
72 @@ -1559,6 +1559,7 @@
73 optOpt.mcpu = _options.mcpuLTO();
74 optOpt.llvmOptions = &_options.llvmOptions();
75 optOpt.initialUndefines = &_options.initialUndefines();
76 + optOpt.verboseLTORemarks = _options.verboseLTORemarks();
77
78 std::vector<const ld::Atom*> newAtoms;
79 std::vector<const char*> additionalUndefines;
80 Only in ld64-241.9/src/ld: Resolver.cpp~
81 diff -ru ld64-241.9.orig/src/ld/parsers/lto_file.cpp ld64-241.9/src/ld/parsers/lto_file.cpp
82 --- ld64-241.9.orig/src/ld/parsers/lto_file.cpp 2015-02-02 22:14:29.000000000 +0100
83 +++ ld64-241.9/src/ld/parsers/lto_file.cpp 2015-02-02 22:18:27.000000000 +0100
84 @@ -489,13 +489,17 @@
85
86
87 #if LTO_API_VERSION >= 7
88 -void Parser::ltoDiagnosticHandler(lto_codegen_diagnostic_severity_t severity, const char* message, void*)
89 +void Parser::ltoDiagnosticHandler(lto_codegen_diagnostic_severity_t severity, const char* message, void* data)
90 {
91 switch ( severity ) {
92 #if LTO_API_VERSION >= 10
93 case LTO_DS_REMARK:
94 + {
95 + const OptimizeOptions* options = (const OptimizeOptions*)data;
96 + if (options->verboseLTORemarks)
97 fprintf(stderr, "ld: LTO remark: %s\n", message);
98 break;
99 + }
100 #endif
101 case LTO_DS_NOTE:
102 case LTO_DS_WARNING:
103 @@ -530,7 +533,7 @@
104 // create optimizer and add each Reader
105 lto_code_gen_t generator = ::lto_codegen_create();
106 #if LTO_API_VERSION >= 7
107 - lto_codegen_set_diagnostic_handler(generator, ltoDiagnosticHandler, NULL);
108 + lto_codegen_set_diagnostic_handler(generator, ltoDiagnosticHandler, (void*)&options);
109 #endif
110
111 // <rdar://problem/12379604> The order that files are merged must match command line order
112 Only in ld64-241.9/src/ld/parsers: lto_file.cpp~
113 diff -ru ld64-241.9.orig/src/ld/parsers/lto_file.h ld64-241.9/src/ld/parsers/lto_file.h
114 --- ld64-241.9.orig/src/ld/parsers/lto_file.h 2015-02-02 22:14:29.000000000 +0100
115 +++ ld64-241.9/src/ld/parsers/lto_file.h 2015-02-02 22:18:57.000000000 +0100
116 @@ -61,6 +61,7 @@
117 const char* mcpu;
118 const std::vector<const char*>* llvmOptions;
119 const std::vector<const char*>* initialUndefines;
120 + bool verboseLTORemarks;
121 };
122
123 extern bool optimize( const std::vector<const ld::Atom*>& allAtoms,