aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-04-03 16:06:42 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-04-03 16:06:42 +0200
commitbc14f4d13d3cf1d43ae809d641e29174662cd1e4 (patch)
tree40e35ab386de9c16bf5a5539a405fa5a1fdedc2b
parent056e1f558cc8bc22f221b49bf4571aed59cdae09 (diff)
downloadbusybox-bc14f4d13d3cf1d43ae809d641e29174662cd1e4.tar.gz
main(): add a TODO about finding a use for _end[] area
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--libbb/appletlib.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index 4b5b09f45..d798a2eac 100644
--- a/libbb/appletlib.c
+++ b/libbb/appletlib.c
@@ -902,6 +902,19 @@ int lbb_main(char **argv)
int main(int argc UNUSED_PARAM, char **argv)
#endif
{
+#if 0
+ /* TODO: find a use for a block of memory between end of .bss
+ * and end of page. For example, I'm getting "_end:0x812e698 2408 bytes"
+ * - more than 2k of wasted memory (in this particular build)
+ * *per each running process*!
+ * (If your linker does not generate "_end" name, weak attribute
+ * makes &_end == NULL, end_len == 0 here.)
+ */
+ extern char _end[] __attribute__((weak));
+ unsigned end_len = (-(int)_end) & 0xfff;
+ printf("_end:%p %u bytes\n", &_end, end_len);
+#endif
+
/* Tweak malloc for reduced memory consumption */
#ifdef M_TRIM_THRESHOLD
/* M_TRIM_THRESHOLD is the maximum amount of freed top-most memory