[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