mstorsjo (Martin Storsjö)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 25 2016, 12:54 PM (72 w, 6 h)

Recent Activity

Today

mstorsjo added a comment to D41089: [COFF] Don't error out on undefined references to __enclave_config.
In D41089#951580, @ruiu wrote:

What does this symbol do in MSVC 2017?

Mon, Dec 11, 1:07 PM
mstorsjo added inline comments to D41052: [LLD] [MinGW] Don't pass -dynamicbase:no by default for arm/arm64.
Mon, Dec 11, 1:04 PM
mstorsjo created D41089: [COFF] Don't error out on undefined references to __enclave_config.
Mon, Dec 11, 12:54 PM
mstorsjo updated the diff for D41052: [LLD] [MinGW] Don't pass -dynamicbase:no by default for arm/arm64.

Updated to pass the flag through on these architectures.

Mon, Dec 11, 12:37 PM
mstorsjo added inline comments to D41052: [LLD] [MinGW] Don't pass -dynamicbase:no by default for arm/arm64.
Mon, Dec 11, 10:07 AM
mstorsjo added inline comments to D41051: [LLD] [COFF] Disallow -dynamicbase:no for arm and arm64.
Mon, Dec 11, 10:05 AM

Sat, Dec 9

mstorsjo created D41052: [LLD] [MinGW] Don't pass -dynamicbase:no by default for arm/arm64.
Sat, Dec 9, 1:52 PM
mstorsjo created D41051: [LLD] [COFF] Disallow -dynamicbase:no for arm and arm64.
Sat, Dec 9, 1:51 PM

Mon, Dec 4

mstorsjo added a comment to rL319643: [ARM] Allow using emulated tls on platforms other than ELF.

FWIW, the commit message here ended up misleading - native TLS does work on mingw-w64 as well (with clang+lld), after a minor tweak to the crt wrapping in mingw-w64.

Mon, Dec 4, 4:39 AM
mstorsjo committed rL319644: [AArch64] Allow using emulated tls on platforms other than ELF.
[AArch64] Allow using emulated tls on platforms other than ELF
Mon, Dec 4, 1:09 AM
mstorsjo closed D40770: [AArch64] Allow using emulated tls on platforms other than ELF by committing rL319644: [AArch64] Allow using emulated tls on platforms other than ELF.
Mon, Dec 4, 1:09 AM
mstorsjo committed rL319643: [ARM] Allow using emulated tls on platforms other than ELF.
[ARM] Allow using emulated tls on platforms other than ELF
Mon, Dec 4, 1:09 AM
mstorsjo closed D40769: [ARM] Allow using emulated tls on platforms other than ELF by committing rL319643: [ARM] Allow using emulated tls on platforms other than ELF.
Mon, Dec 4, 1:09 AM

Sat, Dec 2

mstorsjo created D40770: [AArch64] Allow using emulated tls on platforms other than ELF.
Sat, Dec 2, 1:31 PM
mstorsjo created D40769: [ARM] Allow using emulated tls on platforms other than ELF.
Sat, Dec 2, 1:29 PM

Wed, Nov 29

mstorsjo committed rL319300: Support building libunwind as a DLL.
Support building libunwind as a DLL
Wed, Nov 29, 12:21 AM
mstorsjo closed D40483: [libunwind] Support building libunwind as a DLL by committing rL319300: Support building libunwind as a DLL.
Wed, Nov 29, 12:21 AM
mstorsjo committed rL319299: [CMake] Use the variable from the right project in install-unwind.
[CMake] Use the variable from the right project in install-unwind
Wed, Nov 29, 12:21 AM

Tue, Nov 28

mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Tue, Nov 28, 10:58 PM
mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Tue, Nov 28, 10:52 PM
mstorsjo accepted D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Tue, Nov 28, 10:23 PM
mstorsjo added inline comments to D40483: [libunwind] Support building libunwind as a DLL.
Tue, Nov 28, 9:52 PM
mstorsjo committed rL319291: [COFF] Don't export symbols that have corresponding __imp_ symbols.
[COFF] Don't export symbols that have corresponding __imp_ symbols
Tue, Nov 28, 9:51 PM
mstorsjo closed D40553: [LLD] [COFF] Don't export symbols that have corresponding __imp_ symbols by committing rL319291: [COFF] Don't export symbols that have corresponding __imp_ symbols.
Tue, Nov 28, 9:51 PM
mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Tue, Nov 28, 9:16 PM
mstorsjo added inline comments to D40553: [LLD] [COFF] Don't export symbols that have corresponding __imp_ symbols.
Tue, Nov 28, 2:04 PM
mstorsjo created D40553: [LLD] [COFF] Don't export symbols that have corresponding __imp_ symbols.
Tue, Nov 28, 6:04 AM
mstorsjo committed rL319152: Fix shared library builds of lld, broken in SVN r319138.
Fix shared library builds of lld, broken in SVN r319138
Tue, Nov 28, 12:12 AM
mstorsjo committed rL319151: [COFF] Interpret a period as a separator for section suffix just like '$'.
[COFF] Interpret a period as a separator for section suffix just like '$'
Tue, Nov 28, 12:09 AM
mstorsjo closed D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$' by committing rL319151: [COFF] Interpret a period as a separator for section suffix just like '$'.
Tue, Nov 28, 12:09 AM
mstorsjo committed rL319150: [COFF] Implement constructor priorities.
[COFF] Implement constructor priorities
Tue, Nov 28, 12:07 AM
mstorsjo closed D40407: [COFF] Implement constructor priorities by committing rL319150: [COFF] Implement constructor priorities.
Tue, Nov 28, 12:07 AM

Mon, Nov 27

mstorsjo committed rL319145: [test] Fix a typo in a test comment. NFC..
[test] Fix a typo in a test comment. NFC.
Mon, Nov 27, 9:47 PM
mstorsjo added inline comments to D40407: [COFF] Implement constructor priorities.
Mon, Nov 27, 2:54 PM
mstorsjo updated the diff for D40407: [COFF] Implement constructor priorities.

Added zero padding for ELF as well, rewrote the zero padding in a more idiomatic way, applied Rui's style suggestion.

Mon, Nov 27, 2:36 PM
mstorsjo added inline comments to D40407: [COFF] Implement constructor priorities.
Mon, Nov 27, 2:29 PM
mstorsjo added inline comments to D40407: [COFF] Implement constructor priorities.
Mon, Nov 27, 2:02 PM
mstorsjo created D40483: [libunwind] Support building libunwind as a DLL.
Mon, Nov 27, 3:50 AM

Sun, Nov 26

mstorsjo updated the diff for D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.

Added a comment in the source to clarify that this is for MinGW.

Sun, Nov 26, 11:01 PM
mstorsjo updated the diff for D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.

I noticed that GCC actually does zero pad these, and GNU ld expects them zero padded, so this simplifies this patch quite significantly. The .ctors$zzz part is only used in the llvm/lld specific parts of mingw-w64, and can be replaced with .ctors.99999 or something similar once this goes in, to avoid the need for the special sorting of them.

Sun, Nov 26, 2:16 PM
mstorsjo updated the diff for D40407: [COFF] Implement constructor priorities.

I noticed that the .ctors.1234 numerical suffixes are zero padded by GCC when targeting MinGW, updated this patch accordingly and expanded the test to showcase it.

Sun, Nov 26, 2:13 PM

Fri, Nov 24

mstorsjo updated the diff for D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.

Added comments, removed redundant checking for periods (replaced with asserts), removed the redundant StringRef references.

Fri, Nov 24, 2:57 AM
mstorsjo added inline comments to D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.
Fri, Nov 24, 2:47 AM
mstorsjo added a comment to D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.
In D40408#934167, @ruiu wrote:

Ah, okay, this is the lld-side patch. I wonder if you can't just create .ctors$12345 instead of .ctors.12345 for COFF. Do you need this?

Fri, Nov 24, 1:43 AM
mstorsjo created D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'.
Fri, Nov 24, 12:56 AM
mstorsjo added a reviewer for D40407: [COFF] Implement constructor priorities: rnk.
Fri, Nov 24, 12:52 AM
mstorsjo created D40407: [COFF] Implement constructor priorities.
Fri, Nov 24, 12:52 AM

