Fix issues observed by Sun C compiler

This commit is contained in:
Mark Pizzolato 2013-03-18 12:52:43 -07:00
parent 1e515d8357
commit 960c5b5873
10 changed files with 43 additions and 20 deletions

View file

@ -274,6 +274,7 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Solaris, other *nix:
Older versions of libpcap can be found, for various systems, at: Older versions of libpcap can be found, for various systems, at:
Linux : search for your variant on http://rpmfind.net Linux : search for your variant on http://rpmfind.net
OS/X : Apple Developer's site? OS/X : Apple Developer's site?
HP-UX : ftp://hpux.connect.org.uk/hpux/Networking/Admin/
NOTE: The repositories for older versions of these platforms NOTE: The repositories for older versions of these platforms
don't contain a version of libpcap greater than 0.8.1. don't contain a version of libpcap greater than 0.8.1.
@ -300,7 +301,9 @@ Building on Linux, {Free|Net|Open}BSD, OS/X, Solaris, other *nix:
dynamically load the libpcap library. This means that the same simulator dynamically load the libpcap library. This means that the same simulator
binaries will run on any system whether or not libpcap is installed. If binaries will run on any system whether or not libpcap is installed. If
you want to force direct libpcap linking during a build you do so by you want to force direct libpcap linking during a build you do so by
typing 'make USE_NETWORK=1' typing 'make USE_NETWORK=1'. You must build with gcc to do this. There
is no observable benefit to statically linking against libpcap and as
such support for this ia deprecated.
4. Build it! 4. Build it!

View file

@ -338,7 +338,7 @@ MTAB com_mod[] = {
NULL, &com_show_ctrl, 0 }, NULL, &com_show_ctrl, 0 },
{ MTAB_XTD | MTAB_VDV | MTAB_NMO, COMR_OQ, "OUTQ", NULL, { MTAB_XTD | MTAB_VDV | MTAB_NMO, COMR_OQ, "OUTQ", NULL,
NULL, &com_show_ctrl, 0 }, NULL, &com_show_ctrl, 0 },
{ MTAB_XTD | MTAB_VDV | MTAB_NMO, -1, "ALL", NULL, { MTAB_XTD | MTAB_VDV | MTAB_NMO, 0xFFFFFFFF, "ALL", NULL,
NULL, &com_show_ctrl, 0 }, NULL, &com_show_ctrl, 0 },
{ 0 } { 0 }
}; };

View file

@ -63,17 +63,17 @@
0x0080, 0x0aa0, 0x0140, 0x00c8, 0x0080, 0x0aa0, 0x0140, 0x00c8,
0x0081, 0x0aa0, 0x0140, 0x00c9, 0x0081, 0x0aa0, 0x0140, 0x00c9,
0x0082, 0x0be2, 0x0140, 0x00ca, 0x0082, 0x0be2, 0x0140, 0x00ca,
0x0083, 0x08b6, 0x01e8, 0x00cb, 0x0083, 0x08b6, 0x01e8, 0x00cb,
0x0084, 0x0aa0, 0x0140, 0x00cd, 0x0084, 0x0aa0, 0x0140, 0x00cd,
0x008c, 0x0000, 0x0134, 0x80ceU, 0x008c, 0x0000, 0x0134, (int16)0x80ce,
0x008d, 0x0000, 0x0113, 0x00cf, 0x008d, 0x0000, 0x0113, 0x00cf,
0x008e, 0x0000, 0x011f, 0x00d0, 0x008e, 0x0000, 0x011f, 0x00d0,
0x008f, 0x0000, 0x009c, 0x80d1U, 0x008f, 0x0000, 0x009c, (int16)0x80d1,
0x0090, 0x0000, 0x00ab, 0x00d2, 0x0090, 0x0000, 0x00ab, 0x00d2,
0x0091, 0x0000, 0x016c, 0x80d3U, 0x0091, 0x0000, 0x016c, (int16)0x80d3,
0x0092, 0x0000, 0x0174, 0x00d5, 0x0092, 0x0000, 0x0174, 0x00d5,
0x0093, 0x0000, 0x00b9, 0x00d7, 0x0093, 0x0000, 0x00b9, 0x00d7,
0x0094, 0x0000, 0x0003, 0x80d8U, 0x0094, 0x0000, 0x0003, (int16)0x80d8,
0x0095, 0x0000, 0x0003, 0x00d9, 0x0095, 0x0000, 0x0003, 0x00d9,
0x0096, 0x00f0, 0x00ec, 0x00da, 0x0096, 0x00f0, 0x00ec, 0x00da,
0x0097, 0x00f0, 0x01a2, 0x00db, 0x0097, 0x00f0, 0x01a2, 0x00db,

View file

@ -12,9 +12,9 @@
#define _0_ '\0' #define _0_ '\0'
#define CENT_ '\xA2' /* cent and not: standard DOS mapping */ #define CENT_ 0xA2 /* cent and not: standard DOS mapping */
#define NOT_ '\xAC' #define NOT_ 0xAC
#define IGNR_ '\xFF' #define IGNR_ 0xFF
#define CRLF_ '\r' #define CRLF_ '\r'
#define COUT_IS_CTRL 0x01 /* conout characters with bit 1 set are controls: */ #define COUT_IS_CTRL 0x01 /* conout characters with bit 1 set are controls: */

View file

@ -505,7 +505,11 @@ static t_stat tto_reset (DEVICE *dptr)
} }
#ifdef _MSC_VER #ifdef _MSC_VER
# pragma warning(disable:4245) /* enable int->char demotion warning caused by characters with high-bit set */ # pragma warning(disable:4245) /* disable int->char demotion warning caused by characters with high-bit set */
#endif
#ifdef __SUNPRO_C
# pragma error_messages (off, E_INIT_DOES_NOT_FIT) /* disable int->char demotion warning caused by characters with high-bit set */
#endif #endif
static struct { /* default input mapping for APL */ static struct { /* default input mapping for APL */
@ -666,6 +670,10 @@ static OS_MAP default_os_map[] = /* overstrike mapping for APLPLUS font */
'\xfe', 2, "\x3a\xa8", '\xfe', 2, "\x3a\xa8",
}; };
#ifdef __SUNPRO_C
# pragma error_messages (default, E_INIT_DOES_NOT_FIT) /* enable int->char demotion warning caused by characters with high-bit set */
#endif
#ifdef _MSC_VER #ifdef _MSC_VER
# pragma warning(default:4245) /* enable int->char demotion warning */ # pragma warning(default:4245) /* enable int->char demotion warning */
#endif #endif

View file

@ -151,7 +151,7 @@ extern uint32 cpu_opt;
#define RQ_NUMDR 4 /* # drives */ #define RQ_NUMDR 4 /* # drives */
#define RQ_NUMBY 512 /* bytes per block */ #define RQ_NUMBY 512 /* bytes per block */
#define RQ_MAXFR (1 << 16) /* max xfer */ #define RQ_MAXFR (1 << 16) /* max xfer */
#define RQ_MAPXFER (1 << 31) /* mapped xfer */ #define RQ_MAPXFER (1u << 31) /* mapped xfer */
#define RQ_M_PFN 0x1FFFFF /* map entry PFN */ #define RQ_M_PFN 0x1FFFFF /* map entry PFN */
#define UNIT_V_ONL (UNIT_V_UF + 0) /* online */ #define UNIT_V_ONL (UNIT_V_UF + 0) /* online */

View file

@ -181,7 +181,7 @@
#define RBDA_V_TRACK 8 /* track */ #define RBDA_V_TRACK 8 /* track */
#define RBDA_M_TRACK 0xFF #define RBDA_M_TRACK 0xFF
#define RBDA_V_CYL 16 /* cylinder */ #define RBDA_V_CYL 16 /* cylinder */
#define RBDA_M_CYL 0xFFFF #define RBDA_M_CYL 0xFFFFu
#define RBDA_TRACK (RBDA_M_TRACK << RBDA_V_TRACK) #define RBDA_TRACK (RBDA_M_TRACK << RBDA_V_TRACK)
#define RBDA_CYL (RBDA_M_CYL << RBDA_V_CYL) #define RBDA_CYL (RBDA_M_CYL << RBDA_V_CYL)
#define GET_SECT(x) (((x) >> RBDA_V_SECT) & RBDA_M_SECT) #define GET_SECT(x) (((x) >> RBDA_V_SECT) & RBDA_M_SECT)

View file

@ -107,7 +107,7 @@
#define STXCS_DA (STXCS_M_DA << STXCS_V_DA) #define STXCS_DA (STXCS_M_DA << STXCS_V_DA)
#define STXCS_GETDA(x) (((x) >> STXCS_V_DA) & STXCS_M_DA) #define STXCS_GETDA(x) (((x) >> STXCS_V_DA) & STXCS_M_DA)
#define STXCS_V_STS 24 #define STXCS_V_STS 24
#define STXCS_M_STS 0xFF #define STXCS_M_STS 0xFFu
#define STXCS_STS (STXCS_M_STS << STXCS_V_STS) #define STXCS_STS (STXCS_M_STS << STXCS_V_STS)
#define STXCS_WR (STXCS_FNC | CSR_DONE | CSR_IE | STXCS_DA) #define STXCS_WR (STXCS_FNC | CSR_DONE | CSR_IE | STXCS_DA)

View file

