* configure.in (enable-newlib-global-atexit): New option.

* configure: Regenerated.
	* newlib.hin (_REENT_GLOBAL_ATEXIT): Place-holder.
	* README (enable-newlib-global-atexit): Description for
	new option.
This commit is contained in:
Corinna Vinschen 2013-10-18 08:43:05 +00:00
parent 05b637e340
commit e4aa6ea112
5 changed files with 56 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2013-10-18 Joey Ye <joey.ye@arm.com>
* configure.in (enable-newlib-global-atexit): New option.
* configure: Regenerated.
* newlib.hin (_REENT_GLOBAL_ATEXIT): Place-holder.
* README (enable-newlib-global-atexit): Description for
new option.
2013-10-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/unistd.h (MAXPATHLEN): Delete.

View File

@ -288,6 +288,12 @@ One feature can be enabled by specifying `--enable-FEATURE=yes' or
Disable dynamic allocation of atexit entries.
Most hosts and targets have it enabled in configure.host.
`--enable-newlib-global-atexit'
Enable atexit data structure as global variable. By doing so it is
move out of _reent structure, and can be garbage collected if atexit
is not referenced.
Disabled by default.
`--enable-newlib-reent-small'
Enable small reentrant struct support.
Disabled by default.

22
newlib/configure vendored
View File

@ -788,6 +788,7 @@ enable_newlib_iconv_from_encodings
enable_newlib_iconv_to_encodings
enable_newlib_iconv_external_ccs
enable_newlib_atexit_dynamic_alloc
enable_newlib_global_atexit
enable_newlib_reent_small
enable_newlib_fvwrite_in_streamio
enable_newlib_fseek_optimization
@ -1457,6 +1458,7 @@ Optional Features:
--enable-newlib-iconv-to-encodings enable specific comma-separated list of \"to\" iconv encodings to be built-in
--enable-newlib-iconv-external-ccs enable capabilities to load external CCS files for iconv
--disable-newlib-atexit-dynamic-alloc disable dynamic allocation of atexit entries
--enable-newlib-global-atexit enable atexit data structure as global
--enable-newlib-reent-small enable small reentrant struct support
--disable-newlib-fvwrite-in-streamio disable iov in streamio
--disable-newlib-fseek-optimization disable fseek optimization
@ -2352,6 +2354,19 @@ else
newlib_atexit_dynamic_alloc=${newlib_atexit_dynamic_alloc}
fi
# Check whether --enable-newlib-global-atexit was given.
if test "${enable_newlib_global_atexit+set}" = set; then :
enableval=$enable_newlib_global_atexit; if test "${newlib_global_atexit+set}" != set; then
case "${enableval}" in
yes) newlib_global_atexit=yes ;;
no) newlib_global_atexit=no ;;
*) as_fn_error $? "bad value ${enableval} for newlib-global-atexit option" "$LINENO" 5 ;;
esac
fi
else
newlib_global_atexit=no
fi
# Check whether --enable-newlib-reent-small was given.
if test "${enable_newlib_reent_small+set}" = set; then :
enableval=$enable_newlib_reent_small; case "${enableval}" in
@ -12321,6 +12336,13 @@ _ACEOF
fi
if test "${newlib_global_atexit}" = "yes"; then
cat >>confdefs.h <<_ACEOF
#define _REENT_GLOBAL_ATEXIT 1
_ACEOF
fi
if test "${newlib_fvwrite_in_streamio}" = "yes"; then
cat >>confdefs.h <<_ACEOF
#define _FVWRITE_IN_STREAMIO 1

View File

@ -115,6 +115,19 @@ AC_ARG_ENABLE(newlib-atexit-dynamic-alloc,
esac
fi], [newlib_atexit_dynamic_alloc=${newlib_atexit_dynamic_alloc}])dnl
dnl Support --enable-newlib-global-atexit
dnl Enable atexit data structure as global variables to save memory usage in
dnl _reent.
AC_ARG_ENABLE(newlib-global-atexit,
[ --enable-newlib-global-atexit enable atexit data structure as global],
[if test "${newlib_global_atexit+set}" != set; then
case "${enableval}" in
yes) newlib_global_atexit=yes ;;
no) newlib_global_atexit=no ;;
*) AC_MSG_ERROR(bad value ${enableval} for newlib-global-atexit option) ;;
esac
fi], [newlib_global_atexit=no])dnl
dnl Support --enable-newlib-reent-small
AC_ARG_ENABLE(newlib-reent-small,
[ --enable-newlib-reent-small enable small reentrant struct support],
@ -383,6 +396,10 @@ if test "${newlib_atexit_dynamic_alloc}" = "yes"; then
AC_DEFINE_UNQUOTED(_ATEXIT_DYNAMIC_ALLOC)
fi
if test "${newlib_global_atexit}" = "yes"; then
AC_DEFINE_UNQUOTED(_REENT_GLOBAL_ATEXIT)
fi
if test "${newlib_fvwrite_in_streamio}" = "yes"; then
AC_DEFINE_UNQUOTED(_FVWRITE_IN_STREAMIO)
fi

View File

@ -73,6 +73,9 @@
/* Define if lite version of exit supported. */
#undef _LITE_EXIT
/* Define if declare atexit data as global. */
#undef _REENT_GLOBAL_ATEXIT
/*
* Iconv encodings enabled ("to" direction)
*/