Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 920087 Details for
Bug 1122362
Add mingw64-llvm, implibs
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Patch for rawhide, f21
Add-mingw64-package-1122362.patch (text/plain), 7.74 KB, created by
Yaakov Selkowitz
on 2014-07-23 05:03:36 UTC
(
hide
)
Description:
Patch for rawhide, f21
Filename:
MIME Type:
Creator:
Yaakov Selkowitz
Created:
2014-07-23 05:03:36 UTC
Size:
7.74 KB
patch
obsolete
>From 67b1bd6484c5cd382ddeb23ad013cd9eacd65fca Mon Sep 17 00:00:00 2001 >From: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> >Date: Tue, 22 Jul 2014 23:58:02 -0500 >Subject: [PATCH] Add mingw64 package (#1122362) > >--- > llvm-3.0-mingw-implib.patch | 24 +++++++++++++++ > llvm-3.0-mingw-seh.patch | 11 +++++++ > llvm-3.0-mingw-shlib.patch | 24 +++++++++++++++ > mingw-llvm.spec | 72 ++++++++++++++++++++++++++++++++++++++++----- > 4 files changed, 124 insertions(+), 7 deletions(-) > create mode 100644 llvm-3.0-mingw-implib.patch > create mode 100644 llvm-3.0-mingw-seh.patch > create mode 100644 llvm-3.0-mingw-shlib.patch > >diff --git a/llvm-3.0-mingw-implib.patch b/llvm-3.0-mingw-implib.patch >new file mode 100644 >index 0000000..00a17ca >--- /dev/null >+++ b/llvm-3.0-mingw-implib.patch >@@ -0,0 +1,24 @@ >+--- a/Makefile.rules >++++ b/Makefile.rules >+@@ -1032,6 +1032,9 @@ endif >+ ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) >+ # LLVMLibsOptions is invalidated at processing tools/llvm-shlib. >+ SharedLinkOptions += $(NativeExportsFile) >++ifndef LOADABLE_MODULE >++SharedLinkOptions += -Wl,--out-implib,$(SharedLibDir)/lib$(LIBRARYNAME).dll.a >++endif >+ endif >+ >+ endif >+@@ -1175,6 +1178,11 @@ ifdef SHARED_ALIAS >+ $(DestSharedLib): $(LibName.SO) $(DestSharedLibDir) >+ $(Echo) Installing $(BuildMode) Shared Library $(DestSharedLib) >+ $(Verb) $(INSTALL) $(LibName.SO) $(DestSharedLib) >++ifndef LOADABLE_MODULE >++ifeq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW)) >++ $(Verb) $(INSTALL) $(SharedLibDir)/lib$(LIBRARYNAME).dll.a $(DESTDIR)$(PROJ_libdir) >++endif >++endif >+ >+ uninstall-local:: >+ $(Echo) Uninstalling $(BuildMode) Shared Library $(DestSharedLib) >diff --git a/llvm-3.0-mingw-seh.patch b/llvm-3.0-mingw-seh.patch >new file mode 100644 >index 0000000..7aef896 >--- /dev/null >+++ b/llvm-3.0-mingw-seh.patch >@@ -0,0 +1,11 @@ >+--- a/lib/ExecutionEngine/JIT/JIT.cpp >++++ b/lib/ExecutionEngine/JIT/JIT.cpp >+@@ -68,7 +68,7 @@ extern "C" void LLVMLinkInJIT() { >+ >+ // Determine whether we can register EH tables. >+ #if (defined(__GNUC__) && !defined(__ARM_EABI__) && \ >+- !defined(__USING_SJLJ_EXCEPTIONS__)) >++ !defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)) >+ #define HAVE_EHTABLE_SUPPORT 1 >+ #else >+ #define HAVE_EHTABLE_SUPPORT 0 >diff --git a/llvm-3.0-mingw-shlib.patch b/llvm-3.0-mingw-shlib.patch >new file mode 100644 >index 0000000..b776b6e >--- /dev/null >+++ b/llvm-3.0-mingw-shlib.patch >@@ -0,0 +1,24 @@ >+--- a/tools/llvm-shlib/Makefile >++++ b/tools/llvm-shlib/Makefile >+@@ -85,6 +85,10 @@ SHLIB_STUBS := $(addprefix $(ObjDir)/, $ >+ SHLIB_FRAGS := $(patsubst %.a.o, $(ObjDir)/%.syms.txt, $(LIBRARYNAME).a.o $(SHLIB_FRAG_NAMES)) >+ LLVMLibsOptions := $(SHLIB_STUBS) $(LLVMLibsOptions) >+ >++ifneq ($(ARCH), x86_64) >++ ASMPREFIX = _ >++endif >++ >+ $(LibName.SO): $(SHLIB_STUBS) >+ >+ %.syms.txt: %.a.o >+@@ -94,8 +98,8 @@ $(LibName.SO): $(SHLIB_STUBS) >+ $(ObjDir)/$(LIBRARYNAME).exports: $(SHLIB_FRAGS) $(ObjDir)/.dir >+ $(Echo) Generating exports for $(LIBRARYNAME) >+ $(Verb) ($(SED) -n \ >+- -e "s/^.* T _\([^.][^.]*\)$$/\1/p" \ >+- -e "s/^.* [BDR] _\([^.][^.]*\)$$/\1 DATA/p" \ >++ -e "s/^.* T $(ASMPREFIX)\([^.][^.]*\)$$/\1/p" \ >++ -e "s/^.* [BDR] $(ASMPREFIX)\([^.][^.]*\)$$/\1 DATA/p" \ >+ $(SHLIB_FRAGS) \ >+ | sort -u) > $@ >+ >diff --git a/mingw-llvm.spec b/mingw-llvm.spec >index 59b9f90..3d7f1dc 100644 >--- a/mingw-llvm.spec >+++ b/mingw-llvm.spec >@@ -1,17 +1,11 @@ > %{?mingw_package_header} >-%global mingw_build_win64 0 >-# As of 06-May-2012, LLVM 3.0 doesn't seem to build for win64. It gets >-# a lot of undefined symbols in the "Linking Release Shared Library >-# LLVM-3.0.dll" phase. I'll need help from upstream to deal with that, >-# so for now, only build for win32. >- > > #global prerel rcX > %global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}} > > Name: mingw-llvm > Version: 3.0 >-Release: 9%{?dist} >+Release: 10%{?dist} > Summary: MinGW LLVM (Low Level Virtual Machine) > > Group: Development/Libraries >@@ -27,6 +21,9 @@ Patch0: llvm-2.6-timestamp.patch > # commit r159103. > Patch1: mingw-llvm-3.0-strerror_s.patch > >+# JIT FTBFS with SEH; fixed upstream in latest version >+Patch2: llvm-3.0-mingw-seh.patch >+ > # Fedora MinGW-specific patch to undef environment variables > # set by mingw_configure macro. The env vars simplify making > # most packages build for MinGW. The LLVM build system is >@@ -40,6 +37,15 @@ Patch100: llvm-3.0-mingw-undef.patch > # *ALWAYS* use the configured PREFIX. > Patch101: llvm-3.0-mingw-config-dir.patch > >+# Fedora MinGW-specific patch to fix creation of the shared library >+# export table on x86_64 >+Patch102: llvm-3.0-mingw-shlib.patch >+ >+# Fedora MinGW-specific patch to create and install an import library >+# for LLVM-*.dll >+Patch103: llvm-3.0-mingw-implib.patch >+ >+ > BuildArch: noarch > > BuildRequires: mingw32-filesystem >= 95 >@@ -47,6 +53,11 @@ BuildRequires: mingw32-gcc-c++ > BuildRequires: mingw32-binutils > BuildRequires: mingw32-libffi > >+BuildRequires: mingw64-filesystem >= 95 >+BuildRequires: mingw64-gcc-c++ >+BuildRequires: mingw64-binutils >+BuildRequires: mingw64-libffi >+ > > %description > LLVM is a compiler infrastructure designed for compile-time, >@@ -71,6 +82,21 @@ Group: Development/Libraries > %description -n mingw32-llvm-static > MingGW static libraries for the LLVM compiler infrastructure. > >+%package -n mingw64-llvm >+Summary: %{summary} >+Group: Development/Libraries >+ >+%description -n mingw64-llvm >+MingGW shared libraries for the LLVM compiler infrastructure. >+ >+ >+%package -n mingw64-llvm-static >+Summary: %{summary} static libraries >+Group: Development/Libraries >+ >+%description -n mingw64-llvm-static >+MingGW static libraries for the LLVM compiler infrastructure. >+ > > %{?mingw_debug_package} > >@@ -81,8 +107,11 @@ rm -rf tools/clang > # llvm patches > %patch0 -p1 -b .timestamp > %patch1 -p1 -b .strerror_s >+%patch2 -p1 -b .mingw-seh > %patch100 -p1 -b .mingw-undef > %patch101 -p1 -b .mingw-config-dir >+%patch102 -p1 -b .mingw-shlib >+%patch103 -p1 -b .mingw-implib > > > %build >@@ -106,12 +135,15 @@ rm -rf tools/clang > > # Libraries shouldn't have execute permission! > chmod a-x %{buildroot}%{mingw32_libdir}/*.a >+chmod a-x %{buildroot}%{mingw64_libdir}/*.a > > # Move and rename the llvm-config script, because it runs on > # the build host, not on Windows. > mkdir -p %{buildroot}%{_bindir} > mv %{buildroot}%{mingw32_bindir}/llvm-config \ > %{buildroot}%{_bindir}/%{mingw32_host}-llvm-config >+mv %{buildroot}%{mingw64_bindir}/llvm-config \ >+ %{buildroot}%{_bindir}/%{mingw64_host}-llvm-config > > > %files -n mingw32-llvm >@@ -127,13 +159,39 @@ mv %{buildroot}%{mingw32_bindir}/llvm-config \ > %{mingw32_bindir}/LTO.dll > %{mingw32_includedir}/llvm/ > %{mingw32_includedir}/llvm-c/ >+%{mingw32_libdir}/libLLVM-3.0.dll.a > %{_bindir}/%{mingw32_host}-llvm-config > > %files -n mingw32-llvm-static >+%exclude %{mingw32_libdir}/libLLVM-3.0.dll.a > %{mingw32_libdir}/*.a > >+%files -n mingw64-llvm >+%doc CREDITS.TXT LICENSE.TXT README.txt >+%{mingw64_bindir}/bugpoint.exe >+%{mingw64_bindir}/llc.exe >+%{mingw64_bindir}/lli.exe >+%{mingw64_bindir}/llvm*.exe >+%{mingw64_bindir}/macho-dump.exe >+%{mingw64_bindir}/opt.exe >+%{mingw64_bindir}/LLVM-3.0.dll >+%{mingw64_bindir}/BugpointPasses.dll >+%{mingw64_bindir}/LTO.dll >+%{mingw64_includedir}/llvm/ >+%{mingw64_includedir}/llvm-c/ >+%{mingw64_libdir}/libLLVM-3.0.dll.a >+%{_bindir}/%{mingw64_host}-llvm-config >+ >+%files -n mingw64-llvm-static >+%exclude %{mingw64_libdir}/libLLVM-3.0.dll.a >+%{mingw64_libdir}/*.a >+ > > %changelog >+* Wed Jul 23 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 3.0-10 >+- Add mingw64 package (#1122362) >+- Add import libraries for the DLLs >+ > * Wed Jul 23 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 3.0-9 > - Do not strip during make install (#1106207) > >-- >1.9.3
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1122362
: 920087