forked from Imagelibrary/rtems
Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Here is another fix, which addresses a few more or less severe bugs in
configuration and unix/posix:
* Configuration fix: c/src/lib/configure.in didn't handle RDBG correctly
* Configuration fix: make depend was non-functional in
c/src/lib/libc/Makefile.in
* Configuration fix: stray comment removed from aclocal/target.m4
* RTEMS fix: termios support for unix/posix now uses the host's headers
only (was completely broken).
- Don't install RTEMS's newlib sys/termios.h for unix (sys/termios.h
apparently is a newlib specific header)
- To be able to compile RTEMS's termios.c with glibc2.1, glibc-2.1
needs __USE_MISC, which is a private define from gcc's features.h, being
defined only when _BSD_SOURCE of _SVID_SOURCE is defined. RTEMS's
termios apparently implements BSD, thus -D_BSD_SOURCE was added to
Linux-posix.cfg.
- Conflicting definitions for __USE_MISC and _BSD_SOURCE inside of
RTEMS codes removed due to definition of _BSD_SOURCE on the toplevel.
This fix has been tested with linux/posix (primary glibc2.1 native),
linux/posix (secondary libc5 native), sh/gensh1, i386/pc386 and a couple
of other bsp's/CPU.
To apply:
cd <srcdir>
patch -p1 < rtems-rc-19990709-9.diff
and
aclocal -I aclocal && automake && autoconf
cd c/src/lib; autoconf
or
./autogen
This commit is contained in:
1
aclocal.m4
vendored
1
aclocal.m4
vendored
@@ -431,7 +431,6 @@ dnl It is called after running config.status.
|
||||
dnl AC_OUTPUT_SUBDIRS(DIRECTORY...)
|
||||
AC_DEFUN(RTEMS_OUTPUT_SUBDIRS,
|
||||
[
|
||||
# bla
|
||||
if test "$no_recursion" != yes; then
|
||||
if test $target_alias != $host_alias; then
|
||||
target_subdir="$target_alias"
|
||||
|
||||
@@ -13,7 +13,6 @@ dnl It is called after running config.status.
|
||||
dnl AC_OUTPUT_SUBDIRS(DIRECTORY...)
|
||||
AC_DEFUN(RTEMS_OUTPUT_SUBDIRS,
|
||||
[
|
||||
# bla
|
||||
if test "$no_recursion" != yes; then
|
||||
if test $target_alias != $host_alias; then
|
||||
target_subdir="$target_alias"
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
/* for sbrk prototype in linux */
|
||||
#if defined(__linux__)
|
||||
#define __USE_MISC
|
||||
#endif
|
||||
#include <unistd.h> /* sbrk(2) */
|
||||
|
||||
rtems_id RTEMS_Malloc_Heap;
|
||||
|
||||
2
c/src/lib/configure
vendored
2
c/src/lib/configure
vendored
@@ -2442,7 +2442,7 @@ fi
|
||||
|
||||
|
||||
|
||||
if test "$HAS_RDBG" = "yes"; then
|
||||
if test "$RTEMS_HAS_RDBG" = "yes"; then
|
||||
echo $ac_n "checking whether BSP supports librdbg""... $ac_c" 1>&6
|
||||
echo "configure:2448: checking whether BSP supports librdbg" >&5
|
||||
if eval "test \"`echo '$''{'rtems_cv_HAS_RDBG'+set}'`\" = set"; then
|
||||
|
||||
@@ -124,7 +124,7 @@ if test "$HAS_NETWORKING" = "yes"; then
|
||||
RTEMS_CHECK_MAKEFILE(libnetworking)
|
||||
RTEMS_CHECK_MAKEFILE(librpc)
|
||||
|
||||
if test "$HAS_RDBG" = "yes"; then
|
||||
if test "$RTEMS_HAS_RDBG" = "yes"; then
|
||||
RTEMS_CHECK_RDBG(RTEMS_BSP)
|
||||
|
||||
if test "$HAS_RDBG" = "yes"; then
|
||||
|
||||
@@ -31,7 +31,8 @@ H_FILES = $(H_PIECES:%=$(srcdir)/%.h)
|
||||
|
||||
SYS_H_PIECES_no_V = ioctl
|
||||
SYS_H_PIECES_yes_V =
|
||||
SYS_H_PIECES = termios utime $(SYS_H_PIECES_$(HAS_NETWORKING)_V)
|
||||
@UNIX_FALSE@SYS_H_PIECES = termios
|
||||
SYS_H_PIECES += utime $(SYS_H_PIECES_$(HAS_NETWORKING)_V)
|
||||
SYS_H_FILES = $(SYS_H_PIECES:%=$(srcdir)/sys/%.h)
|
||||
|
||||
MOTOROLA_H_PIECES = mc68230 mc68681
|
||||
|
||||
@@ -20,10 +20,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/* for sbrk prototype in linux */
|
||||
#if defined(__linux__)
|
||||
#define __USE_MISC
|
||||
#endif
|
||||
#include <unistd.h>
|
||||
|
||||
#include <bsp.h>
|
||||
|
||||
@@ -43,18 +43,6 @@ LIBC_GLUE_C_PIECES = __gettod __times truncate access stat lstat pathconf \
|
||||
|
||||
UNIX_LIBC_C_PIECES = unixlibc hosterr
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/lib.cfg
|
||||
|
||||
INSTALL_CHANGE = @INSTALL_CHANGE@
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
|
||||
|
||||
INSTALLDIRS = $(PROJECT_INCLUDE)/rtems $(PROJECT_INCLUDE)/sys \
|
||||
$(PROJECT_INCLUDE)
|
||||
|
||||
$(INSTALLDIRS):
|
||||
@$(mkinstalldirs) $(INSTALLDIRS)
|
||||
|
||||
# C and C++ source names, if any, go here -- minus the .c or .cc
|
||||
UNIX_C_PIECES = $(UNIX_LIBC_C_PIECES) $(BASE_FS_C_PIECES) $(MALLOC_C_PIECES) \
|
||||
$(TERMIOS_C_PIECES)
|
||||
@@ -72,6 +60,18 @@ H_FILES = $(srcdir)/libcsupport.h
|
||||
SYS_H_FILES =
|
||||
RTEMS_H_FILES = $(srcdir)/libio.h
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/lib.cfg
|
||||
|
||||
INSTALL_CHANGE = @INSTALL_CHANGE@
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
|
||||
|
||||
INSTALLDIRS = $(PROJECT_INCLUDE)/rtems $(PROJECT_INCLUDE)/sys \
|
||||
$(PROJECT_INCLUDE)
|
||||
|
||||
$(INSTALLDIRS):
|
||||
@$(mkinstalldirs) $(INSTALLDIRS)
|
||||
|
||||
SRCS = $(C_FILES) $(H_FILES) $(SYS_H_FILES) $(RTEMS_H_FILES)
|
||||
OBJS = $(C_O_FILES)
|
||||
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
/* for sbrk prototype in linux */
|
||||
#if defined(__linux__)
|
||||
#define __USE_MISC
|
||||
#endif
|
||||
#include <unistd.h> /* sbrk(2) */
|
||||
|
||||
rtems_id RTEMS_Malloc_Heap;
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
*/
|
||||
|
||||
/* for strcasecmp in linux and solaris */
|
||||
#if defined(__linux__)
|
||||
#include <features.h>
|
||||
#define __USE_BSD
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
*/
|
||||
|
||||
/* for strcasecmp in linux and solaris */
|
||||
#if defined(__linux__)
|
||||
#include <features.h>
|
||||
#define __USE_BSD
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
|
||||
|
||||
1
configure
vendored
1
configure
vendored
@@ -1583,7 +1583,6 @@ fi
|
||||
|
||||
|
||||
|
||||
# bla
|
||||
if test "$no_recursion" != yes; then
|
||||
if test $target_alias != $host_alias; then
|
||||
target_subdir="$target_alias"
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
/* for sbrk prototype in linux */
|
||||
#if defined(__linux__)
|
||||
#define __USE_MISC
|
||||
#endif
|
||||
#include <unistd.h> /* sbrk(2) */
|
||||
|
||||
rtems_id RTEMS_Malloc_Heap;
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
*/
|
||||
|
||||
/* for strcasecmp in linux and solaris */
|
||||
#if defined(__linux__)
|
||||
#include <features.h>
|
||||
#define __USE_BSD
|
||||
#endif
|
||||
#include <string.h>
|
||||
|
||||
#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
|
||||
|
||||
@@ -24,6 +24,7 @@ LIBC_DEFINES+=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG
|
||||
LIBC_DEFINES += -DWORKSPACE_MB=2
|
||||
LIBC_DEFINES += -DHEAPSPACE_MB=1
|
||||
|
||||
DEFINES += -D_BSD_SOURCE
|
||||
|
||||
# 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.
|
||||
|
||||
Reference in New Issue
Block a user