joerg (Joerg Sonnenberger)
User

Projects

User Details

User Since
Nov 23 2012, 10:16 AM (294 w, 5 d)

Recent Activity

Yesterday

joerg added inline comments to D49466: Initial implementation of -fmacro-prefix-mapand -ffile-prefix-map.
Wed, Jul 18, 1:44 PM
joerg requested changes to D49481: Haiku: Enable thread-local storage and disable PIE by default.

Both needs a test case :)

Wed, Jul 18, 8:27 AM
joerg added a comment to D49482: Haiku: add a test for haiku driver.

It seems to miss most of the interesting checks, i.e. crt files. Compare with any of the entries on netbsd.c for example.

Wed, Jul 18, 7:35 AM
joerg requested changes to D49480: Haiku: support for secondary arch.

This is absolutely not how the clang driver is supposed to work. No conditional compilation.

Wed, Jul 18, 7:34 AM

Tue, Jul 17

joerg committed rUNW337312: The semantics of DW_CFA_GNU_args_size have changed subtile over the.
The semantics of DW_CFA_GNU_args_size have changed subtile over the
Tue, Jul 17, 12:38 PM
joerg committed rL337312: The semantics of DW_CFA_GNU_args_size have changed subtile over the.
The semantics of DW_CFA_GNU_args_size have changed subtile over the
Tue, Jul 17, 12:06 PM
joerg closed D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.
Tue, Jul 17, 12:06 PM
joerg committed rC337277: Always use __mcount on NetBSD. Some platforms don't provide _mcount..
Always use __mcount on NetBSD. Some platforms don't provide _mcount.
Tue, Jul 17, 6:19 AM
joerg committed rL337277: Always use __mcount on NetBSD. Some platforms don't provide _mcount..
Always use __mcount on NetBSD. Some platforms don't provide _mcount.
Tue, Jul 17, 6:18 AM
joerg committed rL337274: For NetBSD, unwind data is emitted by default, so also enable frame.
For NetBSD, unwind data is emitted by default, so also enable frame
Tue, Jul 17, 5:44 AM
joerg committed rC337274: For NetBSD, unwind data is emitted by default, so also enable frame.
For NetBSD, unwind data is emitted by default, so also enable frame
Tue, Jul 17, 5:44 AM
joerg committed rL337271: By popular demand, switch in64_t on NetBSD/AArch64 and NetBSD/PowerPC64.
By popular demand, switch in64_t on NetBSD/AArch64 and NetBSD/PowerPC64
Tue, Jul 17, 5:38 AM
joerg committed rC337271: By popular demand, switch in64_t on NetBSD/AArch64 and NetBSD/PowerPC64.
By popular demand, switch in64_t on NetBSD/AArch64 and NetBSD/PowerPC64
Tue, Jul 17, 5:38 AM
joerg committed rL337269: Don't assert that a size_t fits into 64bit..
Don't assert that a size_t fits into 64bit.
Tue, Jul 17, 5:35 AM

Sun, Jul 15

joerg committed rL337139: Prune empty directory..
Prune empty directory.
Sun, Jul 15, 4:57 PM

Thu, Jul 12

joerg committed rC336947: Support linking static PIE binaries on NetBSD.
Support linking static PIE binaries on NetBSD
Thu, Jul 12, 2:26 PM
joerg committed rL336947: Support linking static PIE binaries on NetBSD.
Support linking static PIE binaries on NetBSD
Thu, Jul 12, 2:26 PM

Mon, Jul 9

joerg added a comment to D48915: [Sparc] Use the names .rem and .urem instead of __modsi3 and __umodsi3.

Looking further, at least on NetBSD libgcc seems to always include both the "normal" and the .rem/.urem routines. While we currently don't replace __umodsi3 and friends, that looks more like an oversight on our part.
I asked the Sparc folks and they can't remember any special reason for why .urem should be used. I.e. it follows the normal Sparc ABI.
As such, I'm mostly ambivalent on this change and the rest of the block.

Mon, Jul 9, 7:33 AM

Thu, Jul 5

joerg added a comment to D48915: [Sparc] Use the names .rem and .urem instead of __modsi3 and __umodsi3.

Not what I mean. Certain platforms like Sparc and SH link a copy of certain routines into every DSO. This is the so-called milli code. They sometimes use special calling conventions as well. That's different from the "normal" helper routines in libgcc, which are shared by all libraries.

