Fridrich Strba 2013-03-28 07:03:54 +00:00 committed by Git OBS Bridge
parent ea5b1e151c
commit b850557e55
4 changed files with 8 additions and 83 deletions

View File

@ -1,51 +0,0 @@
diff --git a/crt/pseudo-reloc.c b/crt/pseudo-reloc.c
index 308ecda..9c582b0 100644
--- a/crt/pseudo-reloc.c
+++ b/crt/pseudo-reloc.c
@@ -252,15 +252,17 @@ restore_modified_sections (void)
static void
__write_memory (void *addr, const void *src, size_t len)
{
-#ifndef __MINGW64_VERSION_MAJOR
MEMORY_BASIC_INFORMATION b;
DWORD oldprot;
-#endif /* ! __MINGW64_VERSION_MAJOR */
+ int call_unprotect = 0;
if (!len)
return;
-#ifndef __MINGW64_VERSION_MAJOR
+#ifdef __MINGW64_VERSION_MAJOR
+ mark_section_writable ((LPVOID) addr);
+#endif
+
if (!VirtualQuery (addr, &b, sizeof(b)))
{
__report_error (" VirtualQuery failed for %d bytes at address %p",
@@ -269,19 +271,17 @@ __write_memory (void *addr, const void *src, size_t len)
/* Temporarily allow write access to read-only protected memory. */
if (b.Protect != PAGE_EXECUTE_READWRITE && b.Protect != PAGE_READWRITE)
- VirtualProtect (b.BaseAddress, b.RegionSize, PAGE_EXECUTE_READWRITE,
- &oldprot);
-#else /* ! __MINGW64_VERSION_MAJOR */
- mark_section_writable ((LPVOID) addr);
-#endif /* __MINGW64_VERSION_MAJOR */
+ {
+ call_unprotect = 1;
+ VirtualProtect (b.BaseAddress, b.RegionSize, PAGE_EXECUTE_READWRITE,
+ &oldprot);
+ }
/* write the data. */
memcpy (addr, src, len);
/* Restore original protection. */
-#ifndef __MINGW64_VERSION_MAJOR
- if (b.Protect != PAGE_EXECUTE_READWRITE && b.Protect != PAGE_READWRITE)
+ if (call_unprotect && b.Protect != PAGE_EXECUTE_READWRITE && b.Protect != PAGE_READWRITE)
VirtualProtect (b.BaseAddress, b.RegionSize, oldprot, &oldprot);
-#endif /* !__MINGW64_VERSION_MAJOR */
}
#define RP_VERSION_V1 0

View File

@ -1,18 +0,0 @@
--- /dev/null 2011-10-07 06:39:46.212000000 +0200
+++ lib32/vfw32.mri 2011-07-23 10:50:40.000000000 +0200
@@ -0,0 +1,6 @@
+CREATE lib32/libvfw32.a
+ADDLIB lib32/libmsvfw32.a
+ADDLIB lib32/libavicap32.a
+ADDLIB lib32/libavifil32.a
+SAVE
+END
--- /dev/null 2011-10-07 06:39:46.212000000 +0200
+++ lib64/vfw32.mri 2011-07-23 10:50:40.000000000 +0200
@@ -0,0 +1,6 @@
+CREATE lib64/libvfw32.a
+ADDLIB lib64/libmsvfw32.a
+ADDLIB lib64/libavicap32.a
+ADDLIB lib64/libavifil32.a
+SAVE
+END

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ba62654297acff99acc9e3b3d8fb1eb6d927a058e56b7cb0a5eb18a809c923e
size 1343521

View File

@ -6,7 +6,7 @@
%define __os_install_post %{_mingw64_install_post}
Name: mingw64-runtime
Version: 20120404
Version: 20130216
Release: 0
Summary: MinGW-W64 runtime for win32
@ -15,9 +15,6 @@ Group: Development/Libraries
URL: http://mingw-w64.sourceforge.net/
Source0: http://dl.sourceforge.net/sourceforge/mingw-w64/mingw-w64-runtime-%{version}.tar.bz2
Source100: %{name}-rpmlintrc
Patch0: mingw-w64-runtime-1.0.1-vfw32mri.patch
# PATCH-FIX-UPSTREAM mingw-w64-runtime-1.0.1-fix-startup-crash.patch - patch taken from trunk, can be dropped with next release
Patch1: mingw-w64-runtime-1.0.1-fix-startup-crash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
@ -39,27 +36,21 @@ MinGW Win64 cross-compiler runtime, base libraries.
%prep
%setup -q -n mingw-w64-runtime-%{version}
#%patch0 -p0
#%patch1 -p1
%build
./configure --host=%{_mingw64_target} --prefix=%{_prefix} --with-sysroot=%{_mingw64_sysroot} --disable-lib32 --enable-lib64
%{_mingw64_configure} --disable-lib32 --enable-lib64
make
%install
rm -rf $RPM_BUILD_ROOT
# The make install installs in %{_prefix}/%{_mingw64_target}/lib
# which is the wrong location. Move it to %{_mingw64_libdir}.
mkdir -p $RPM_BUILD_ROOT%{_mingw64_libdir}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_mingw64_target}
ln -s $RPM_BUILD_ROOT%{_mingw64_libdir} $RPM_BUILD_ROOT%{_prefix}/%{_mingw64_target}/lib
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_mingw64_target}/lib
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{_mingw64_target}/libsrc
rm -rf $RPM_BUILD_ROOT%{_mingw64_includedir}/*.c
%clean
rm -rf $RPM_BUILD_ROOT