Solaris port updates from Chris Johns

This commit is contained in:
Joel Sherrill
1998-01-23 17:45:05 +00:00
parent 48971e5ed0
commit 2936b425fd
41 changed files with 118 additions and 83 deletions

View File

@@ -18,6 +18,8 @@ manext = 1
mandir = @mandir@/man$(manext) mandir = @mandir@/man$(manext)
program_prefix = @program_prefix@ program_prefix = @program_prefix@
export bindir
RTEMS_ROOT = @RTEMS_ROOT@ RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@

View File

@@ -197,7 +197,7 @@ process(char *arg)
if ( buffer[ length ] != '\n' ) if ( buffer[ length ] != '\n' )
error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg); error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg);
while ( isspace( buffer[ length ] ) ) while ( isspace( (int) buffer[ length ] ) )
buffer[ length-- ] = '\0'; buffer[ length-- ] = '\0';
if ( test_only ) { if ( test_only ) {

View File

@@ -478,7 +478,7 @@ int main(
} while ( gets( inbuff ) != NULL ); } while ( gets( inbuff ) != NULL );
exit( EXIT_SUCCESS ); return ( EXIT_SUCCESS );
} }

View File

@@ -197,7 +197,7 @@ process(char *arg)
if ( buffer[ length ] != '\n' ) if ( buffer[ length ] != '\n' )
error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg); error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg);
while ( isspace( buffer[ length ] ) ) while ( isspace( (int) buffer[ length ] ) )
buffer[ length-- ] = '\0'; buffer[ length-- ] = '\0';
if ( test_only ) { if ( test_only ) {

View File

@@ -478,7 +478,7 @@ int main(
} while ( gets( inbuff ) != NULL ); } while ( gets( inbuff ) != NULL );
exit( EXIT_SUCCESS ); return ( EXIT_SUCCESS );
} }

View File

@@ -20,8 +20,8 @@
#include <sys/reent.h> #include <sys/reent.h>
#endif #endif
#include <time.h>
#include <sys/time.h> #include <sys/time.h>
#include <time.h>
#include <errno.h> #include <errno.h>
#include <assert.h> #include <assert.h>

View File

@@ -142,10 +142,12 @@ static int rtems_verror(
chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status));
if (local_errno) if (local_errno)
if ((local_errno > 0) && *strerror(local_errno)) {
chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); if ((local_errno > 0) && *strerror(local_errno))
else chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); else
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
}
chars_written += fprintf(stderr, "\n"); chars_written += fprintf(stderr, "\n");

View File

@@ -14,16 +14,6 @@
#include <rtems/score/isr.h> #include <rtems/score/isr.h>
#include <rtems/score/interr.h> #include <rtems/score/interr.h>
#if defined(solaris2)
/*
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 3
#undef __STRICT_ANSI__
#define __STRICT_ANSI__
*/
#define __EXTENSIONS__
#endif
#if defined(__linux__) #if defined(__linux__)
#define MALLOC_0_RETURNS_NULL #define MALLOC_0_RETURNS_NULL
#endif #endif

View File

@@ -45,7 +45,7 @@ CLOBBER_ADDITIONS +=
$(LIB): ${OBJS} $(LIB): ${OBJS}
$(make-library) $(make-library)
cd $(PROJECT_ROOT) ; \ -cd $(PROJECT_ROOT) ; \
$(PROJECT_RELEASE)/bin/size_rtems $(RTEMS_BSP) \ $(PROJECT_RELEASE)/bin/size_rtems $(RTEMS_BSP) \
>$(PROJECT_RELEASE)/lib/sizeinfo.txt >$(PROJECT_RELEASE)/lib/sizeinfo.txt

View File

@@ -71,7 +71,7 @@ protected:
private: private:
const rtemsInterrupt& operator=(const rtemsInterrupt& ); const rtemsInterrupt& operator=(const rtemsInterrupt& );
Interrupt(const rtemsInterrupt& ); rtemsInterrupt(const rtemsInterrupt& );
// the vector caught // the vector caught
rtems_vector_number vector; rtems_vector_number vector;

View File

@@ -16,9 +16,6 @@
* $Id$ * $Id$
*/ */
/* For solaris 2.4 */
#define __EXTENSIONS__
#include <bsp.h> #include <bsp.h>
#include <time.h> #include <time.h>
#include <sys/time.h> #include <sys/time.h>

View File

@@ -20,8 +20,8 @@
#include <sys/reent.h> #include <sys/reent.h>
#endif #endif
#include <time.h>
#include <sys/time.h> #include <sys/time.h>
#include <time.h>
#include <errno.h> #include <errno.h>
#include <assert.h> #include <assert.h>

View File

@@ -142,10 +142,12 @@ static int rtems_verror(
chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status));
if (local_errno) if (local_errno)
if ((local_errno > 0) && *strerror(local_errno)) {
chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); if ((local_errno > 0) && *strerror(local_errno))
else chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); else
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
}
chars_written += fprintf(stderr, "\n"); chars_written += fprintf(stderr, "\n");