@ -16,9 +16,11 @@
# In general, the logic below will detect and build with the available # In general, the logic below will detect and build with the available
# features which the host build environment provides. # features which the host build environment provides.
# #
# Dynamic loading of libpcap is the default behavior if pcap.h is # Dynamic loading of libpcap is the preferred default behavior if pcap.h
# available at build time. Direct calls to libpcap can be enabled # is available at build time. Support to statically linking against libpcap
# if GNU make is invoked with USE_NETWORK=1 on the command line. # is deprecated and may be removed in the future. Static linking against
# libpcap can be enabled if GNU make is invoked with USE_NETWORK=1 on the
# command line.
# #
# The default build will build compiler optimized binaries. # The default build will build compiler optimized binaries.
# If debugging is desired, then GNU make can be invoked with # If debugging is desired, then GNU make can be invoked with
@ -76,8 +78,8 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
COMPILER_NAME = GCC Version: $(GCC_VERSION) COMPILER_NAME = GCC Version: $(GCC_VERSION)
ifeq (,$(GCC_VERSION)) ifeq (,$(GCC_VERSION))
ifeq (SunOS,$(OSTYPE)) ifeq (SunOS,$(OSTYPE))
ifneq (,$(shell $(GCC) -V | grep 'Sun C')) ifneq (,$(shell $(GCC) -V 2>&1 | grep 'Sun C'))
SUNC_VERSION = $(shell $(GCC) -V | grep 'Sun C' | awk '{ print $$4 }') SUNC_VERSION = $(shell $(GCC) -V 2>&1 | grep 'Sun C' | awk '{ print $$4 }')
COMPILER_NAME = Sun C $(SUNC_VERSION) COMPILER_NAME = Sun C $(SUNC_VERSION)
endif endif
endif endif
@ -225,6 +227,13 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
ifneq (,$(call find_lib,$(PCAPLIB))) ifneq (,$(call find_lib,$(PCAPLIB)))
ifneq ($(USE_NETWORK),) # Network support specified on the GNU make command line ifneq ($(USE_NETWORK),) # Network support specified on the GNU make command line
NETWORK_CCDEFS = -DUSE_NETWORK -I$(dir $(call find_include,pcap)) NETWORK_CCDEFS = -DUSE_NETWORK -I$(dir $(call find_include,pcap))
$(info *** Warning ***)
$(info *** Warning *** Statically linking against libpcap is provides no measurable)
$(info *** Warning *** benefits over dynamically linking libpcap.)
$(info *** Warning ***)
$(info *** Warning *** Support for linking this way is currently deprecated and may be removed)
$(info *** Warning *** in the future.)
$(info *** Warning ***)
ifeq (cygwin,$(OSTYPE)) ifeq (cygwin,$(OSTYPE))
# cygwin has no ldconfig so explicitly specify pcap object library # cygwin has no ldconfig so explicitly specify pcap object library
NETWORK_LDFLAGS = -L$(dir $(call find_lib,$(PCAPLIB))) -Wl,-R,$(dir $(call find_lib,$(PCAPLIB))) -l$(PCAPLIB) NETWORK_LDFLAGS = -L$(dir $(call find_lib,$(PCAPLIB))) -Wl,-R,$(dir $(call find_lib,$(PCAPLIB))) -l$(PCAPLIB)
@ -273,6 +282,9 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin)
$(info *** Warning *** simh networking, it is recommended that you install the) $(info *** Warning *** simh networking, it is recommended that you install the)
$(info *** Warning *** libpcap-dev package from your $(OSNAME) distribution) $(info *** Warning *** libpcap-dev package from your $(OSNAME) distribution)
$(info *** Warning ***) $(info *** Warning ***)
$(info *** Warning *** Building with the components manually installed from www.tcpdump.org)
$(info *** Warning *** is officially deprecated. Attempting to do so is unsupported.)
$(info *** Warning ***)
endif endif
else else
$(error using libpcap: $(call find_include,pcap) missing $(PCAPLIB).$(LIBEXT)) $(error using libpcap: $(call find_include,pcap) missing $(PCAPLIB).$(LIBEXT))

2
scp.c
View file

@ -2774,6 +2774,7 @@ if (flag) {
fprintf (st, "\n\t\tMemory Access: %s Endian", sim_end ? "Little" : "Big"); fprintf (st, "\n\t\tMemory Access: %s Endian", sim_end ? "Little" : "Big");
fprintf (st, "\n\t\tMemory Pointer Size: %d bits", (int)sizeof(dptr)*8); fprintf (st, "\n\t\tMemory Pointer Size: %d bits", (int)sizeof(dptr)*8);
fprintf (st, "\n\t\t%s", sim_toffset_64 ? "Large File (>2GB) support" : "No Large File support"); fprintf (st, "\n\t\t%s", sim_toffset_64 ? "Large File (>2GB) support" : "No Large File support");
fprintf (st, "\n\t\tOS clock tick size: %dms", os_tick_size);
#if defined(__VMS) #if defined(__VMS)
fprintf (st, "\n\t\tOS: VMS"); fprintf (st, "\n\t\tOS: VMS");
#elif defined(_WIN32) #elif defined(_WIN32)
@ -2783,7 +2784,6 @@ if (flag) {
fflush (st); fflush (st);
system ("uname -a"); system ("uname -a");
#endif #endif
fprintf (st, "\n\t\tOS clock tick size: %dms", os_tick_size);
} }
#if defined(SIM_GIT_COMMIT_ID) #if defined(SIM_GIT_COMMIT_ID)
#define S_xstr(a) S_str(a) #define S_xstr(a) S_str(a)