 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			38 lines
		
	
	
		
			603 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			603 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /*	$NetBSD: sbrk.S,v 1.3 2006/07/07 06:50:06 ross Exp $	*/
 | |
| 
 | |
| #include "SYS.h"
 | |
| 
 | |
| 	.globl	_C_LABEL(__curbrk)
 | |
| 	.globl	_C_LABEL(_end)
 | |
| 
 | |
| #ifdef WEAK_ALIAS
 | |
| WEAK_ALIAS(sbrk, _sbrk)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 	.data
 | |
| _C_LABEL(__curbrk):
 | |
| 	.long	_C_LABEL(_end)
 | |
| 	.text
 | |
| 
 | |
| 	.macro  LdAddr  r,sym
 | |
| 	.pushsection    ".toc","aw"
 | |
| 100:	.tc \sym[TC],\sym
 | |
| 	.popsection
 | |
| 	ld      \r,100b@toc(2)
 | |
| 	.endm
 | |
| 
 | |
| ENTRY(_sbrk)
 | |
| 	ldAddr	%r6,__curbrk
 | |
| 	add	%r3,%r3,%r6
 | |
| 	mr	%r7,%r3				# r7 = new break
 | |
| 	li	%r0,SYS_break
 | |
| 	sc					# break(new_break)
 | |
| 	bso	1f
 | |
| 	mr	%r3,%r6				# set return value
 | |
| 	LdAddr	%r6,__curbrk
 | |
| 	std	%r7,0(%r6)
 | |
| 	blr
 | |
| 1:
 | |
| 	b	PIC_PLT(_C_LABEL(__cerror))
 |