Thu, Jul 5, 4:21 AM

Wed, Jul 4

joerg added a comment to D48915: [Sparc] Use the names .rem and .urem instead of __modsi3 and __umodsi3.

That would be the milli code version, wouldn't it?

Wed, Jul 4, 3:43 PM

Jun 18 2018

joerg added a comment to D48244: hfghgfhfgh.

Please update the summary / title

Jun 18 2018, 11:12 AM

Jun 5 2018

joerg updated the diff for D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.

After a careful review of newer GCC / libgcc and the assembler annotations from LLVM, I have come to the following conclusions:

Jun 5 2018, 3:12 PM
joerg commandeered D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.
Jun 5 2018, 3:03 PM

May 22 2018

joerg added a comment to D47138: [Sparc] Use the leon arch for Leon3's when using an external assembler.

This still needs a test case?

May 22 2018, 4:19 PM

May 9 2018

joerg added a comment to D46585: Align ClearShadowForThreadStackAndTLS for NetBSD/i386.

This looks sensible, but I don't know what PoisonShadow will do for the rest of the memory block.

May 9 2018, 6:32 AM · Restricted Project

May 8 2018

joerg added a comment to D46544: Set DF_TEXTREL only if text relocations are really needed..

"-z textrel" can also be used in build instructions if some platforms will need it, even if not all of them do.

May 8 2018, 3:12 PM

Apr 27 2018

joerg added a comment to D46082: [LowerTypeTests] Mark .cfi.jumptable nounwind..

Yes, if that option is enabled explicitly or implicitly in the frontend, the expectation is that all compiler-generated functions have uwtable as well.

Apr 27 2018, 12:58 PM
joerg added a comment to D46082: [LowerTypeTests] Mark .cfi.jumptable nounwind..

Given that .eh_frame sections can be used to create backtraces i.e. from signal handlers, this seems to be undesirable in the generality. Shouldn't this attribute be conditional on whether functions are normally supposed to have unwind data?

Apr 27 2018, 6:58 AM

Apr 24 2018

joerg added a comment to D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.

