[tbb-bugs] #28716 [Applications/Tor Browser]: Create a mingw-w64-clang project

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Feb 5 13:01:56 UTC 2019

#28716: Create a mingw-w64-clang project
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  task                                 |         Status:
                                                 |  needs_review
 Priority:  High                                 |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-rbm, TorBrowserTeam201902R,      |  Actual Points:
  GeorgKoppen201902                              |
Parent ID:  #28238                               |         Points:
 Reviewer:                                       |        Sponsor:

Comment (by cypherpunks):

 Replying to [comment:37 gk]:
 > Replying to [comment:36 cypherpunks]:
 > > Replying to [comment:35 gk]:
 > > > Replying to [comment:34 cypherpunks]:
 > > > > Replying to [comment:33 gk]:
 > [snip]
 Seems you're burying in it: llvm in mingw-w64-clang, mingw-w64 in
 mingw-w64-source, LLVM in llvm, mingw-w64-gcc in mingw-w64...
 > > > > > lld patch for optionally dealing with PE header timestamp issues
 (by zeroing them out similar to ld's -Wl,--no-insert-timestamp). I'll try
 to get that one upstreamed.
 > > > > Could you also try to get upstreamed that:
 > > > > {{{
 > > > > -  if (Args.getLastArgValue(OPT_m) != "thumb2pe" &&
 > > > > -    Args.getLastArgValue(OPT_m) != "arm64pe" &&
 > > > > -      Add("-dynamicbase:no");
 > > > > }}}
 > > > > because it's a shame in 2019.
 > > >
 > > > We make that explicit by passing on `-Wl,--dynamicbase`, which seems
 sufficient to me without extra work and discussion.
 > > From which try? And how many other flags are missing/improperly
 passed? Silently, without discussion, yeah.
 > What do you mean with "from which try"?
 Tries on Try.
 > See the patch that landed on esr60 and enabled that for mingw-w64/clang
 Yes, there is mentioning about that it's not an optional hardening.
 > I you feel we are missing flags compared to what we currently have and
 what we should have, please file tickets here in case they are not filed
 Filed more than a year ago. Unaddressed.
 > > > > > I played a bit with bumping the llvm revision to r351992 in
 order to get a proper `llvm-strip` and `llvm-objcopy` but run into a bunch
 of issues which made me pause for now (see:
 https://bugzilla.mozilla.org/show_bug.cgi?id=1471698 for context).
 > > > > Why not use 8.x branch as Mozilla?
 > > >
 > > > We do, but the idea was to have proper fixes for `llvm-strip` and
 `llvm-objcopy` included instead of the hacks/workarounds we and Mozilla
 have currently in place instead.
 > > No, you don't, but LLVM seems is not going to merge those fixes into
 8.x :( There is an idea to bump LLVM to rc2 (if you wish), but build
 `llvm-strip` and `llvm-objcopy` separately from trunk.
 > Yes, we *do* use the same revision as Mozilla on esr60: r348363.
 It's not Mozilla official. See
 https://bugzilla.mozilla.org/show_bug.cgi?id=1512921 for the reason.
 >  We could build those things separately but I am not convinced yet that
 this is worth the effort and the extra complication and potential
 So, building binutils now and in LLVM to create wrappers is fine for you,
 but building standalone llvm (not LLVM) to get those two utils is somewhat

Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28716#comment:38>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online

More information about the tbb-bugs mailing list