2
0
Fridrich Strba 2013-03-28 06:55:51 +00:00 committed by Git OBS Bridge
parent b21d58fa52
commit 5658219531
5 changed files with 8 additions and 85 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

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:51c053ad99be4eec379e89a8c5b33dfe37fe4415ebcbb87babcefe79dff865b1
size 2535195

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 %{_mingw32_install_post} %define __os_install_post %{_mingw32_install_post}
Name: mingw32-runtime Name: mingw32-runtime
Version: 20120404 Version: 20130216
Release: 0 Release: 0
Summary: MinGW-W64 runtime for win32 Summary: MinGW-W64 runtime for win32
@ -15,9 +15,6 @@ Group: Development/Libraries
URL: http://mingw-w64.sourceforge.net/ URL: http://mingw-w64.sourceforge.net/
Source0: http://dl.sourceforge.net/sourceforge/mingw-w64/mingw-w64-runtime-%{version}.tar.bz2 Source0: http://dl.sourceforge.net/sourceforge/mingw-w64/mingw-w64-runtime-%{version}.tar.bz2
Source100: %{name}-rpmlintrc 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 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch BuildArch: noarch
@ -26,6 +23,7 @@ BuildArch: noarch
BuildRequires: mingw32-filesystem BuildRequires: mingw32-filesystem
BuildRequires: mingw32-cross-binutils BuildRequires: mingw32-cross-binutils
BuildRequires: mingw32-cross-gcc-bootstrap >= 4.4.0 BuildRequires: mingw32-cross-gcc-bootstrap >= 4.4.0
BuildRequires: mingw32-cross-cpp-bootstrap >= 4.4.0
BuildRequires: mingw32-headers >= %{version} BuildRequires: mingw32-headers >= %{version}
# Once this is installed, mingw32-bootstrap (binary bootstrapper) is no # Once this is installed, mingw32-bootstrap (binary bootstrapper) is no
@ -39,27 +37,21 @@ MinGW Win64 cross-compiler runtime, base libraries.
%prep %prep
%setup -q -n mingw-w64-runtime-%{version} %setup -q -n mingw-w64-runtime-%{version}
# %patch0 -p0
# %patch1 -p1
%build %build
./configure --host=%{_mingw32_target} --prefix=%{_prefix} --with-sysroot=%{_mingw32_sysroot} --enable-lib32 --disable-lib64 %{_mingw32_configure} --enable-lib32 --disable-lib64
make make
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
# The make install installs in %{_prefix}/%{_mingw32_target}/lib
# which is the wrong location. Move it to %{_mingw32_libdir}.
mkdir -p $RPM_BUILD_ROOT%{_mingw32_libdir}
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}
ln -s $RPM_BUILD_ROOT%{_mingw32_libdir} $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib
make DESTDIR=$RPM_BUILD_ROOT install make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib rm -f $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/lib
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/libsrc rm -rf $RPM_BUILD_ROOT%{_prefix}/%{_mingw32_target}/libsrc
rm -rf $RPM_BUILD_ROOT%{_mingw32_includedir}/*.c
%clean %clean
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT