From 25e4cfbdb37d58743ece53e120cf258f1cd0ae46 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 12 Mar 2019 19:30:33 +0100 Subject: [PATCH] libport: Get rid of memcpy_unaligned(). The code that uses it is no longer built on non-i386. Signed-off-by: Alexandre Julliard --- 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(-) delete mode 100644 libs/port/memcpy_unaligned.c diff --git a/dlls/krnl386.exe16/ne_module.c b/dlls/krnl386.exe16/ne_module.c index 14f80751666..d494585203b 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 da54f6dd540..2f606fabe74 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 fb7251edd6c..600d78d9b4e 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 8d167415341..239f20fbdeb 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 35fbacbcd64..00000000000 --- 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