commit c89ab64d18b7448a0407244b67cfc11f7d6b85f1
parent 47156bbbbd6da382601e384354bb5a07a526c19f
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date: Mon, 28 Oct 2019 23:17:57 +0100
[libc] Simplify _getheap() in posix
Almost all the POSIX system have the symbol end, so the simplest way
to define _getheap is to use end. If some system does not support
end then it can use _brk() or some other form.
Diffstat:
13 files changed, 15 insertions(+), 36 deletions(-)
diff --git a/src/libc/arch/amd64/dragonfly/_getheap.c b/src/libc/arch/amd64/dragonfly/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/amd64/dragonfly/_getheap.s b/src/libc/arch/amd64/dragonfly/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- movq $end,%rax
- retq
diff --git a/src/libc/arch/amd64/linux/_getheap.c b/src/libc/arch/amd64/linux/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/amd64/linux/_getheap.s b/src/libc/arch/amd64/linux/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- movq $0,%rax
- jmp _brk
diff --git a/src/libc/arch/amd64/netbsd/_getheap.c b/src/libc/arch/amd64/netbsd/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/amd64/netbsd/_getheap.s b/src/libc/arch/amd64/netbsd/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- movq $end,%rax
- retq
diff --git a/src/libc/arch/amd64/openbsd/_getheap.c b/src/libc/arch/amd64/openbsd/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/amd64/openbsd/_getheap.s b/src/libc/arch/amd64/openbsd/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- movq $end,%rax
- retq
diff --git a/src/libc/arch/arm32/linux/_getheap.c b/src/libc/arch/arm32/linux/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/arm32/linux/_getheap.s b/src/libc/arch/arm32/linux/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- mov r0,#0
- b _brk
diff --git a/src/libc/arch/arm64/linux/_getheap.c b/src/libc/arch/arm64/linux/_getheap.c
@@ -0,0 +1 @@
+#include "../../posix/_getheap.c"
diff --git a/src/libc/arch/arm64/linux/_getheap.s b/src/libc/arch/arm64/linux/_getheap.s
@@ -1,6 +0,0 @@
- .file "_getheap.s"
-
- .globl _getheap
-_getheap:
- mov x0,#0
- b _brk
diff --git a/src/libc/arch/posix/_getheap.c b/src/libc/arch/posix/_getheap.c
@@ -0,0 +1,9 @@
+#include "../../libc.h"
+
+void *
+_getheap(void)
+{
+ extern char end[];
+
+ return end;
+}