Thu, Nov 23

mstorsjo committed rL318902: Allow to set locale on Windows..
Allow to set locale on Windows.
Thu, Nov 23, 2:38 AM
mstorsjo closed D40181: [libcxx] Allow to set locale on Windows. by committing rL318902: Allow to set locale on Windows..
Thu, Nov 23, 2:38 AM

Wed, Nov 22

mstorsjo accepted D39673: Toolchain: Normalize dwarf, sjlj and seh eh.

Looks really good to me now! @rnk?

Wed, Nov 22, 12:29 PM
mstorsjo accepted D40181: [libcxx] Allow to set locale on Windows..

LGTM, thanks for updating it!

Wed, Nov 22, 11:51 AM

Tue, Nov 21

mstorsjo committed rL318810: Remove a broken win32 locale function redirection.
Remove a broken win32 locale function redirection
Tue, Nov 21, 2:41 PM
mstorsjo closed D40323: [libcxx] Remove a broken win32 locale function redirection by committing rL318810: Remove a broken win32 locale function redirection.
Tue, Nov 21, 2:41 PM
mstorsjo created D40323: [libcxx] Remove a broken win32 locale function redirection.
Tue, Nov 21, 2:20 PM
mstorsjo added a comment to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.

No objection from me about committing this now, although I have some minor comments (that possibly can be taken care of without reposting and re-reviewing). Still ok with @rnk?

Tue, Nov 21, 1:39 PM
mstorsjo accepted D40285: [MINGW] normalize WIN32 macros.

LGTM

Tue, Nov 21, 3:18 AM
mstorsjo accepted D40285: [MINGW] normalize WIN32 macros.

LGTM

Tue, Nov 21, 3:03 AM
mstorsjo added a comment to D40286: [ARM] Use SEH exception handling on MS.

Is SEH implemented for aarch64 because if not then I would prefer setting SEH here like we do for aarch64?

Tue, Nov 21, 2:07 AM
mstorsjo added a comment to D40286: [ARM] Use SEH exception handling on MS.

I remember @compnerd saying that the SEH/ARM was documented but not actually really implemented yet: https://reviews.llvm.org/D39532#914461

Tue, Nov 21, 1:15 AM
mstorsjo added a comment to D40285: [MINGW] normalize WIN32 macros.

The easy one is to get rid of WIN64 because gcc doesn't even do that for mingw.

Tue, Nov 21, 12:56 AM
mstorsjo added a comment to D40285: [MINGW] normalize WIN32 macros.

... so in general I wouldn't mind doing a change like this, but I'd like to make it consistent on ARM, i386 and x86_64 at the same time in that case, instead of just changing aarch64.

Tue, Nov 21, 12:41 AM
mstorsjo added a comment to D40285: [MINGW] normalize WIN32 macros.

WIN32 and WIN64 are not real definitions they are typically defined by the system headers, _WIN32 and _WIN64 are the compiler definitions.

Tue, Nov 21, 12:31 AM

Mon, Nov 20

mstorsjo added a comment to D40181: [libcxx] Allow to set locale on Windows..

In order to make this work with MinGW (more or less), I had to change the _LIBCPP_MSVCRT into _LIBCPP_MSVCRT_LIKE both in include/__locale and in include/__config (where _LIBCPP_LOCALE__L_EXTENSIONS is defined). Normal mingw that uses msvcrt.dll doesn't have per-thread locales so it won't really work in any case (but I think it does define some sort of dummy functions that at least will allow it to build). Nowadays, mingw can be built to target ucrtbase.dll as well though, and there it should be possible to make it work just like for MSVC although it might need some patches.

Mon, Nov 20, 2:08 PM
mstorsjo added a comment to D40181: [libcxx] Allow to set locale on Windows..

This LGTM. I would love if another party interested in Windows could review it though.

Mon, Nov 20, 12:13 PM
mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Mon, Nov 20, 12:10 AM
mstorsjo added a comment to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.

