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

Issue 1890973005: Fix blacklist_test_dll_3 linking every time in GN Windows. (Closed)

Created:
4 years, 8 months ago by brettw
Modified:
4 years, 8 months ago
Reviewers:
Nico, brucedawson
CC:
chromium-reviews, caitkp+watch_chromium.org, Cait (Slow)
Base URL:
https://chromium.googlesource.com/chromium/src.git@blacklist_test
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix blacklist_test_dll_3 linking every time in GN Windows. This DLL would link every time you did a build because shared_libraries are declared to generate .lib files. But this shared library had no exports and no .def file which produced no .lib. The result was Ninja thought it was always out-of-date. The fix is to make the test DLLs loadable_modules which are not declared to produce a .lib file. This is also more semantically correct since one would never want to link directly to them. Clean up some of the .def file handling in the chrome_elf tests. GN now has built-in knowledge about these files. BUG=586970 Committed: https://crrev.com/c4afc4d5ba4e5202eec5486873aea0eb2b7ecac2 Cr-Commit-Position: refs/heads/master@{#387735}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -14 lines) Patch
M chrome_elf/BUILD.gn View 1 2 4 chunks +13 lines, -14 lines 0 comments Download

Messages

Total messages: 23 (9 generated)
brettw
4 years, 8 months ago (2016-04-15 18:22:57 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1890973005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1890973005/20001
4 years, 8 months ago (2016-04-15 18:23:26 UTC) #5
brucedawson
Definitely cleaner. Some questions - perhaps off-topic: Do you know why blacklist_test_dll_1.dll has a .def ...
4 years, 8 months ago (2016-04-15 18:51:30 UTC) #6
brucedawson
Maybe propagate some of the .gyp comments discussed in the bug to make the intentions ...
4 years, 8 months ago (2016-04-15 18:55:52 UTC) #7
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-15 19:03:26 UTC) #9
brettw
On 2016/04/15 18:51:30, brucedawson wrote: > Definitely cleaner. Some questions - perhaps off-topic: > > ...
4 years, 8 months ago (2016-04-15 21:59:40 UTC) #10
brettw
comment
4 years, 8 months ago (2016-04-15 22:03:07 UTC) #11
brettw
I wrote a new comment that's a bit more general above the target.
4 years, 8 months ago (2016-04-15 22:03:16 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1890973005/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1890973005/40001
4 years, 8 months ago (2016-04-15 22:03:48 UTC) #15
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 8 months ago (2016-04-15 22:48:56 UTC) #17
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/c4afc4d5ba4e5202eec5486873aea0eb2b7ecac2 Cr-Commit-Position: refs/heads/master@{#387735}
4 years, 8 months ago (2016-04-15 22:51:39 UTC) #19
Nico
Doesn't this make the test meaningless?
4 years, 8 months ago (2016-04-15 23:07:31 UTC) #21
brettw
On 2016/04/15 23:07:31, Nico wrote: > Doesn't this make the test meaningless? As far as ...
4 years, 8 months ago (2016-04-15 23:22:06 UTC) #22
robertshield
4 years, 8 months ago (2016-04-15 23:43:47 UTC) #23
Message was sent while issue was closed.
On 2016/04/15 23:22:06, brettw wrote:
> On 2016/04/15 23:07:31, Nico wrote:
> > Doesn't this make the test meaningless?
> 
> As far as I can tell, the only practical effect of this is that the .lib is no
> longer listed in the outputs in the ninja file. The DLLs are already listed as
> data deps so haven't been linked by GN. Changing to loadable_modules should
have
> no effect on the linking od the blacklist DLLs itself or of things that depend
> on it via data deps. If you can think of a way this is wrong, please let me
> know! (It's possible the existing structure was wrong.)

As long as an export-less dll is generated by this target, the test still should
work (and have meaning). The sandbox module load interception has some code
paths that branch depending on whether there's an export table, this test dll
exercises the cases when there isn't one.

Powered by Google App Engine
This is Rietveld 408576698