* 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:
parent
05b637e340
commit
e4aa6ea112
@ -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.
|
||||
|
@ -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
22
newlib/configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user