[uClibc-cvs] uClibc/libc/sysdeps/linux/m68k brk.c,NONE,1.1 Makefile,1.25,1.26

David McCullough davidm at uclibc.org
Wed Feb 5 12:50:26 UTC 2003


Update of /var/cvs/uClibc/libc/sysdeps/linux/m68k
In directory winder:/tmp/cvs-serv7980/uClibc/libc/sysdeps/linux/m68k

Modified Files:
	Makefile 
Added Files:
	brk.c 
Log Message:

add brk for m68k

NOTE: on uClinux-2.[45] kernels, brk works but is limited to slack space in
      the memory allocated to the process.



--- NEW FILE: brk.c ---
/* consider this code LGPL - davidm */

#include <unistd.h>
#include <sys/syscall.h>
#include <errno.h>

/* This must be initialized data because commons can't have aliases.  */
void * ___brk_addr = 0;

int brk (void *addr)
{
    void *newbrk;

	__asm__ volatile ("movel %2,%/d1\n\t"
			  "moveq %1,%/d0\n\t"
			  "trap  #0\n\t"
			  "movel %/d0,%0"
		:"=g" (newbrk)
		:"i" (__NR_brk),"g" (addr) : "%d0", "%d1");

    ___brk_addr = newbrk;

    if (newbrk < addr)
    {
	__set_errno (ENOMEM);
	return -1;
    }

    return 0;
}

Index: Makefile
===================================================================
RCS file: /var/cvs/uClibc/libc/sysdeps/linux/m68k/Makefile,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- Makefile	23 Jan 2003 17:55:22 -0000	1.25
+++ Makefile	5 Feb 2003 12:50:23 -0000	1.26
@@ -33,7 +33,7 @@
 SSRC= __longjmp.S bsd-_setjmp.S bsd-setjmp.S clone.S setjmp.S vfork.S
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
 
-CSRC=ptrace.c
+CSRC=ptrace.c brk.c
 COBJS=$(patsubst %.c,%.o, $(CSRC))
 
 OBJS=$(SOBJS) $(MOBJ) $(COBJS)




More information about the uClibc-cvs mailing list