View File

@@ -142,10 +142,12 @@ static int rtems_verror(
chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status));
if (local_errno) if (local_errno)
if ((local_errno > 0) && *strerror(local_errno)) {
chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); if ((local_errno > 0) && *strerror(local_errno))
else chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); else
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
}
chars_written += fprintf(stderr, "\n"); chars_written += fprintf(stderr, "\n");

View File

@@ -11,17 +11,17 @@
* $Id$ * $Id$
*/ */
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ /* for strcasecmp in linux and solaris */
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
/* for strcasecmp in linux */
#if defined(linux) #if defined(linux)
#define __USE_BSD #define __USE_BSD
#endif #endif
#include <string.h> #include <string.h>
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
#include <rtems/monitor.h> #include <rtems/monitor.h>
#include <rtems/symbols.h> #include <rtems/symbols.h>

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsMessageQueue.h> #include <rtems++/rtemsMessageQueue.h>
/* ---- /* ----

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsSemaphore.h> #include <rtems++/rtemsSemaphore.h>
/* ---- /* ----

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsTask.h> #include <rtems++/rtemsTask.h>
// include to allow it to be compiled // include to allow it to be compiled
#include <rtems++/rtemsTaskMode.h> #include <rtems++/rtemsTaskMode.h>

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsTimer.h> #include <rtems++/rtemsTimer.h>
/* ---- /* ----

View File

@@ -142,10 +142,12 @@ static int rtems_verror(
chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status));
if (local_errno) if (local_errno)
if ((local_errno > 0) && *strerror(local_errno)) {
chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); if ((local_errno > 0) && *strerror(local_errno))
else chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); else
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
}
chars_written += fprintf(stderr, "\n"); chars_written += fprintf(stderr, "\n");

View File

@@ -11,17 +11,17 @@
* $Id$ * $Id$
*/ */
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ /* for strcasecmp in linux and solaris */
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
/* for strcasecmp in linux */
#if defined(linux) #if defined(linux)
#define __USE_BSD #define __USE_BSD
#endif #endif
#include <string.h> #include <string.h>
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
#include <rtems/monitor.h> #include <rtems/monitor.h>
#include <rtems/symbols.h> #include <rtems/symbols.h>

View File

@@ -71,7 +71,7 @@ protected:
private: private:
const rtemsInterrupt& operator=(const rtemsInterrupt& ); const rtemsInterrupt& operator=(const rtemsInterrupt& );
Interrupt(const rtemsInterrupt& ); rtemsInterrupt(const rtemsInterrupt& );
// the vector caught // the vector caught
rtems_vector_number vector; rtems_vector_number vector;

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsMessageQueue.h> #include <rtems++/rtemsMessageQueue.h>
/* ---- /* ----

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsSemaphore.h> #include <rtems++/rtemsSemaphore.h>
/* ---- /* ----

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsTask.h> #include <rtems++/rtemsTask.h>
// include to allow it to be compiled // include to allow it to be compiled
#include <rtems++/rtemsTaskMode.h> #include <rtems++/rtemsTaskMode.h>

View File

@@ -18,6 +18,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
*/ */
#include <string.h>
#include <rtems++/rtemsTimer.h> #include <rtems++/rtemsTimer.h>
/* ---- /* ----

View File

@@ -38,6 +38,15 @@ $(RECURSE_TARGETS):
else else
ifdef RECURSE_TARGETS ifdef RECURSE_TARGETS
$(RECURSE_TARGETS): $(RECURSE_TARGETS):
set -e; for subd in $(SUB_DIRS); do $(MAKE) -w -C $$subd $@; done @$(ECHO) ; set -e ; \
if [ "$(SUB_DIRS)" != "" ] ; then \
sdirs="$(SUB_DIRS)" ; \
else \
sdirs="xxx" ; \
fi ; \
if [ "$$sdirs" != "xxx" ] ; then \
for subd in $$sdirs; do $(MAKE) -w -C $$subd $@; done ;\
fi
endif endif
endif endif

View File

@@ -21,6 +21,7 @@
#include <rtems.h> #include <rtems.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#ifdef RTEMS_TEST_IO_STREAM #ifdef RTEMS_TEST_IO_STREAM
#include <iostream.h> #include <iostream.h>
#endif #endif

View File

@@ -154,6 +154,10 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(solaris2)
#include <math.h>
#endif
/* /*
* To compile this on host using only libm from newlib (and using host libc) * To compile this on host using only libm from newlib (and using host libc)
* do: * do:

View File

@@ -20,8 +20,8 @@
#include <sys/reent.h> #include <sys/reent.h>
#endif #endif
#include <time.h>
#include <sys/time.h> #include <sys/time.h>
#include <time.h>
#include <errno.h> #include <errno.h>
#include <assert.h> #include <assert.h>

View File

@@ -142,10 +142,12 @@ static int rtems_verror(
chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status));
if (local_errno) if (local_errno)
if ((local_errno > 0) && *strerror(local_errno)) {
chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); if ((local_errno > 0) && *strerror(local_errno))
else chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno));
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); else
chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno);
}
chars_written += fprintf(stderr, "\n"); chars_written += fprintf(stderr, "\n");

View File

@@ -11,17 +11,17 @@
* $Id$ * $Id$
*/ */
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ /* for strcasecmp in linux and solaris */
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
/* for strcasecmp in linux */
#if defined(linux) #if defined(linux)
#define __USE_BSD #define __USE_BSD
#endif #endif
#include <string.h> #include <string.h>
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <rtems.h>
#include <stdio.h>
#include <stdlib.h>
#include <rtems/monitor.h> #include <rtems/monitor.h>
#include <rtems/symbols.h> #include <rtems/symbols.h>

