[cfe-dev] [llvm-dev] [Release-testers] 5.0.1-rc2 has been tagged

Andrew Kelley via cfe-dev cfe-dev at lists.llvm.org
Fri Dec 1 10:47:19 PST 2017


Zig tests using Debug build of 5.0.1rc2 hit this bug:
https://bugs.llvm.org/show_bug.cgi?id=34452
I suppose the fix has not been backported to 5.0.1.

So I created a Release build of 5.0.1rc2 and all zig tests pass, with the
following patches:

* Patches to LLD:

commit a206ef34bbbc46017e471063a4a1832c1ddafb0a
Author: Andrew Kelley <superjoe30 at gmail.com>
Date:   Fri Dec 1 12:11:55 2017 -0500

    LLD patch: Fix the ASM code generated for __stub_helpers section

    This applies 93ca847862af07632197dcf2d8a68b9b27a26d7a
    from the llvm-project git monorepo to the embedded LLD.

commit ddca67a2b94f68985789fc8254fd1326e26269f6
Author: Andrew Kelley <superjoe30 at gmail.com>
Date:   Fri Dec 1 12:09:55 2017 -0500

    LLD patch: workaround for buggy MACH-O code

    This reapplies 1a1414fc42c7beb25b6de4134d99884ea6544b57
    to the embedded LLD.
diff --git a/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
b/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
index d687ca5d..07958da4 100644
--- a/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
+++ b/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp
@@ -617,7 +617,6 @@ void ArchHandler_x86_64::applyFixupFinal(
     // Fall into llvm_unreachable().
     break;
   }
-  llvm_unreachable("invalid x86_64 Reference Kind");
 }

 void ArchHandler_x86_64::applyFixupRelocatable(const Reference &ref,


commit fa45407e78c7a20281bf063f659d74f86c127ea1
Author: Andrew Kelley <superjoe30 at gmail.com>
Date:   Fri Dec 1 12:08:16 2017 -0500

    LLD patch: Fix for LLD on linker scripts with empty sections

    This reapplies 569cf286ff79a10126b9f20f39fa8c64df9b8b25
    to the embedded LLD.
diff --git a/deps/lld/ELF/LinkerScript.cpp b/deps/lld/ELF/LinkerScript.cpp
index 8bdbd8db..614f5e2c 100644
--- a/deps/lld/ELF/LinkerScript.cpp
+++ b/deps/lld/ELF/LinkerScript.cpp
@@ -751,7 +751,7 @@ void LinkerScript::adjustSectionsAfterSorting() {
     if (auto *Cmd = dyn_cast<OutputSectionCommand>(Base)) {
       Cmd->MemRegion = findMemoryRegion(Cmd);
       // Handle align (e.g. ".foo : ALIGN(16) { ... }").
-      if (Cmd->AlignExpr)
+      if (Cmd->AlignExpr && Cmd->Sec)
         Cmd->Sec->updateAlignment(Cmd->AlignExpr().getValue());
     }
   }


commit 9ea23272fac7f4580d29f7ee557108883f127a5d
Author: Andrew Kelley <superjoe30 at gmail.com>
Date:   Fri Dec 1 12:06:33 2017 -0500

    LLD patch: COFF: better behavior when using as a library

    This applies de776439b61fb71c1256ad86238799c758c66048
    from the LLVM git monorepo to the embedded LLD.



* Patches to clang headers:

diff --git a/c_headers/stdarg.h b/c_headers/stdarg.h
index d603d353..101426ff 100644
--- a/c_headers/stdarg.h
+++ b/c_headers/stdarg.h
@@ -26,14 +26,10 @@
 #ifndef __STDARG_H
 #define __STDARG_H

-/* zig: added because macos _va_list.h was duplicately defining va_list
- */
 #ifndef _VA_LIST
-#ifndef _VA_LIST_T
 typedef __builtin_va_list va_list;
 #define _VA_LIST
 #endif
-#endif
 #define va_start(ap, param) __builtin_va_start(ap, param)
 #define va_end(ap)          __builtin_va_end(ap)
 #define va_arg(ap, type)    __builtin_va_arg(ap, type)
@@ -50,9 +46,6 @@ typedef __builtin_va_list va_list;
 #ifndef __GNUC_VA_LIST
 #define __GNUC_VA_LIST 1
 typedef __builtin_va_list __gnuc_va_list;
-/* zig: added because glibc stdio.h was duplicately defining va_list
- */
-#define _VA_LIST_DEFINED
 #endif

 #endif /* __STDARG_H */
diff --git a/c_headers/stddef.h b/c_headers/stddef.h
index 3b55d42c..73549967 100644
--- a/c_headers/stddef.h
+++ b/c_headers/stddef.h
@@ -48,13 +48,7 @@
 #if !__has_feature(modules)
 #define _PTRDIFF_T
 #endif
-
-/* Zig: wrap in _PTRDIFF_T_DEFINED to protect against mingw defining it
twice */
-#if !defined(_PTRDIFF_T_DEFINED)
 typedef __PTRDIFF_TYPE__ ptrdiff_t;
-#define _PTRDIFF_T_DEFINED
-#endif
-
 #endif
 #undef __need_ptrdiff_t
 #endif /* defined(__need_ptrdiff_t) */
@@ -65,24 +59,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
 #if !__has_feature(modules)
 #define _SIZE_T
 #endif
-
-/* Zig: added to avoid collisions with mingw */
-#if !defined(_SIZE_T_DEFINED_)
-#if !defined(_SIZE_T_DEFINED)
-#if !defined(_BSD_SIZE_T_DEFINED_)
-#if !defined(_SIZE_T_DECLARED)
 typedef __SIZE_TYPE__ size_t;
-#define _SIZE_T_DEFINED_
-#define _SIZE_T_DEFINED
-#define _BSD_SIZE_T_DEFINED_
-#define _SIZE_T_DECLARED
-#endif
-#endif
-#endif
-#endif
-
-
-
 #endif
 #undef __need_size_t
 #endif /*defined(__need_size_t) */
@@ -110,22 +87,7 @@ typedef __SIZE_TYPE__ rsize_t;
 #define _WCHAR_T_DEFINED
 #endif
 #endif
-
-/* zig added to prevent duplicate definition with mingw */
-#if !defined(__INT_WCHAR_T_H)
-#if !defined(_GCC_WCHAR_T)
-#if !defined(_WCHAR_T_DECLARED)
-#if !defined(_WCHAR_T_DEFINED)
-#define __INT_WCHAR_T_H
-#define _GCC_WCHAR_T
-#define _WCHAR_T_DECLARED
-#define _WCHAR_T_DEFINED
 typedef __WCHAR_TYPE__ wchar_t;
-#endif
-#endif
-#endif
-#endif
-
 #endif
 #endif
 #undef __need_wchar_t





On Fri, Dec 1, 2017 at 10:30 AM, Sylvestre Ledru via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On 30/11/2017 01:19, Tom Stellard via Release-testers wrote:
> > Hi,
> >
> > I've tagged the 5.0.1-rc2 release, go ahead and start testing and report
> > your results.
> Besides an intermittent issue with mips64el (not a recent regression),
> looks great!
> Thanks
> S
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20171201/6fe269ae/attachment.html>


More information about the cfe-dev mailing list