Make a 16-bit test in wine for krnl386.exe16

Austin English austinenglish at
Sun Nov 29 20:47:38 CST 2015

On Sun, Nov 29, 2015 at 8:46 PM, Bruno Jesus <00cpxxx at> wrote:
> On Mon, Nov 30, 2015 at 2:09 AM, André Hentschel <nerv at> wrote:
>> Am 29.11.2015 um 18:30 schrieb Bruno Jesus:
>>> Hi all, I'm trying to create tests for GetPrivateProfileString16 but
>>> it is not working as expected because the test is calling the kernel32
>>> version of the function instead of the krnl386.exe16.
>>> Is there any way to make a test that compiles and runs against krnl386
>>> instead of kernel32?
>>> I tried a few different things and the attached patch is the last
>>> attempt (the tests are wrong but that is not the point yet).
>> Hi Bruno,
>> winegcc links to kernel32 by default, try adding -m16 or -nodefaultlibs somewhere (see winegcc code)
> Hi, I'm compiling a standard wine test so gcc is being used and it does
> not recognize -m16. I then tried to change the Makefile compiler to
> winegcc and I get:
> winegcc -c -o profile.o
> ../../../../wine/dlls/krnl386.exe16/tests/profile.c -I. \
>   -I../../../../wine/dlls/krnl386.exe16/tests -I../../../include
> -I../../../../wine/include \
>   -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing
> -Wdeclaration-after-statement \
>   -Wempty-body -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits
> -Wunused-but-set-parameter \
>   -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 -gstrict-dwarf \
>   -fno-omit-frame-pointer -g -O0 -m16 -nodefaultlibs
> gcc: error: unrecognized command line option ‘-m16’
> So in the end winegcc is calling gcc.

What about -nodefaultlibs?


More information about the wine-devel mailing list