[git commit] main(): add a TODO about finding a use for _end[] area

Denys Vlasenko vda.linux at googlemail.com
Sun Apr 3 14:06:42 UTC 2016


commit: https://git.busybox.net/busybox/commit/?id=bc14f4d13d3cf1d43ae809d641e29174662cd1e4
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 libbb/appletlib.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/libbb/appletlib.c b/libbb/appletlib.c
index 4b5b09f..d798a2e 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


More information about the busybox-cvs mailing list