When doing that I noticed there is something really strange about the existing macro defines. I assume they should only be defined when exceptions is enabled.
This is by default in c++ mode of with -fexceptions in c mode.
I moved the defines within a check of exceptions being enabled to address that.

Mon, Nov 20, 12:02 AM

Sun, Nov 19

mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Sun, Nov 19, 4:16 AM

Fri, Nov 17

mstorsjo committed rL318591: [X86] Output cfi directives for saved XMM registers even if no GPRs are saved.
[X86] Output cfi directives for saved XMM registers even if no GPRs are saved
Fri, Nov 17, 10:24 PM
mstorsjo closed D40191: [X86] Output cfi directives for saved XMM registers even if no GPRs are saved by committing rL318591: [X86] Output cfi directives for saved XMM registers even if no GPRs are saved.
Fri, Nov 17, 10:23 PM
mstorsjo added a comment to D39949: [CMake][libcxxabi] Support merging archives when statically linking unwinder.

@mstorsjo that is the problem that the LLVM/runtimes directory solves. It supports building all the runtime libraries as a single build with one build-tree per target and the management of separate build trees is handled by the build system.

Fri, Nov 17, 1:38 PM
mstorsjo created D40191: [X86] Output cfi directives for saved XMM registers even if no GPRs are saved.
Fri, Nov 17, 12:46 PM
mstorsjo added a comment to D39949: [CMake][libcxxabi] Support merging archives when statically linking unwinder.

I presume that this only works as long as you build libunwind and libcxxabi together in a single build instead of building them standalone? (Or put another way; when building llvm+clang+lld on linux, for linux, intended to be used as cross compiler for windows - is there any way to build libunwind+libcxxabi+libcxx within the same source tree for i686,x86_64,arm,arm64 windows/mingw?)

Fri, Nov 17, 12:31 PM
mstorsjo added a comment to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.

D39533 was committed now, so before committing, make sure that the __ARM_DWARF_EH__ (that was added in that commit) only gets set while dwarf is enabled (which now is the default for mingw/arm but not msvc/arm).

Fri, Nov 17, 12:27 AM
mstorsjo committed rL318511: [MinGW] Define __ARM_DWARF_EH__ for MinGW/ARM.
[MinGW] Define __ARM_DWARF_EH__ for MinGW/ARM
Fri, Nov 17, 12:07 AM
mstorsjo closed D39533: [MinGW] Define __ARM_DWARF_EH__ on MinGW/ARM by committing rL318511: [MinGW] Define __ARM_DWARF_EH__ for MinGW/ARM.
Fri, Nov 17, 12:07 AM
mstorsjo committed rL318510: [ARM] Use dwarf exception handling on MinGW.
[ARM] Use dwarf exception handling on MinGW
Fri, Nov 17, 12:06 AM
mstorsjo closed D39532: [ARM] Use dwarf exception handling on MinGW by committing rL318510: [ARM] Use dwarf exception handling on MinGW.
Fri, Nov 17, 12:06 AM

Thu, Nov 16

mstorsjo committed rL318446: Remove a FIXME about truncated section names.
Remove a FIXME about truncated section names
Thu, Nov 16, 11:37 AM
mstorsjo closed D39918: [libunwind] Remove a FIXME about truncated section names by committing rL318446: Remove a FIXME about truncated section names.
Thu, Nov 16, 11:36 AM
mstorsjo added a comment to D39918: [libunwind] Remove a FIXME about truncated section names.

@rnk I guess this is ok now as D40025 is committed and done?

Thu, Nov 16, 7:28 AM
mstorsjo committed rL318391: [COFF] Don't write long section names for sections that will be mapped at….
[COFF] Don't write long section names for sections that will be mapped at…
Thu, Nov 16, 4:07 AM
mstorsjo closed D40025: [LLD] [COFF] Don't write long section names for sections that will be mapped at runtime by committing rL318391: [COFF] Don't write long section names for sections that will be mapped at….
Thu, Nov 16, 4:06 AM
mstorsjo added a comment to D40025: [LLD] [COFF] Don't write long section names for sections that will be mapped at runtime.

