shithub: riscv

Download patch

ref: a39cc60c52310e0acf5e973b4fa99c7c014874d5
parent: 6018316eef179f421ee2b31ec76a9f3638e9bc15
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Apr 10 18:25:29 EDT 2020

cc: backout gethunk() change

the real problem is that gethunk() does not grow the allocation
but just allocates a new hunk, so repeated calls to gethunk()
wont make nhunk grow to satisfy the allocation.

this will be fixed in a upcoming commit.

--- a/sys/src/cmd/cc/macbody
+++ b/sys/src/cmd/cc/macbody
@@ -854,16 +854,9 @@
 	char *h;
 	long nh;
 
-	if(thunk >= 100L*NHUNK)
-		nh = 100L*NHUNK;
-	else if(thunk >= 50L*NHUNK)
-		nh = 50L*NHUNK;
-	else if(thunk >= 25L*NHUNK)
-		nh = 25L*NHUNK;
-	else if(thunk >= 10L*NHUNK)
+	nh = NHUNK;
+	if(thunk >= 10L*NHUNK)
 		nh = 10L*NHUNK;
-	else
-		nh = NHUNK;
 	h = (char*)mysbrk(nh);
 	if(h == (char*)-1) {
 		yyerror("out of memory");