diff options
author | jchandra <jchandra@FreeBSD.org> | 2010-06-16 12:55:14 +0000 |
---|---|---|
committer | jchandra <jchandra@FreeBSD.org> | 2010-06-16 12:55:14 +0000 |
commit | fa919cddc1801bfb0624d56f3a24c4a57fdc911f (patch) | |
tree | d284347736f86f7dd0b741263f711a8858174bbc /lib/libc/mips/sys/brk.S | |
parent | 9a2679124843ce869c9271e1d4a16d8c41c7ee1c (diff) | |
download | FreeBSD-src-fa919cddc1801bfb0624d56f3a24c4a57fdc911f.zip FreeBSD-src-fa919cddc1801bfb0624d56f3a24c4a57fdc911f.tar.gz |
Merge jmallett@'s n64 work into HEAD - changeset 1.
Update libc assembly code to use macros that work on both o32 and n64.
Merge string functions from NetBSD.
The changes are from http://svn.freebsd.org/base/user/jmallett/octeon
Approved by: rrs (mentor), jmallett
Diffstat (limited to 'lib/libc/mips/sys/brk.S')
-rw-r--r-- | lib/libc/mips/sys/brk.S | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/libc/mips/sys/brk.S b/lib/libc/mips/sys/brk.S index aeaf791..ceb29b9 100644 --- a/lib/libc/mips/sys/brk.S +++ b/lib/libc/mips/sys/brk.S @@ -49,25 +49,23 @@ __FBSDID("$FreeBSD$"); _C_LABEL(minbrk): .word _C_LABEL(_end) + .text LEAF(__sys_brk) WEAK_ALIAS(brk, __sys_brk) WEAK_ALIAS(_brk, __sys_brk) -#ifdef __ABICALLS__ - .set noreorder - .cpload t9 - .set reorder -#endif - lw v0, _C_LABEL(minbrk) + PIC_PROLOGUE(__sys_brk) + PTR_LA v0, _C_LABEL(minbrk) + PTR_L v0, 0(v0) bgeu a0, v0, 1f move a0, v0 # dont allow break < minbrk 1: li v0, SYS_break syscall bne a3, zero, 2f - sw a0, _C_LABEL(__curbrk) + PTR_LA t0, _C_LABEL(__curbrk) + PTR_S a0, 0(t0) move v0, zero - j ra + PIC_RETURN() 2: - la t9, _C_LABEL(__cerror) - jr t9 + PIC_TAILCALL(__cerror) END(__sys_brk) |