On Sunday, April 15, 2018 at 12:41 PM, Holger Veit wrote: > Fast followup. Make the proposed fix: > > struct tm loc_tm, gmt_tm; > time_t temp; > > clock_gettime(CLOCK_REALTIME, &sim_deb_basetime); > temp= sim_deb_basetime.tv_sec; > > /* Adjust the relative timebase to reflect the localtime GMT offset */ > loc_tm = *localtime (&temp); > gmt_tm = *gmtime (&temp);
Fixed now, essentially like this. Thanks. - Mark > Von: Veit, Holger > Gesendet: Sonntag, 15. April 2018 21:35 > An: simh@trailing-edge.com > Betreff: MINGW warning with recent sim_console.c checkin > > Hi, > the recent debugging changes in sim_console.c trigger a warning in MINGW > build: > > C:\simh\simh-master\build_mingw.bat > lib paths are: C:/MinGW/lib > include paths are: C:/MinGW/include > using libpcreposix: c:/simh/windows-build/PCRE/lib/pcreposix.a > c:/simh/windows-build/PCRE/include/pcreposix.h > *** > *** all Simulators being built with: > *** - compiler optimizations and no debugging support. GCC Version: GCC- > 6.3.0-1). > *** - dynamic networking support using windows-build provided libpcap > components. > *** - Local LAN packet transports: PCAP NAT(SLiRP) > *** - video capabilities provided by libSDL2 (Simple Directmedia Layer). > *** > *** git commit id is afffe300ee64df6a1a5c88c6e0eb50fc8f442c31. > *** git commit time is 2018-04-13T13:42:30-07:00. > *** > *** No SDL ttf support available. BESM-6 video panel disabled. > *** > *** Info *** Install the development components of libSDL-ttf packaged by > your > *** Info *** operating system distribution and rebuild your simulator to > *** Info *** enable this extra functionality. > gcc -std=gnu99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload - > fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno- > strict-overflow -Wno-unused-result - > DSIM_GIT_COMMIT_ID=afffe300ee64df6a1a5c88c6e0eb50fc8f442c31 - > DSIM_GIT_COMMIT_TIME=2018-04-13T13:42:30-07:00 - > DSIM_GIT_COMMIT_TIME=2018-04-13T13:42:30-07:00 -DHAVE_NTDDDISK_H - > DSIM_COMPILER="GCC Version: GCC-6.3.0-1)" -I . -fms-extensions - > DUSE_READER_THREAD -DPTW32_STATIC_LIB -D_POSIX_C_SOURCE - > I../windows-build/pthreads/Pre-built.2/include -DSIM_ASYNCH_IO - > DHAVE_PCREPOSIX_H -DPCRE_STATIC -Ic:/simh/windows-build/PCRE/include > SAGE.new/sage_cpu.c SAGE.new/sage_sys.c SAGE.new/sage_stddev.c > SAGE.new/sage_cons.c SAGE.new/sage_fd.c SAGE.new/sage_lp.c > SAGE.new/m68k_cpu.c SAGE.new/m68k_mem.c SAGE.new/m68k_scp.c > SAGE.new/m68k_parse.tab.c SAGE.new/m68k_sys.c SAGE.new/chip_io.c > SAGE.new/i8251.c SAGE.new/i8253.c SAGE.new/i8255.c SAGE.new/i8259.c > SAGE.new/i8272.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 -DCPU68000 -DUSE_CHIPIO -DHAVE_INT64 - > DUSE_SIM_IMD -I SAGE.new -o BIN/sage.exe -lm -lwsock32 -lwinmm - > lpthreadGC2 -L..\windows-build\pthreads\Pre-built.2\lib -lpcreposix -lpcre - > L../windows-build/PCRE/lib/ > sim_console.c: In Funktion »sim_set_debon«: > sim_console.c:2246:26: Warnung: Übergabe des Arguments 1 von »localtime« > von inkompatiblem Zeigertyp [-Wincompatible-pointer-types] > loc_tm = *localtime (&sim_deb_basetime.tv_sec); > ^ > In file included from sim_timer.h:40:0, > from sim_defs.h:1036, > from sim_console.c:130: > c:\mingw\include\time.h:236:45: Anmerkung: »const time_t * {aka const long > int *}« erwartet, aber Argument hat Typ »__time64_t * {aka long long int *}« > _CRTIMP __cdecl __MINGW_NOTHROW struct tm *localtime (const time_t *); > ^~~~~~~~~ > sim_console.c:2247:23: Warnung: Übergabe des Arguments 1 von »gmtime« > von inkompatiblem Zeigertyp [-Wincompatible-pointer-types] > gmt_tm = *gmtime (&sim_deb_basetime.tv_sec); > ^ > In file included from sim_timer.h:40:0, > from sim_defs.h:1036, > from sim_console.c:130: > c:\mingw\include\time.h:235:45: Anmerkung: »const time_t * {aka const long > int *}« erwartet, aber Argument hat Typ »__time64_t * {aka long long int *}« > _CRTIMP __cdecl __MINGW_NOTHROW struct tm *gmtime (const time_t *); > ^~~~~~ > > ---------------- > The executable builds, but.... > The problem comes from some compatibility with Windows MSCRT > compatibility which defines struct timespec in <time.h> incompatibly as struct > timespec { > __time64_t tv_sec; > __int32 tv_nsec; > }; > > rather than > struct timespec { > time_t tv_sec; > time_t tv_nsec; > }; > > I wouldn't care about that if the pthreads library wouldn't also mess with > timespec, so it is likely something broken here even if the executable is > built. > My recommendation is to add (in sim_console.c:2243) time_t temp = > sim_deb_basetime.tv_sec; and rewrite both localtime/gmtime function calls to > use &temp instead. > > Regards > Holger > > -- > Sent by Exchange 2013 > Reply to holger.v...@iais.fraunhofer.de > > _______________________________________________ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh _______________________________________________ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh