Damjan Jovanovic
e0138c4a6a
libwine: Fix a regression in the return value check for mmap() on FreeBSD.
...
This fixes a regression from my previous patch in commit
55ba364837
, which was
checking for mmap() returning NULL instead of MAP_FAILED.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49225
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 20:20:33 +02:00
Damjan Jovanovic
55ba364837
libwine: Add support for mmap at fixed start addresses on FreeBSD.
...
The way to implement MAP_TRYFIXED on FreeBSD is call mmap()
with MAP_FIXED | MAP_EXCL, which will allocate the mapping
from the exact starting address if possible, and if that fails,
call mmap() again without them. This gets PE DLLs loading at
their correct base addresses, and fixes a FreeBSD-specific
problem with Cygwin's fork() caused by cygwin1.dll loading at
different base addresses in the parent and child.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 20:50:05 +02:00
Alexandre Julliard
7eef40d444
libport: Get rid of interlocked functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 15:10:19 +02:00
Alexandre Julliard
98682cfd01
libwine: Make the various directory functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:36:15 +02:00
Alexandre Julliard
18273d5e71
libwine: Remove some no longer needed helper functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 11:51:24 +02:00
Chip Davis
d01b177bee
libwine: Add missing return (Clang).
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 12:32:31 +02:00
Alexandre Julliard
b87256cd1d
libwine: Make the dlopen() wrapper functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:20 +02:00
Alexandre Julliard
149e03c72a
configure: Add -ldl to default libs if necessary.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Alexandre Julliard
3b16f35413
libwine: Make the LDT functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:51:44 +02:00
Alexandre Julliard
a698750630
libwine: Avoid using wine_get/set_fs().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:47:33 +02:00
Alexandre Julliard
23cee79d72
libport: Move the composition tables back to libwine and stop updating them.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 13:49:05 +01:00
Alexandre Julliard
5b4bdb9fd3
libport: Move the codepage tables back to libwine and stop updating them.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 16:54:03 +01:00
Alexandre Julliard
831f58caa5
libport: Move the codepage table functions back to libwine and make them obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 16:54:02 +01:00
Alexandre Julliard
d81f96a8fc
libport: Move wine_cp_wcstombs implementation back to libwine and make it obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 16:54:02 +01:00
Alexandre Julliard
23a50fb0bd
libport: Move wine_cp_mbstowcs implementation back to libwine and make it obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 16:54:02 +01:00
Alexandre Julliard
fd86c85918
libport: Move the collation table back to libwine and stop updating it.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:47 +01:00
Alexandre Julliard
599166bd35
libport: Move the digitmap table back to libwine and stop updating it.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:40 +01:00
Alexandre Julliard
473914f6a5
libport: Move wine_utf8 functions back to libwine and make them obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:30 +01:00
Alexandre Julliard
f4b7260d29
libport: Move wine_cpsymbol functions back to libwine and make them obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:22 +01:00
Alexandre Julliard
5a1e897df7
libport: Move wine_compare_string implementation back to libwine and make it obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:14 +01:00
Alexandre Julliard
afd681ebd9
libport: Move wine_fold_string implementation back to libwine and make it obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 09:00:04 +01:00
Alexandre Julliard
c599ec1494
libwine: Make some loader functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:14:54 +01:00
Alexandre Julliard
c1dadbcfb1
libwine: Make the debug functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:14:54 +01:00
Alexandre Julliard
39138478fd
libwine: Make some functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:14:54 +01:00
Francois Gouget
896292a7fe
libwine: Like Linux, NetBSD has /proc/self/exe.
...
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:51:23 +02:00
Francois Gouget
728b6fc5e6
libwine: Fully dereference the /proc/self/exe symbolic link.
...
Linux will do it for us but not NetBSD. That is, if foo is an executable
that prints the path /proc/self/exe points to, on Linux one gets:
$ ./foo
/tmp/foo
$ ln -s foo bar
$ ln -s bar babar
$ /tmp/babar
/tmp/foo
But on NetBSD one gets instead:
$ ./foo
/tmp/./foo
$ ln -s foo bar
$ ln -s bar babar
$ /tmp/babar
/tmp/babar
Fully dereferencing /proc/self/exe is necessary to be able to run both
32 and 64 bit executables from the build tree.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-03 12:51:16 +02:00
Naveen Narayanan
624bcd314c
libwine: Only link libi386 with the libraries that need it.
...
In particular it does not make sense to link executables and dlls built
with MinGW with it.
Signed-off-by: Francois Gouget <fgouget@icodeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-02 20:45:20 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Alexandre Julliard
44dc9d7383
libwine: Remove some conditional code that was only needed for Windows.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 10:43:57 +02:00
Alexandre Julliard
f689c723a2
makefiles: Don't use libwine for Windows builds.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-04 10:43:57 +02:00
Alexandre Julliard
f438ff566d
ntdll: Remove no longer used debug functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:28:19 +02:00
Alexandre Julliard
cf8193df5b
include: Make wine_dbg_log() into an inline function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:27:50 +02:00
Alexandre Julliard
9911cfdeae
ntdll: Export __wine_dbg_get_channel_flags().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:27:50 +02:00
Alexandre Julliard
ddf1ff2f6a
include: Make wine_dbg_printf() into an inline function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:27:50 +02:00
Alexandre Julliard
f2e6f05fe3
include: Make wine_dbg_sprintf() into an inline function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:27:50 +02:00
Alexandre Julliard
9f75f71899
include: Make wine_dbgstr_an()/wine_dbgstr_wn() into inline functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 19:23:43 +02:00
Alexandre Julliard
c3398b7eab
libwine: Move string functions to libwine_port.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-01 12:45:23 +02:00
Alexandre Julliard
a02b23e418
Revert "libwine: Move string functions to libwine_port."
...
This reverts commit 47242d25f5
.
It breaks in modules that import msvcrt because it uses libc
functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-29 21:13:43 +01:00
Alexandre Julliard
47242d25f5
libwine: Move string functions to libwine_port.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 16:51:26 +01:00
Alexandre Julliard
84cd904334
libwine: Move collation table to libwine_port.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-24 10:34:46 +01:00
Alexandre Julliard
9de388258f
libwine: Move casemap tables to libwine_port.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-24 10:34:44 +01:00
Alexandre Julliard
a67dca1bc8
libwine: Move wctype tables to libwine_port.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-23 13:45:52 +01:00
Ken Thomases
abfa6784ab
libwine: On Mac, don't manually exclude the stack when reserving above the user space limit.
...
Since we don't rely on trial and error, there's no advantage to this heuristic.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 19:03:59 +01:00
Ken Thomases
4a89dd1b4d
libwine: On Mac, use Mach APIs to enumerate address space holes instead of using trial and error.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 19:03:57 +01:00
Ken Thomases
91d5d56748
libwine: On Mac, use a more capable Mach function to map memory and avoid calling mmap() in some cases.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-07 19:03:55 +01:00
Brendan McGrath
5d577ae9ea
libwine: get_sortkey to return consistent length with and without dstlen.
...
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-05 20:42:41 +01:00
Huw Davies
e4a9e2ff2e
kernel32: Initial support for canonical decomposition in NormalizeString().
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Ken Thomases
ecd53057b5
libwine: On Mac, disable ASLR for Wine processes.
...
ASLR can allow dyld to be loaded where it overlaps one of the regions that the
preloader would like to reserve. That, in turn, can prevent Wine from using the
shared user data region. With ASLR disabled, dyld will be loaded immediately
after the preloader, which has a defined base address.
This uses an Apple extension to posix_spawn() that allows it to replace the
calling process's image, like a more featureful execve(). The flag to disable
ASLR is technically private SPI, but has remained stable for many versions of
the OS. And the Mac preloader is already stepping over that line.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 15:39:36 +01:00
Denil Verghese
86bab890dd
libwine: Fix missing semi-colon.
...
Signed-off-by: Denil Verghese <denilverghese@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-06 17:01:09 +01:00
Alexandre Julliard
05fa21e188
makefiles: Remove some unused variables.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-05 10:47:05 +01:00