View File

@@ -14,16 +14,6 @@
#include <rtems/score/isr.h> #include <rtems/score/isr.h>
#include <rtems/score/interr.h> #include <rtems/score/interr.h>
#if defined(solaris2)
/*
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 3
#undef __STRICT_ANSI__
#define __STRICT_ANSI__
*/
#define __EXTENSIONS__
#endif
#if defined(__linux__) #if defined(__linux__)
#define MALLOC_0_RETURNS_NULL #define MALLOC_0_RETURNS_NULL
#endif #endif

View File

@@ -41,11 +41,21 @@ CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-solaris2.cfg
# Use the LIBC support for CYGNUS newlib # Use the LIBC support for CYGNUS newlib
# RTEMS_LIBC_DIR must already be set (by module file) # RTEMS_LIBC_DIR must already be set (by module file)
RTEMS_USE_NEWLIB=yes RTEMS_USE_NEWLIB=no
LIBC_LIBM=-lm
# Define this to yes if C++ is included in the development environment # Define this to yes if C++ is included in the development environment
# This requires that at least the GNU C++ compiler and libg++ be installed. # This requires that at least the GNU C++ compiler and libg++ be installed.
ifeq ($(RTEMS_HAS_CPLUSPLUS),yes)
HAS_CPLUSPLUS=yes
# no standard C++ libs provided by default
LIBCC_INCLUDE=$(GNUTOOLS)/include/g++
CPLUS_LD_LIBS=-lstdc++
CPLUS_LD_LIBS=$(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA)
else
HAS_CPLUSPLUS=no HAS_CPLUSPLUS=no
endif
# Define this to yes if this target supports multiprocessor environments. # Define this to yes if this target supports multiprocessor environments.
HAS_MP=yes HAS_MP=yes

View File

@@ -38,6 +38,15 @@ $(RECURSE_TARGETS):
else else
ifdef RECURSE_TARGETS ifdef RECURSE_TARGETS
$(RECURSE_TARGETS): $(RECURSE_TARGETS):
set -e; for subd in $(SUB_DIRS); do $(MAKE) -w -C $$subd $@; done @$(ECHO) ; set -e ; \
if [ "$(SUB_DIRS)" != "" ] ; then \
sdirs="$(SUB_DIRS)" ; \
else \
sdirs="xxx" ; \
fi ; \
if [ "$$sdirs" != "xxx" ] ; then \
for subd in $$sdirs; do $(MAKE) -w -C $$subd $@; done ;\
fi
endif endif
endif endif

View File

@@ -21,6 +21,7 @@
#include <rtems.h> #include <rtems.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#ifdef RTEMS_TEST_IO_STREAM #ifdef RTEMS_TEST_IO_STREAM
#include <iostream.h> #include <iostream.h>
#endif #endif

View File

@@ -154,6 +154,10 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(solaris2)
#include <math.h>
#endif
/* /*
* To compile this on host using only libm from newlib (and using host libc) * To compile this on host using only libm from newlib (and using host libc)
* do: * do:

View File

@@ -197,7 +197,7 @@ process(char *arg)
if ( buffer[ length ] != '\n' ) if ( buffer[ length ] != '\n' )
error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg); error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg);
while ( isspace( buffer[ length ] ) ) while ( isspace( (int) buffer[ length ] ) )
buffer[ length-- ] = '\0'; buffer[ length-- ] = '\0';
if ( test_only ) { if ( test_only ) {

View File

@@ -478,7 +478,7 @@ int main(
} while ( gets( inbuff ) != NULL ); } while ( gets( inbuff ) != NULL );
exit( EXIT_SUCCESS ); return ( EXIT_SUCCESS );
} }

View File

@@ -197,7 +197,7 @@ process(char *arg)
if ( buffer[ length ] != '\n' ) if ( buffer[ length ] != '\n' )
error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg); error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg);
while ( isspace( buffer[ length ] ) ) while ( isspace( (int) buffer[ length ] ) )
buffer[ length-- ] = '\0'; buffer[ length-- ] = '\0';
if ( test_only ) { if ( test_only ) {

View File

@@ -478,7 +478,7 @@ int main(
} while ( gets( inbuff ) != NULL ); } while ( gets( inbuff ) != NULL );
exit( EXIT_SUCCESS ); return ( EXIT_SUCCESS );
} }