I'm back to the point where I can't reproduce the problem :( Can we start providing an actual failing test case? It's annoying to debug a problem when you can't reproduce it.

Apr 24 2018, 12:57 PM

Apr 23 2018

joerg added a comment to D41240: [Solaris] __float128 is supported on Solaris/x86.

Things are different for a libgcc-based toolchain and a compiler-rt based toolchain.

Apr 23 2018, 11:50 AM

Apr 6 2018

joerg added a comment to D45240: [ARM] Compute a target feature which corresponds to the ARM version..

Can you make sure that we handle the older ARM versions correctly as well, i.e. v4, v5 and v6? I take it we still have test cases for the arm <-> thumb transition? That's the one part of the triple logic that is really non-trivial.

Apr 6 2018, 5:26 AM

Mar 30 2018

joerg added a comment to D44494: [libunwind] Support __register_frame with a full .eh_frame section.

The "struct object" is an implementation detail of the unwind implementation. You are guaranteed historically to get at least 8 longs / 8 pointers for internal use statically allocated in each object. What is stored inside is up to the unwind implementation.

Mar 30 2018, 10:22 AM

Mar 28 2018

joerg added a comment to D44921: [PowerPC] Option for secure plt mode.

GCC supports -mbss-plt to get the legacy behavior. Not sure if anyone actually uses it though.

Mar 28 2018, 5:45 AM

Mar 27 2018

joerg added a comment to D44669: Use local symbols for creating .stack-size.

Given that some people like to post-process assembler files, using the section symbol directly is a bad idea. Adding the local symbols is fine.

Mar 27 2018, 12:34 PM

Mar 26 2018

joerg added a comment to D44774: [Driver] Allow use of -fsyntax-only together with -MJ.

Oh, we certainly should never be hitting an assertion on front-end flags. As such, there is a problem to fix here. I still maintain that the combination of flags is non-sense, so the question is:

Mar 26 2018, 7:36 AM

Mar 23 2018

joerg added a comment to D42112: [PowerPC] Secure PLT support.

It should be kept in mind that secure PLT is desirable for certain cases with non-position independent code as well. Even in static binaries it can be desirable... But that is for a follow-up patch.

Mar 23 2018, 12:54 PM
joerg added a comment to D44774: [Driver] Allow use of -fsyntax-only together with -MJ.

IMO we should explicitly error out. That combination is nonsense to me. Creating useless JSON database fragments is not an improvement.

Mar 23 2018, 12:39 PM

Mar 5 2018

joerg added a comment to D41813: [builtins] Enable CRT_HAS_128BIT for MSVC.

The difference is that modsi3 etc are all paired instructions. A backend should not be lowering to one of them if a real division instruction exists and it should be consistent in the lowering.

Mar 5 2018, 2:01 PM

Feb 21 2018

joerg added a comment to D42740: Implement a case-folding version of DJB hash.

ARM and x86 implement different chars, don't they?

Feb 21 2018, 12:16 PM

Feb 19 2018

joerg added a comment to D43146: [builtins] Fix c?zdi2 on sparc64/Linux and ignore riscv32.

We tried to keep the condition simple. I.e. does the compiler on any of those platforms ever use the libcall? If not, it is IMO not worth the complexity.

Feb 19 2018, 9:35 AM
joerg requested changes to D41813: [builtins] Enable CRT_HAS_128BIT for MSVC.
Feb 19 2018, 9:14 AM

Feb 12 2018

joerg added a comment to D43188: [ELF] Make .eh_frame relro if one of the inputs is SHF_WRITE.

Please stop adding complexity to doctor around the symptoms. There are two real fixes here and this change doesn't help with either:
(1) Emit cross-section pointers as indirect. This increases the binary size, but otherwise ensures that any linker can create read-only .eh_frame on MIPS.
(2) Teach lld on MIPS to properly reassemble the DWARF instructions, similar to what GNU ld can do. The latter is a bit stupid and needs a good kick to work properly, but this is the correct approach forward.

Feb 12 2018, 7:12 AM
joerg requested changes to D43185: [MIPS] Mark .eh_frame as writable for PIC output.

This is not acceptable. If anything, the encoding should be switched to indirect, but that should already be the case.

Feb 12 2018, 6:16 AM
joerg added a comment to D42593: GCC compatibility: Ignore -fstack-clash-protection.

I really don't like ignoring options that are supposed to provide actual functionality. Most of the other options are for pointless fine tuning and workarounds for broken gcc behavior in ancient versions.

Feb 12 2018, 5:13 AM

Feb 8 2018

joerg added inline comments to D42740: Implement a case-folding version of DJB hash.
Feb 8 2018, 10:47 AM
joerg added inline comments to D42740: Implement a case-folding version of DJB hash.
Feb 8 2018, 9:53 AM

Feb 5 2018

joerg added a comment to D42902: [compiler-rt] Workaround for endless recursion in ctzdi2.

I really, really dislike this patch. It is using very blunt force to workaround a GCC bug. The comment is too verbose as well. Please try the following change from NetBSD instead:

Feb 5 2018, 5:48 AM

Jan 19 2018

joerg accepted D42055: Fallback option for colorized output when terminfo isn't available.

Good enough for me.

Jan 19 2018, 2:36 AM

Jan 18 2018

joerg added a comment to D42055: Fallback option for colorized output when terminfo isn't available.

Do you see the comment just following the code? The patch completely violates that basic design principle. It would be perfectly sensible to hard-code a list of dumb terminals and explicitly default to no colors for them. The reverse (hard-coding a list and assuming it is fine for everything else) is not.

Jan 18 2018, 3:47 PM
joerg requested changes to D42055: Fallback option for colorized output when terminfo isn't available.

That's no excuse for making the situation even worse.

Jan 18 2018, 3:17 PM
joerg added a comment to D42055: Fallback option for colorized output when terminfo isn't available.

I completely disagree with this approach. A lot of GNU tools (including GCC) are completely broken. We shouldn't follow them. There are a lot more terminals around than just "dumb", "xterm" and "linux". It is completely non-acceptable to just assume ANSI escape sequences work. If Android doesn't ship a usable terminfo implementation, I consider that an Android bug. Wouldn't be the first portability nightmare with Android.

Jan 18 2018, 1:37 PM

Jan 11 2018

joerg added inline comments to D41957: Utility for checking out llvm, clang, and associated tools and configuring a build folder.
Jan 11 2018, 2:47 PM

Jan 7 2018

joerg added a comment to D41813: [builtins] Enable CRT_HAS_128BIT for MSVC.

This works in 32bit mode as well? I'm suprised.

Jan 7 2018, 11:51 PM

Dec 14 2017

joerg added a comment to D41054: Teach clang/NetBSD about additional dependencies for sanitizers.

I'm not really a fan of linking libutil into all binaries. Why is this code using forkpty in first place and not posix_openpt/grantpt?

Dec 14 2017, 12:21 PM · Restricted Project

Dec 5 2017

joerg added inline comments to D40159: Correct handling of the TLS/NetBSD block of the main program.
Dec 5 2017, 7:44 AM · Restricted Project

Dec 1 2017

joerg added a comment to D40697: Cache modulo values for the .gnu.hash section..

Instead of computing and storing the modulus directly, it is likely better to precompute the inverse and use that to improve the performance of the operation in first place. Consider using fast_remainder32 and associated functions.

Dec 1 2017, 7:34 AM

Nov 29 2017

joerg added a comment to D39016: Add Percent Symbol In PPC Registers for Linux.

So the next steps if you have the time would IMO be:

Nov 29 2017, 3:10 PM
joerg committed rL319381: First step towards more human-friendly PPC assembler output:.
First step towards more human-friendly PPC assembler output:
Nov 29 2017, 3:06 PM
joerg closed D39016: Add Percent Symbol In PPC Registers for Linux by committing rL319381: First step towards more human-friendly PPC assembler output:.
Nov 29 2017, 3:06 PM

Nov 21 2017

joerg updated the diff for D39016: Add Percent Symbol In PPC Registers for Linux.

Split into verbose conditional register names into a separate function. We likely want to remove them going forward as they are a specific feature of the Darwin assembler and not wildly supported.

Nov 21 2017, 2:13 PM
joerg commandeered D39016: Add Percent Symbol In PPC Registers for Linux.
Nov 21 2017, 2:10 PM

Nov 19 2017

joerg added a comment to D40159: Correct handling of the TLS/NetBSD block of the main program.

The public interface for obtaining the TLS storage is the combination of reading the DTV vector of a thread in combination with dl_iterate_phdr to find the size of the TLS block of a specific module. That gives you all that you need to know. It is important to keep in mind that the vector can be initialized lazily, so __tls_get_addr and friends will have to be intercepted to update the global view.

Nov 19 2017, 7:51 AM · Restricted Project

Nov 17 2017

joerg added inline comments to D40159: Correct handling of the TLS/NetBSD block of the main program.
Nov 17 2017, 7:10 AM · Restricted Project

Nov 16 2017

joerg added inline comments to D40105: Implement GetTls() for NetBSD.
Nov 16 2017, 2:24 PM · Restricted Project

Nov 13 2017

joerg added a comment to D39464: Define fs::allocate_file which preallocates disk blocks..

I really dislike this direction. fallocate can double the amount of disk IO and increase cache trashing, especially when linking large programs with debug information. Keeping more things in memory doesn't sound like an actual improvement either. If the goal is really only to improve the diagnostics in tools, I think a better idea would be to figure out a good way to handle this from a SIGBUS handler based on the passed in siginfo_t.

Nov 13 2017, 3:37 PM

Nov 7 2017

joerg added a comment to D39619: Correct atexit(3) support in TSan/NetBSD.

No need for a custom container, just allocate the vector dynamically and free it when it becomes empty.

Nov 7 2017, 4:14 AM · Restricted Project

Nov 6 2017

joerg added a comment to D39619: Correct atexit(3) support in TSan/NetBSD.

No, __cxa_atexit will always reference the DSO handle. That exists even in the main executable.

Nov 6 2017, 5:36 AM · Restricted Project

Nov 3 2017

joerg added a comment to D39619: Correct atexit(3) support in TSan/NetBSD.

Is there any reason why keeping at_exit and __cxa_atexit handling merged? They are pretty much disjunct code paths, especially since the at_exit stack means that the real at_exit can be used.

Nov 3 2017, 4:01 PM · Restricted Project

Oct 27 2017

joerg added inline comments to D39016: Add Percent Symbol In PPC Registers for Linux.
Oct 27 2017, 2:36 PM
joerg added inline comments to D39016: Add Percent Symbol In PPC Registers for Linux.
Oct 27 2017, 9:15 AM
joerg added inline comments to D35509: Covnert .[cd]tors to .{init,fini}_array using synthetic section..
Oct 27 2017, 2:13 AM

Oct 24 2017

joerg added a comment to D39079: New clang option -fno-plt to avoid PLT for external calls.
In D39079#905468, @rnk wrote:

It also increases the pressure on the branch predictor, so it is not really black and white.

I don't understand this objection. I'm assuming that the PLT stub is an indirect jump through the PLTGOT,
not a hotpatched stub that jumps directly to the definition chosen by the loader. This is the ELF model
that I'm familiar with, especially since calls to code more than 2GB away generally need to be indirect anyway.

Oct 24 2017, 11:31 AM
joerg added a comment to D39079: New clang option -fno-plt to avoid PLT for external calls.
In D39079#905396, @rnk wrote:

Why again is this a good idea?

It saves the direct jump to the PLT, reducing icache pressure, which is a major cost in some workloads.

Oct 24 2017, 10:46 AM
joerg added a comment to D39079: New clang option -fno-plt to avoid PLT for external calls.

Let me phrase it differently. What is this patch (and the matching backend PR) supposed to achieve? There are effectively two ways to get rid of PLT entries:
(1) Bind references locally. This is effectively what -Bsymbolic does and what is breaking the ELF interposition rules.
(2) Do an indirect call via the GOT. Requires knowing what an external symbol is, making it non-attractive for anything but LTO, since it will create performance issues for all non-local accesses (i.e. anything private).

Oct 24 2017, 10:25 AM
joerg added a comment to D39079: New clang option -fno-plt to avoid PLT for external calls.

Why again is this a good idea? This is an even worse hack than -Bsymbolic, the latter at least is visible in ELF header without code inspection. This is breaking core premises of ELF.

Oct 24 2017, 10:13 AM
joerg added a comment to D39016: Add Percent Symbol In PPC Registers for Linux.

Almost.

Oct 24 2017, 6:58 AM

Oct 23 2017

joerg added a comment to D39016: Add Percent Symbol In PPC Registers for Linux.

Because it is not possible to change the cl option by LLDB.

Oct 23 2017, 10:36 AM
joerg added a comment to D39016: Add Percent Symbol In PPC Registers for Linux.

This is even worse. You can't new[] and then free(). Please follow the suggestion on just embedding the prefix directly, if desirable.

Oct 23 2017, 8:52 AM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

Even a full static binary will have a PLT when IFUNC is used. As such, a linker has to deal with conversion between direct and PLT branches anyway.

Oct 23 2017, 6:46 AM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

A PLT is used not only by PIC code. It is required for all dynamic entry points and that's not limited to PIC. It's not even limited to dynamically linked binaries. There is no support for the embedded ABIs as I said before. I'm going to stop responding since it is rather pointless now. My objection stands.

Oct 23 2017, 4:50 AM

Oct 22 2017

joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

A working linker is certainly expected to use the most efficient binding. The assembler (and by extension the compiler) can't tell. This applies in both directions -- in your example, the linker might need to translate the direct call into a PLT call, depending on the target. It all goes back to "use a working linker". So yes, at this point in time the existance of two different relocations for call instructions can be clearly seen as a historic artifact. This doesn't change anything of what I have been saying since the beginning. The PowerPC ABIs are heavily biases towards position independent code and this is just adding complications for no good reason.

Oct 22 2017, 5:11 PM
joerg added a comment to D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.

I've looked at this in some detail now. I'm not exactly sure yet why it is broken. The patch seems quite wrong to me. DW_CFA_GNU_args_size should be applied only when unwinding a call instruction and that regard, the commit message of the original change is quite correct. What I am still trying to understand is how the precise unwind frame disagrees with the unwinder.

Oct 22 2017, 2:18 PM
joerg added a comment to D39162: [test] Fix clang-test for FreeBSD and NetBSD.

I think we should special case Darwin and Windows and fall-back to LD_LIBRARY_PATH for the rest. Can't remember if there is a UNIX-like platform left where it doesn't work.

Oct 22 2017, 1:56 PM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

There is no layer of indirection here. The call gets resolved to the local symbol by a working linker.

Oct 22 2017, 1:31 PM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

On the contrary, I find little reason for adding the complexity here. That's even ignoring the question of whether the suggested check even covers the relocation models correctly.

Oct 22 2017, 10:26 AM
joerg requested changes to D38554: Fixed ppc32 function relocations in non-pic mode.

The existing code works fine. What you have demonstrated so far is more an issue with lld and not a problem in the code. GNU ld is perfectly fine with translating the PLT references to direct calls. As such, I see no need for changes here.

Oct 22 2017, 9:06 AM

Oct 20 2017

joerg requested changes to D39016: Add Percent Symbol In PPC Registers for Linux.

The patch is not acceptable in the current form. This includes fixing the memory leaks.

Oct 20 2017, 5:53 AM
joerg added a comment to D37954: Try to shorten system header paths when using -MD depfiles.

This is not about any operating system, but basic consistent behavior. either do the canonicalisation or not. Doing it sometimes is just bogus. You've effectively implemented -fcanonical-system-headers=sometimes.

Oct 20 2017, 4:09 AM

Oct 19 2017

joerg added a comment to D37954: Try to shorten system header paths when using -MD depfiles.

The behavior of sometimes transforming the path and sometimes not is IMO completely unacceptable. I don't care if GCC created that bug first.

Oct 19 2017, 5:42 PM

Oct 12 2017

joerg added inline comments to D38861: [CodeGen] Error on unsupported checked multiplies early.
Oct 12 2017, 6:32 PM

Oct 4 2017

joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

In that case: the short version is that there is no EABI support at the moment. That patch changes the behavior for SYSV ABI, it is not acceptable as such. The test case doesn't reflect the ABI variance either.

Oct 4 2017, 3:32 PM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

Let's start with the obvious: I have no idea why you need this code at all. NetBSD builds a mix of static, PIC and PIE code using GNU ld without hitting any unsupported relocations. As I said before, the normal ABI on PowerPC is mostly PIC by default. I wonder if the root of your problem is that you want EABI and not the SYSV ABI.

Oct 4 2017, 2:26 PM
joerg added a comment to D38554: Fixed ppc32 function relocations in non-pic mode.

This doesn't look right to me at all. The normal SYSV ABI on PowerPC is effectively PIC, with a few edge cases. This really looks like a step backwards.

Oct 4 2017, 1:52 PM

Sep 28 2017

joerg committed rL314417: Merging r311921:.
Merging r311921:
Sep 28 2017, 7:15 AM

Sep 20 2017

joerg added a comment to D37954: Try to shorten system header paths when using -MD depfiles.

Well, the background for the use of the option in NetBSD is related to inducted differences in reproducable builds. From that perspective, it is even worth to sometimes shorten the dependency and sometimes not.

Sep 20 2017, 2:01 AM

Sep 17 2017

joerg added a comment to D37954: Try to shorten system header paths when using -MD depfiles.

ninja is not the only consumer of this. For human inspection, it can be quite surprising to see symlinks resolved, i.e. /usr/include/machine on NetBSD. Build systems have different ideas on whether they want absolute resolved paths or not, so it seems like ninja should be able to cope with either format. This is a lossy transformation, so I'm somewhat reluctant to agree with it.

Sep 17 2017, 4:17 PM
joerg added a comment to D37954: Try to shorten system header paths when using -MD depfiles.

The comments at the very least are misleading. Resolving the path doesn't necessary shorten the string at all, in many cases it will be longer. I'm really not sure if clang should resolve symlinks like this as it can be quite surprising.

Sep 17 2017, 2:47 PM

Sep 15 2017

joerg added a comment to D37302: [Headers] Define *_HAS_SUBNORM for FLT, DBL, LDBL.

So what about targets that don't support subnormals? I'm moderately sure ARM falls into this category given the right phase of the moon.

Sep 15 2017, 1:39 AM

Sep 13 2017

joerg added a comment to D37788: [ARM] builtins: Replace abort by assert in clear_cache..

I can't really comment on the Linux interface, but we generally ignore the system call error in NetBSD where one is necessary. While aborting might be legal, it seems to be the worst possible way of dealing with questionable arguments.

Sep 13 2017, 4:48 AM

Sep 12 2017

joerg added a comment to D34158: For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available .

This version is fine with me. The only contentious part is whether it should be opt-in or opt-out for platforms, so getting this version in and revisiting the issue again later is OK from my perspective.

Sep 12 2017, 12:24 PM