awson (Kyrill Briantsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 13 2014, 11:03 AM (230 w, 5 d)

Recent Activity

Sat, Oct 27

awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 7:00 AM
awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Polish.
Sat, Oct 27, 6:44 AM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 4:42 AM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 4:32 AM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 3:45 AM
awson added a comment to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

I think I'm mostly done with this.

Sat, Oct 27, 3:29 AM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 3:13 AM
awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Remove clutter. Use formatting primitives.
Sat, Oct 27, 3:04 AM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sat, Oct 27, 2:35 AM

Mon, Oct 22

awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Mon, Oct 22, 2:56 PM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Mon, Oct 22, 2:09 PM
awson added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Mon, Oct 22, 9:46 AM

Fri, Oct 19

awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Add flag to control the 'missed extra shared lib' warning
Fri, Oct 19, 8:02 AM

Tue, Oct 16

awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Improve Note.
Tue, Oct 16, 11:09 AM
awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Improve wording.
Tue, Oct 16, 10:48 AM
awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

Fix a bug in Note.

Tue, Oct 16, 9:22 AM
awson updated the diff for D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
  • Amend comments and add Note.
Tue, Oct 16, 9:06 AM

Oct 15 2018

awson updated the summary of D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 15 2018, 3:03 AM

Oct 8 2018

awson retitled D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed from Make an escape hatch to not crash early. to RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 8 2018, 4:04 AM

Oct 7 2018

awson updated the summary of D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 7 2018, 4:07 AM

Sep 22 2018

awson retitled D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed from Make an excape hatch to not crash early. to Make an escape hatch to not crash early..
Sep 22 2018, 4:38 AM
awson updated the summary of D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sep 22 2018, 1:37 AM
awson created D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Sep 22 2018, 1:36 AM

May 11 2017

awson added a comment to D3383: Implement split-sections support for windows..

Not quite so, updated binutils allow us to build 64-bit GHC (which is currently impossible because of template-haskell package being miscompiled).

May 11 2017, 4:04 AM

May 9 2017

awson added a comment to D3383: Implement split-sections support for windows..

The patch is accepted and applied to mainline binutils.
Now we should amend template-haskell.cabal with something like

if os(windows) && arch(x86_64)
    ghc-options: -opta-Wa,-mbig-obj -optl-Wl,--oformat -optl-Wl,pe-bigobj-x86-64
May 9 2017, 9:38 AM

May 8 2017

awson added a comment to D3383: Implement split-sections support for windows..

Well, I've solved the problem, but this requires a patch to ld to enable pe-bigobj-x86-64 output for ln -r. I'll make a binutils ticket with the patch.

May 8 2017, 5:29 AM
awson added a comment to D3383: Implement split-sections support for windows..

I've looked at the big-obj+prof problem and found that assembler is called with correct options but an extra phase is triggered, where ld -r is called to merge some auxiliary object files into the target object file.

May 8 2017, 3:10 AM

May 7 2017

awson added a comment to D3383: Implement split-sections support for windows..

I tried to build latest GHC with my corrections to this patch and I've found that things don't work because of some other, completely unrelated bug somewhere in GHC driver(?).

May 7 2017, 7:50 AM
awson added inline comments to D3383: Implement split-sections support for windows..
May 7 2017, 4:38 AM
awson added inline comments to D3383: Implement split-sections support for windows..
May 7 2017, 4:32 AM
awson added inline comments to D3383: Implement split-sections support for windows..
May 7 2017, 2:38 AM
awson added a comment to D3383: Implement split-sections support for windows..

I think the problem is in non-merged string literals sections.

May 7 2017, 2:28 AM

May 3 2017

awson added a comment to D3383: Implement split-sections support for windows..

And this also reminds me of another problem which I mentioned earlier too.

May 3 2017, 3:12 AM
awson added a comment to D3383: Implement split-sections support for windows..

I don't quite understand the purpose of the last -Wa,-mbig-obj addition.

May 3 2017, 2:44 AM

May 2 2017

awson added a comment to D3523: Big-obj support for the Windows runtime linker.
In D3523#100287, @Phyx wrote:

Fair enough, initially, I added -mbig-obj to every invocation of gcc from the driver. Which means
any object files coming out of GHC will be in the big-obj format. Perhaps this isn't needed.

May 2 2017, 4:13 AM
awson added a comment to D3523: Big-obj support for the Windows runtime linker.

Btw, I use GHC built with --split-sections and all my packages are built with --split-sections, and I use mbig-obj on a couple of packages (at least haskell-src-exts and GHC's template-haskell require this).

May 2 2017, 2:41 AM
awson added a comment to D3523: Big-obj support for the Windows runtime linker.
In D3523#100282, @Phyx wrote:

Yes, you said this before, and I don't see how. merging sections has no meaning as it doesn't change the object format. If I pass mbig-obj to the assembler, regardless of
the sections are merged or not the resulting object file uses the big-obj format. So I don't quite understand what you mean with "correct linker".

Unless you're saying linker scripts can also be used to change object formats.

Prelinked object files for GHCi are produced by ld linker, not an assembler.

May 2 2017, 2:28 AM
awson added a comment to D3523: Big-obj support for the Windows runtime linker.

But I think this use-case can happen pretty rarely, since when we create a library with GHC, we can *also* create a prelinked object file for GHCi, which should *not* have this problem.

May 2 2017, 2:26 AM
awson added a comment to D3523: Big-obj support for the Windows runtime linker.

With the correct linker used, prelinked GHCi object files *should* have all "sub"-sections merged into their "parent" sections, and we don't need anything from this.

May 2 2017, 2:21 AM

Mar 27 2017

awson added a comment to D3383: Implement split-sections support for windows..

old and new schemes are meant regarding your patches to GHC. Perhaps, it would be better to name them "gcc-elf-like" and "visualc-like".

Mar 27 2017, 6:28 AM
awson added a comment to D3383: Implement split-sections support for windows..

If you have only 5 section remained then you, perhaps, used the same linker script both for executables and GHCi prelinked object files which is wrong. You should use different scripts for them -- those with .x extension for executables and .xr for prelinked object files (I refer to the scripts I've posted on trac).

Mar 27 2017, 6:22 AM
awson added a comment to D3383: Implement split-sections support for windows..

Nope, big-obj has nothing to do with the size of GHCi object files. The problem is that bintuils is still broken here, since native section merging is implemented only for "normal executables", but not for linked "without relocations" prelinked object files used by GHCi.

Mar 27 2017, 5:34 AM

Jan 5 2017

awson added a comment to D2917: Generate DOS short names for paths in response files if available..

Your second premise is wrong. Many have short path generation switched off. Me is an example.

Jan 5 2017, 1:15 AM

Dec 14 2015

awson added a comment to D1505: Fix Windows builds after D1242.

The culprit is that -T replaces builtin script completely. When I merged i386pep.xr (this is a builtin for ld -r on windows, one can find it in /mingw64/x86_64-w64-mingw32/lib/ldscripts directory under msys2 distribution or by running ld -r --verbose) with merge_sections.ld (see here:

) all went OK, and now a COFF object file with merged sections is generated.

Dec 14 2015, 8:09 AM

Oct 24 2015

awson added a comment to D1362: rts/Linker.c: Split RTS symbols out into separate file.

To cure things one should add

Oct 24 2015, 3:00 PM
awson added a comment to D1362: rts/Linker.c: Split RTS symbols out into separate file.

This breaks Windows 64-bit (didn't try 32-bit) build immediately.

Oct 24 2015, 2:39 PM

Aug 21 2015

awson added a comment to D1158: Use a response file for linker command line arguments #10777.

In the context of example patch that conversion was perfectly safe because we put filepaths only into the response files.

Aug 21 2015, 3:18 AM
awson added a comment to D1158: Use a response file for linker command line arguments #10777.

GNU tools expect response files containing forward slashes in paths. Thus the corresponding conversion should be added (as is made in example patch, see normslash function there).

Aug 21 2015, 2:35 AM

Aug 5 2015

awson added a comment to D1123: Upgrade GCC to 5.2.0 for Windows x86 and x86_64.

COMDAT support (for which I reused existing weak symbols support) was absolutely necessary for gcc > 4.8. At least gcc 4.9.x didn't work without it. I didn't check gcc 5+ though.

Aug 5 2015, 8:08 AM

Jan 20 2015

awson added a comment to D530: llvmGen: move to LLVM 3.6 exclusively.

Could we hope TNTC refactoring using stock LLVM mechanism would automatically solve Trac #8974?

Jan 20 2015, 2:00 AM

Oct 27 2014

awson added a comment to D339: configure on Windows now downloads a mingw distribution on the fly if needed..

I propose slightly different patchset for rts/Linker.c here: https://ghc.haskell.org/trac/ghc/ticket/9218#comment:12.

Oct 27 2014, 3:54 AM