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

Bruno Jesus 00cpxxx at
Sun Nov 29 20:46:05 CST 2015

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.

More information about the wine-devel mailing list