mescc: drop naive realloc.
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 1 Aug 2017 09:08:14 +0000 (11:08 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 1 Aug 2017 09:08:14 +0000 (11:08 +0200)
* mlibc/libc-gcc.c (free, memcpy): Move from libc-mes+tcc.c.
  (realloc): Use realloc from libc-mes+tcc.c
* mlibc/libc-gcc+tcc.c (free, memcpy, realloc): Remove.
* mlibc/libc-mes+tcc.c (free, memcpy, realloc): Remove.
* scaffold/tests/79-int-array.c (test): Update.
* scaffold/tests/7a-struct-char-array.c (test): Update.

mlibc/libc-gcc+tcc.c
mlibc/libc-gcc.c
mlibc/libc-mes+tcc.c
mlibc/libc-mes.c
scaffold/tests/79-int-array.c
scaffold/tests/7a-struct-char-array.c

index c3743c7ebd967527a39abe8558406646c422db01..ebdca80b9175c7ee17ced0e6337236538e303d79 100644 (file)
@@ -18,7 +18,6 @@
  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#define FULL_MALLOC 1
 #include <libc-gcc.c>
 #include <libc-mes+tcc.c>
 
index 0ee872e612de57a909d7666fb44d4749d0a46044..32575fccd2a471ab94e4d79286c0d279caf18045 100644 (file)
@@ -174,11 +174,9 @@ fputc (int c, int fd)
   return 0;
 }
 
-int
-putchar (int c)
+void
+free (void *ptr)
 {
-  write (STDOUT, (char*)&c, 1);
-  return 0;
 }
 
 char *g_brk = 0;
@@ -195,14 +193,33 @@ malloc (size_t size)
   return p;
 }
 
-#if !FULL_MALLOC
 void *
-realloc (void *p, size_t size)
+memcpy (void *dest, void const *src, size_t n)
 {
-  brk (g_brk + size);
-  return g_brk;
+  char* p = dest;
+  char* q = src;
+  while (n--) *p++ = *q++;
+  return dest;
+}
+
+int
+putchar (int c)
+{
+  write (STDOUT, (char*)&c, 1);
+  return 0;
+}
+
+void *
+realloc (void *ptr, size_t size)
+{
+  void *new = malloc (size);
+  if (ptr && new)
+    {
+      memcpy (new, ptr, size);
+      free (ptr);
+    }
+  return new;
 }
-#endif
 
 size_t
 strlen (char const* s)
index c90b4f5798bc4e43e6c80d6259facc0a9f785502..e075768f947bbec9609e805b53f96f7df646a289 100644 (file)
@@ -30,7 +30,6 @@
 #include <unistd.h>
 
 #if !__GNUC__
-#define FULL_MALLOC 1
 #include <libc-mes.c>
 
 int errno;
@@ -139,11 +138,6 @@ fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
   return 0;
 }
 
-void
-free (void *ptr)
-{
-}
-
 int
 fseek (FILE *stream, long offset, int whence)
 {
@@ -184,15 +178,6 @@ longjmp (jmp_buf env, int val)
   eputs ("longjmp stub\n");
 }
 
-void *
-memcpy (void *dest, void const *src, size_t n)
-{
-  char* p = dest;
-  char* q = src;
-  while (n--) *p++ = *q++;
-  return dest;
-}
-
 void *
 memmove (void *dest, void const *src, size_t n)
 {
@@ -363,18 +348,6 @@ calloc (size_t nmemb, size_t size)
   return p;
 }
 
-void *
-realloc (void *ptr, size_t size)
-{
-  void *new = malloc (size);
-  if (ptr && new)
-    {
-      memcpy (new, ptr, size);
-      free (ptr);
-    }
-  return new;
-}
-
 int
 vfprintf (FILE* f, char const* format, va_list ap)
 {
index 1a351eda5258af698f3422a69901604cba12c5e1..c8abba5f24fc0b635105611e0d2a42e8923c4a92 100644 (file)
@@ -224,6 +224,11 @@ fgetc (int fd)
   return c == 1 ? c : (-1);
 }
 
+void
+free (void *ptr)
+{
+}
+
 //#define assert(x) ((x) ? (void)0 : assert_fail (#x))
 int
 ungetc (int c, int fd)
@@ -328,14 +333,26 @@ malloc (size_t size)
   return p;
 }
 
-#if !FULL_MALLOC
 void *
-realloc (void *p, size_t size)
+memcpy (void *dest, void const *src, size_t n)
 {
-  brk (g_brk + size);
-  return g_brk;
+  char* p = dest;
+  char* q = src;
+  while (n--) *p++ = *q++;
+  return dest;
+}
+
+void *
+realloc (void *ptr, size_t size)
+{
+  void *new = malloc (size);
+  if (ptr && new)
+    {
+      memcpy (new, ptr, size);
+      free (ptr);
+    }
+  return new;
 }
-#endif
 
 int
 strncmp (char const* a, char const* b, int length)
index 2658187b3fecb05c6106e5cb27906bcf39243581..64b2758aab5987f5ced3244058293edbb21e4185 100644 (file)
@@ -29,15 +29,6 @@ struct foo {
 
 struct foo f;
 
-void *
-memcpy (void *dest, void const *src, size_t n)
-{
-  char* p = dest;
-  char* q = src;
-  while (n--) *p++ = *q++;
-  return dest;
-}
-
 int bla[6] = {0,0,11223344, 55667788,0,0};
 int g_c[2] = {101, 111};
 
index 3d9c45b2b8b95643db7fe092994d83da65864e4e..ea33087a654a67485c2906b18e7fc6f8bc93c27f 100644 (file)
@@ -38,26 +38,6 @@ int fill7;
 int fill8;
 int fill9;
 
-void *
-memcpy (void *dest, void const *src, int n)
-{
-  char* p = dest;
-  char* q = src;
-  while (n--) *p++ = *q++;
-  return dest;
-}
-
-#if __MESC__
-char *
-strcpy (char *dest, char const *src)
-{
-  char *p = dest;
-  while (*src) *p++ = *src++;
-  *p = 0;
-  return dest;
-}
-#endif
-
 int
 test ()
 {