@ruiu Any comments on this version of the patch?

Thu, Nov 16, 3:50 AM

Wed, Nov 15

mstorsjo committed rL318384: [COFF] Improve the autoexport check for symbols from import libraries with -opt….
[COFF] Improve the autoexport check for symbols from import libraries with -opt…
Wed, Nov 15, 11:23 PM
mstorsjo closed D40014: [LLD] [COFF] Improve the autoexport check for symbols from import libraries with -opt:noref by committing rL318384: [COFF] Improve the autoexport check for symbols from import libraries with -opt….
Wed, Nov 15, 11:23 PM
mstorsjo committed rL318383: [docs] Mention that dwarf unwinding should be supported on arm64/windows.
[docs] Mention that dwarf unwinding should be supported on arm64/windows
Wed, Nov 15, 11:16 PM
mstorsjo closed D39632: [libunwind] [docs] Mention that dwarf unwinding should be supported on arm64/windows by committing rL318383: [docs] Mention that dwarf unwinding should be supported on arm64/windows.
Wed, Nov 15, 11:16 PM
mstorsjo added a comment to D40014: [LLD] [COFF] Improve the autoexport check for symbols from import libraries with -opt:noref.
In D40014#926966, @ruiu wrote:

Please add comments to describe new code.

Wed, Nov 15, 10:22 PM
mstorsjo added a comment to D40014: [LLD] [COFF] Improve the autoexport check for symbols from import libraries with -opt:noref.
In D40014#926637, @rnk wrote:

lgtm, definitely don't want to auto-export that imported data. The absolute symbol thing can be a follow-up change.

Wed, Nov 15, 2:29 PM
mstorsjo added inline comments to D39673: Toolchain: Normalize dwarf, sjlj and seh eh.
Wed, Nov 15, 10:44 AM
mstorsjo updated the diff for D40014: [LLD] [COFF] Improve the autoexport check for symbols from import libraries with -opt:noref.

Identified the actual root cause, improved the related code further by checking for specific types of Defined symbols, added a test.

Wed, Nov 15, 1:52 AM
mstorsjo updated the diff for D40025: [LLD] [COFF] Don't write long section names for sections that will be mapped at runtime.

Always truncate the names of sections that will be mapped at runtime, as suggested by @rnk.

Wed, Nov 15, 12:46 AM
mstorsjo committed rL318285: [MinGW] Ignore the --build-id, --pie-executable and --disable-auto-image-base….
[MinGW] Ignore the --build-id, --pie-executable and --disable-auto-image-base…
Wed, Nov 15, 12:21 AM
mstorsjo committed rL318284: [COFF] Always include the size of the string table size field.
[COFF] Always include the size of the string table size field
Wed, Nov 15, 12:21 AM
mstorsjo closed D40031: [LLD] [MinGW] Ignore the --build-id, --pie-executable and --disable-auto-image-base options by committing rL318285: [MinGW] Ignore the --build-id, --pie-executable and --disable-auto-image-base….
Wed, Nov 15, 12:21 AM
mstorsjo committed rL318283: [MinGW] Implement the --[no-]gc-sections and --icf options.
[MinGW] Implement the --[no-]gc-sections and --icf options
Wed, Nov 15, 12:21 AM
mstorsjo closed D39891: [LLD] [COFF] Always include the size of the string table size field by committing rL318284: [COFF] Always include the size of the string table size field.
Wed, Nov 15, 12:21 AM
mstorsjo committed rL318282: [MinGW] Implement support for the --image-base option.
[MinGW] Implement support for the --image-base option
Wed, Nov 15, 12:21 AM
mstorsjo closed D40019: [LLD] [MinGW] Implement the --[no-]gc-sections and --icf options by committing rL318283: [MinGW] Implement the --[no-]gc-sections and --icf options.
Wed, Nov 15, 12:21 AM
mstorsjo closed D40018: [LLD] [MinGW] Implement support for the --image-base option by committing rL318282: [MinGW] Implement support for the --image-base option.
Wed, Nov 15, 12:20 AM