Alexandre Julliard : libport: Get rid of memcpy_unaligned().
Alexandre Julliard
julliard at winehq.org
Tue Mar 12 16:56:15 CDT 2019
Module: wine
Branch: master
Commit: 25e4cfbdb37d58743ece53e120cf258f1cd0ae46
URL: https://source.winehq.org/git/wine.git/?a=commit;h=25e4cfbdb37d58743ece53e120cf258f1cd0ae46
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Mar 12 19:30:33 2019 +0100
libport: Get rid of memcpy_unaligned().
The code that uses it is no longer built on non-i386.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/krnl386.exe16/ne_module.c | 2 +-
dlls/krnl386.exe16/resource.c | 7 +++----
include/wine/port.h | 10 ----------
libs/port/Makefile.in | 1 -
libs/port/memcpy_unaligned.c | 29 -----------------------------
5 files changed, 4 insertions(+), 45 deletions(-)
diff --git a/dlls/krnl386.exe16/ne_module.c b/dlls/krnl386.exe16/ne_module.c
index 14f8075..d494585 100644
--- a/dlls/krnl386.exe16/ne_module.c
+++ b/dlls/krnl386.exe16/ne_module.c
@@ -333,7 +333,7 @@ static void NE_InitResourceHandler( HMODULE16 hModule )
pTypeInfo = (NE_TYPEINFO *)((char *)pModule + pModule->ne_rsrctab + 2);
while(pTypeInfo->type_id)
{
- memcpy_unaligned( &pTypeInfo->resloader, &proc, sizeof(FARPROC16) );
+ pTypeInfo->resloader = proc;
pTypeInfo = (NE_TYPEINFO *)((char*)(pTypeInfo + 1) + pTypeInfo->count * sizeof(NE_NAMEINFO));
}
}
diff --git a/dlls/krnl386.exe16/resource.c b/dlls/krnl386.exe16/resource.c
index da54f6d..2f606fa 100644
--- a/dlls/krnl386.exe16/resource.c
+++ b/dlls/krnl386.exe16/resource.c
@@ -380,8 +380,8 @@ FARPROC16 WINAPI SetResourceHandler16( HMODULE16 hModule, LPCSTR typeId, FARPROC
{
if (!(pTypeInfo = NE_FindTypeSection( pResTab, pTypeInfo, typeId )))
break;
- memcpy_unaligned( &prevHandler, &pTypeInfo->resloader, sizeof(FARPROC16) );
- memcpy_unaligned( &pTypeInfo->resloader, &resourceHandler, sizeof(FARPROC16) );
+ prevHandler = pTypeInfo->resloader;
+ pTypeInfo->resloader = resourceHandler;
pTypeInfo = next_typeinfo(pTypeInfo);
}
if (!prevHandler) prevHandler = get_default_res_handler();
@@ -1031,8 +1031,7 @@ HGLOBAL16 WINAPI LoadResource16( HMODULE16 hModule, HRSRC16 hRsrc )
}
else
{
- FARPROC16 resloader;
- memcpy_unaligned( &resloader, &pTypeInfo->resloader, sizeof(FARPROC16) );
+ FARPROC16 resloader = pTypeInfo->resloader;
if (resloader && resloader != get_default_res_handler())
{
WORD args[3];
diff --git a/include/wine/port.h b/include/wine/port.h
index fb7251e..600d78d 100644
--- a/include/wine/port.h
+++ b/include/wine/port.h
@@ -368,15 +368,6 @@ int symlink(const char *from, const char *to);
int usleep (unsigned int useconds);
#endif /* !defined(HAVE_USLEEP) */
-#ifdef __i386__
-static inline void *memcpy_unaligned( void *dst, const void *src, size_t size )
-{
- return memcpy( dst, src, size );
-}
-#else
-extern void *memcpy_unaligned( void *dst, const void *src, size_t size );
-#endif /* __i386__ */
-
extern int mkstemps(char *template, int suffix_len);
/* Process creation flags */
@@ -532,7 +523,6 @@ extern __int64 interlocked_cmpxchg64( __int64 *dest, __int64 xchg, __int64 compa
#define interlocked_xchg_ptr __WINE_NOT_PORTABLE(interlocked_xchg_ptr)
#define interlocked_xchg_add __WINE_NOT_PORTABLE(interlocked_xchg_add)
#define lstat __WINE_NOT_PORTABLE(lstat)
-#define memcpy_unaligned __WINE_NOT_PORTABLE(memcpy_unaligned)
#undef memmove
#define memmove __WINE_NOT_PORTABLE(memmove)
#define pread __WINE_NOT_PORTABLE(pread)
diff --git a/libs/port/Makefile.in b/libs/port/Makefile.in
index 8d16741..239f20f 100644
--- a/libs/port/Makefile.in
+++ b/libs/port/Makefile.in
@@ -90,7 +90,6 @@ C_SRCS = \
isnan.c \
lstat.c \
mbtowc.c \
- memcpy_unaligned.c \
memmove.c \
mkstemps.c \
normalize.c \
diff --git a/libs/port/memcpy_unaligned.c b/libs/port/memcpy_unaligned.c
deleted file mode 100644
index 35fbacb..0000000
--- a/libs/port/memcpy_unaligned.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Unaligned memcpy wrapper to defeat gcc optimizations.
- *
- * Copyright 1996 Alexandre Julliard
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#include "config.h"
-#include "wine/port.h"
-
-#ifndef __i386__
-void *memcpy_unaligned( void *dst, const void *src, size_t size )
-{
- return memcpy( dst, src, size );
-}
-#endif
More information about the wine-cvs
mailing list