[prev in list] [next in list] [prev in thread] [next in thread] 

List:       netbsd-tech-pkg
Subject:    two emulators/simh issues
From:       Chuck Cranor <chuck () ece ! cmu ! edu>
Date:       2019-01-01 17:44:20
Message-ID: 20190101174420.GH11337 () ece ! cmu ! edu
[Download RAW message or body]

hi-

    I'm currently testing on Darwin/OSX (mojave) with a new pkgsrc build.
Heree are two issues:

[1] the simulations build fails if you are logged in via ssh due to
    an "SDL" error:

cp BIN/microvax3900 BIN/vax
BIN/microvax3900 /usr/local/src/pkgsrc/emulators/simh/work/simh-0fe4bf3281a4d1f9fd10bba07cf0f7e40da92fc3/VAX/tests/microvax3900_test.ini
 _RegisterApplication(), FAILED TO establish the default connection to the \
WindowServer, _CGSDefaultConnection() is NULL. SDL Video subsystem can't initialize

    it works fine if you are building it while logged in directly on 
    the console rather via ssh.

    is there a way to tell SDL not to do this or just switch it off?



[2] on Darwin the default for simh is to compile with "-O0" but pkgsrc
    patch-makefile does the following to allow the environment
    to override this:

 else
   ifneq (,$(findstring clang,$(COMPILER_NAME))$(findstring LLVM,$(COMPILER_NAME)))
-    CFLAGS_O = -O0
+    CFLAGS_O ?= -O0
     ifeq (Darwin,$(OSTYPE))
       NO_LTO = 1
     endif


     this causes it to switch to "-O2" from pkgsrc which is almost ok, but
     but to get "-O2" to function it also requires the "-fno-strict-overflow" 
     (and pkgsrc doesn't set that).   

     The result is a build error when the microvax3900 fails to pass 
     the EHKAA test due to "-O2" without "-fno-strict-overflow":

clang -std=c99 -U__STRICT_ANSI__  -O2 -I/usr/local/pkg.1901/include \
-I/usr/local/pkg.1901/include/SDL2 -I/opt/X11/include/freetype2 -finline-functions \
-DSIM_GIT_COMMIT_ID=0fe4bf3281a4d1f9fd10bba07cf0f7e40da92fc3 \
-DSIM_GIT_COMMIT_TIME=2018-09-19T22:36:48-07:00 -DSIM_BUILD=Unsupported=include+lib  \
-DSIM_COMPILER="Apple LLVM version 10.0.0" -I . -D_GNU_SOURCE -DHAVE_PCREPOSIX_H \
-DHAVE_LIBPNG  VAX/vax_cpu.c VAX/vax_cpu1.c VAX/vax_fpa.c VAX/vax_io.c VAX/vax_cis.c \
VAX/vax_octa.c  VAX/vax_cmode.c VAX/vax_mmu.c VAX/vax_stddev.c VAX/vax_sysdev.c \
VAX/vax_sys.c  VAX/vax_syscm.c VAX/vax_syslist.c VAX/vax_vc.c VAX/vax_lk.c \
VAX/vax_vs.c VAX/vax_2681.c PDP11/pdp11_rl.c PDP11/pdp11_rq.c PDP11/pdp11_ts.c \
PDP11/pdp11_dz.c PDP11/pdp11_lp.c PDP11/pdp11_tq.c PDP11/pdp11_xq.c PDP11/pdp11_vh.c \
PDP11/pdp11_cr.c PDP11/pdp11_td.c PDP11/pdp11_io_lib.c scp.c sim_console.c sim_fio.c \
sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c sim_disk.c sim_serial.c \
sim_video.c sim_imd.c sim_card.c -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -DUSE_SIM_VIDEO -I \
VAX -I PDP11 -Islirp -Islirp_glue -Islirp_glue/qemu -DHAVE_SLIRP_NETWORK \
-DUSE_SIMH_SLIRP_DEBUG slirp/*.c slirp_glue/*.c -DUSE_NETWORK -DHAVE_LIBSDL \
-DUSE_SIM_VIDEO `/usr/local/pkg.1901/bin/sdl2-config --cflags` -DSDL_MAIN_AVAILABLE \
`/usr/local/pkg.1901/bin/sdl2-config --libs` -o BIN/microvax3900   \
-L/usr/local/pkg.1901/lib -L/usr/lib -L/opt/X11/lib -L/usr/X11/lib -lm -lpcreposix \
-lpcre -lpng   cp BIN/microvax3900 BIN/vax
BIN/microvax3900 /usr/local/src/pkgsrc/emulators/simh/work/simh-0fe4bf3281a4d1f9fd10bba07cf0f7e40da92fc3/VAX/tests/microvax3900_test.ini


MicroVAX 3900 simulator V4.0-0 Current        git commit id: 0fe4bf32        Build: \
Unsupported=include+lib

HALT instruction, PC: 8000279F (CMPL R8,R3)

MicroVAX 3900 Hardware Core Instruction test EHKAA - FAILED

gnumake: *** [BIN/microvax3900] Error 1



one way to resolve this problem is to put:

	CFLAGS.Darwin+= -fno-strict-overflow

in the pkgsrc Makefile.  if you do that, then the EHKAA test works fine
(at least on Darwin)...  but I wonder if there are other systems where
the patch-makefile is setting -O2 without "-fno-strict-overflow" where
it is needed?


chuck


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic