Page MenuHomeFreeBSD

D6464.id.diff
No OneTemporary

D6464.id.diff

Index: head/UPDATING
===================================================================
--- head/UPDATING
+++ head/UPDATING
@@ -31,6 +31,12 @@
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20160520:
+ The brk and sbrk functions have been removed from libc on arm64.
+ Binutils from ports has been updated to not link to these
+ functions and should be updated to the latest version before
+ installing a new libc.
+
20160517:
The armv6 port now defaults to hard float ABI. Limited support
for running both hardfloat and soft float on the same system
Index: head/contrib/netbsd-tests/lib/libc/gen/t_dir.c
===================================================================
--- head/contrib/netbsd-tests/lib/libc/gen/t_dir.c
+++ head/contrib/netbsd-tests/lib/libc/gen/t_dir.c
@@ -111,6 +111,7 @@
closedir(dp);
}
+#ifndef __aarch64__ /* There is no sbrk on AArch64 */
ATF_TC(telldir_leak);
ATF_TC_HEAD(telldir_leak, tc)
{
@@ -154,12 +155,15 @@
(void)printf("OK: used %td bytes\n", (char *)(sbrk(0))-memused);
}
}
+#endif
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, seekdir_basic);
+#ifndef __aarch64__
ATF_TP_ADD_TC(tp, telldir_leak);
+#endif
return atf_no_error();
}
Index: head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c
===================================================================
--- head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c
+++ head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c
@@ -176,7 +176,9 @@
unsigned long vmin = 0;
size_t len = sizeof(vmin);
#endif
+#ifndef __aarch64__
void *invalid_ptr;
+#endif
int null_errno = ENOMEM; /* error expected for NULL */
#ifdef __FreeBSD__
@@ -212,6 +214,7 @@
errno = 0;
ATF_REQUIRE_ERRNO(EINVAL, munlock((char *)-1, page) == -1);
+#ifndef __aarch64__ /* There is no sbrk on AArch64 */
/*
* Try to create a pointer to an unmapped page - first after current
* brk will likely do.
@@ -224,6 +227,7 @@
errno = 0;
ATF_REQUIRE_ERRNO(ENOMEM, munlock(invalid_ptr, page) == -1);
+#endif
}
#ifdef __FreeBSD__
Index: head/lib/libc/aarch64/Symbol.map
===================================================================
--- head/lib/libc/aarch64/Symbol.map
+++ head/lib/libc/aarch64/Symbol.map
@@ -28,8 +28,6 @@
ntohl;
ntohs;
vfork;
- brk;
- sbrk;
makecontext;
};
Index: head/lib/libc/aarch64/sys/Makefile.inc
===================================================================
--- head/lib/libc/aarch64/sys/Makefile.inc
+++ head/lib/libc/aarch64/sys/Makefile.inc
@@ -5,10 +5,8 @@
SRCS+= __vdso_gettc.c
#MDASM= ptrace.S
-MDASM= brk.S \
- cerror.S \
+MDASM= cerror.S \
pipe.S \
- sbrk.S \
shmat.S \
sigreturn.S \
syscall.S \
@@ -19,6 +17,7 @@
exit.o \
getlogin.o \
openbsd_poll.o \
+ sbrk.o \
sstk.o \
vfork.o \
yield.o
Index: head/lib/libc/aarch64/sys/brk.S
===================================================================
--- head/lib/libc/aarch64/sys/brk.S
+++ head/lib/libc/aarch64/sys/brk.S
@@ -1,77 +0,0 @@
-/*-
- * Copyright (c) 2014 The FreeBSD Foundation
- * All rights reserved.
- *
- * This software was developed by Andrew Turner under
- * sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
-#include "SYS.h"
-
- .globl _C_LABEL(_end)
-
- .data
- .align 3
- .globl _C_LABEL(minbrk)
- .hidden _C_LABEL(minbrk)
- .type _C_LABEL(minbrk),#object
-_C_LABEL(minbrk):
- .quad _C_LABEL(_end)
-
- .text
-/*
- * int brk(const void *addr);
- */
-ENTRY(_brk)
- WEAK_REFERENCE(_brk, brk)
-
- /* Load the address of minbrk */
- adrp x3, minbrk
- ldr x2, [x3, :lo12:minbrk]
-
- /* Validate the address */
- cmp x0, x2
- b.ge 1f
- /* Invalid, set it to the minimum */
- mov x0, x2
-
- /* Backup the new address */
-1: mov x4, x0
-
- /* Update for this value, will overwrite x0 and x1 */
- _SYSCALL(break)
- b.cs cerror
-
- /* Store the new curbrk value */
- adrp x2, curbrk
- str x4, [x2, :lo12:curbrk]
-
- /* Return success */
- mov x0, #0
- ret
-
-END(_brk)
Index: head/lib/libc/aarch64/sys/sbrk.S
===================================================================
--- head/lib/libc/aarch64/sys/sbrk.S
+++ head/lib/libc/aarch64/sys/sbrk.S
@@ -1,73 +0,0 @@
-/*-
- * Copyright (c) 2014 The FreeBSD Foundation
- * All rights reserved.
- *
- * This software was developed by Andrew Turner under
- * sponsorship from the FreeBSD Foundation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-__FBSDID("$FreeBSD$");
-
-#include "SYS.h"
-
- .globl _C_LABEL(_end)
-
- .data
- .align 3
- .global _C_LABEL(curbrk)
- .hidden _C_LABEL(curbrk)
- .type _C_LABEL(curbrk),#object
-_C_LABEL(curbrk):
- .quad _C_LABEL(_end)
-
- .text
-/*
- * void *sbrk(intptr_t incr);
- */
-ENTRY(_sbrk)
- WEAK_REFERENCE(_sbrk, sbrk)
-
- /* Load the address of curbrk */
- adrp x3, curbrk
-
- /* Get the current brk address */
- ldr x2, [x3, :lo12:curbrk]
-
- /* Calculate the new value */
- add x0, x2, x0
- mov x4, x0
-
- /* Update for this value, will overwrite x0 and x1 */
- _SYSCALL(break)
- b.cs cerror
-
- /* Load the old value to return */
- ldr x0, [x3, :lo12:curbrk]
-
- /* Store the new curbrk value */
- str x4, [x3, :lo12:curbrk]
-
- ret
-END(_sbrk)
Index: head/sys/sys/param.h
===================================================================
--- head/sys/sys/param.h
+++ head/sys/sys/param.h
@@ -58,7 +58,7 @@
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1100110 /* Master, propagated to newvers */
+#define __FreeBSD_version 1100111 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 11, 9:15 AM (9 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31281559
Default Alt Text
D6464.id.diff (8 KB)

Event Timeline