libbb: make "COMMON_BUFSIZE = 1024 bytes, the buffer will be malloced" work

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2016-04-21 21:03:51 +02:00
parent df70a43af2
commit f56fb5eb11
2 changed files with 6 additions and 5 deletions

View File

@ -55,14 +55,14 @@ char bb_common_bufsiz1[COMMON_BUFSIZE] ALIGNED(sizeof(long long));
# ifndef setup_common_bufsiz # ifndef setup_common_bufsiz
/* /*
* It is not a "((void)0)" macro. It means we have to provide this function. * It is not defined as a dummy macro.
* It means we have to provide this function.
*/ */
char* bb_common_bufsiz1; char* bb_common_bufsiz1;
char* setup_common_bufsiz(void) void setup_common_bufsiz(void)
{ {
if (!bb_common_bufsiz1) if (!bb_common_bufsiz1)
bb_common_bufsiz1 = xzalloc(COMMON_BUFSIZE); bb_common_bufsiz1 = xzalloc(COMMON_BUFSIZE);
return bb_common_bufsiz1;
} }
# else # else
# ifndef bb_common_bufsiz1 # ifndef bb_common_bufsiz1

View File

@ -87,7 +87,8 @@ if test $REM -lt 1024; then
echo "Rerun make to build a binary which doesn't use it!" echo "Rerun make to build a binary which doesn't use it!"
exit 1 exit 1
fi fi
exit 0 echo "COMMON_BUFSIZE = 1024 bytes, the buffer will be malloced"
exit 0
fi fi
# _end[] has REM bytes for bb_common_bufsiz1[] # _end[] has REM bytes for bb_common_bufsiz1[]
@ -102,7 +103,7 @@ echo "#define setup_common_bufsiz() ((void)0)"
} | regenerate "$common_bufsiz_h" } | regenerate "$common_bufsiz_h"
echo $REM >"$common_bufsiz_h.BUFSIZE" echo $REM >"$common_bufsiz_h.BUFSIZE"
# Check that code did not grow too much and thus _end[] did not shink: # Check that code did not grow too much and thus _end[] did not shrink:
if test $OLD -gt $REM; then if test $OLD -gt $REM; then
echo "Warning! Space in _end[] has decreased from $OLD to $REM bytes!" echo "Warning! Space in _end[] has decreased from $OLD to $REM bytes!"
echo "Rerun make!" echo "Rerun make!"