mescc: drop naive realloc.
* 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.
This commit is contained in:
parent
1e37c9d9ea
commit
c23a9ee01f
|
@ -18,7 +18,6 @@
|
||||||
* along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
* along with Mes. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define FULL_MALLOC 1
|
|
||||||
#include <libc-gcc.c>
|
#include <libc-gcc.c>
|
||||||
#include <libc-mes+tcc.c>
|
#include <libc-mes+tcc.c>
|
||||||
|
|
||||||
|
|
|
@ -174,11 +174,9 @@ fputc (int c, int fd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
void
|
||||||
putchar (int c)
|
free (void *ptr)
|
||||||
{
|
{
|
||||||
write (STDOUT, (char*)&c, 1);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char *g_brk = 0;
|
char *g_brk = 0;
|
||||||
|
@ -195,14 +193,33 @@ malloc (size_t size)
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !FULL_MALLOC
|
|
||||||
void *
|
void *
|
||||||
realloc (void *p, size_t size)
|
memcpy (void *dest, void const *src, size_t n)
|
||||||
{
|
{
|
||||||
brk (g_brk + size);
|
char* p = dest;
|
||||||
return g_brk;
|
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
|
size_t
|
||||||
strlen (char const* s)
|
strlen (char const* s)
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#if !__GNUC__
|
#if !__GNUC__
|
||||||
#define FULL_MALLOC 1
|
|
||||||
#include <libc-mes.c>
|
#include <libc-mes.c>
|
||||||
|
|
||||||
int errno;
|
int errno;
|
||||||
|
@ -139,11 +138,6 @@ fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
free (void *ptr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
int
|
||||||
fseek (FILE *stream, long offset, int whence)
|
fseek (FILE *stream, long offset, int whence)
|
||||||
{
|
{
|
||||||
|
@ -184,15 +178,6 @@ longjmp (jmp_buf env, int val)
|
||||||
eputs ("longjmp stub\n");
|
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 *
|
void *
|
||||||
memmove (void *dest, void const *src, size_t n)
|
memmove (void *dest, void const *src, size_t n)
|
||||||
{
|
{
|
||||||
|
@ -363,18 +348,6 @@ calloc (size_t nmemb, size_t size)
|
||||||
return p;
|
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
|
int
|
||||||
vfprintf (FILE* f, char const* format, va_list ap)
|
vfprintf (FILE* f, char const* format, va_list ap)
|
||||||
{
|
{
|
||||||
|
|
|
@ -224,6 +224,11 @@ fgetc (int fd)
|
||||||
return c == 1 ? c : (-1);
|
return c == 1 ? c : (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
free (void *ptr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
//#define assert(x) ((x) ? (void)0 : assert_fail (#x))
|
//#define assert(x) ((x) ? (void)0 : assert_fail (#x))
|
||||||
int
|
int
|
||||||
ungetc (int c, int fd)
|
ungetc (int c, int fd)
|
||||||
|
@ -328,14 +333,26 @@ malloc (size_t size)
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !FULL_MALLOC
|
|
||||||
void *
|
void *
|
||||||
realloc (void *p, size_t size)
|
memcpy (void *dest, void const *src, size_t n)
|
||||||
{
|
{
|
||||||
brk (g_brk + size);
|
char* p = dest;
|
||||||
return g_brk;
|
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
|
int
|
||||||
strncmp (char const* a, char const* b, int length)
|
strncmp (char const* a, char const* b, int length)
|
||||||
|
|
|
@ -29,15 +29,6 @@ struct foo {
|
||||||
|
|
||||||
struct foo f;
|
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 bla[6] = {0,0,11223344, 55667788,0,0};
|
||||||
int g_c[2] = {101, 111};
|
int g_c[2] = {101, 111};
|
||||||
|
|
||||||
|
|
|
@ -38,26 +38,6 @@ int fill7;
|
||||||
int fill8;
|
int fill8;
|
||||||
int fill9;
|
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
|
int
|
||||||
test ()
|
test ()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue