From owner-svn-src-head@freebsd.org Fri May 20 15:04:49 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EA1A7B432CA; Fri, 20 May 2016 15:04:49 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC9641A33; Fri, 20 May 2016 15:04:49 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u4KF4mQF040107; Fri, 20 May 2016 15:04:48 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u4KF4m9n040101; Fri, 20 May 2016 15:04:48 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201605201504.u4KF4m9n040101@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 20 May 2016 15:04:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r300303 - in head: . contrib/netbsd-tests/lib/libc/gen contrib/netbsd-tests/lib/libc/sys lib/libc/aarch64 lib/libc/aarch64/sys sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 May 2016 15:04:50 -0000 Author: andrew Date: Fri May 20 15:04:48 2016 New Revision: 300303 URL: https://svnweb.freebsd.org/changeset/base/300303 Log: Remove brk and sbrk from arm64. They were defined in The Single UNIX Specification, Version 2, but marked as legacy, and have been removed from later specifications. After 12 years it is time to remove them from new architectures when the main use for sbrk is an invalid method to attempt to find how much memory has been allocated from malloc. There are a few places in the tree that still call sbrk, however they are not used on arm64. They will need to be fixed to cross build from arm64, but these will be fixed in a follow up commit. Old copies of binutils from ports called into sbrk, however this has been fixed around 6 weeks ago. It is advised to update binutils on arm64 before installing a world that includes this change. Reviewed by: brooks, emaste Obtained from: brooks Relnotes: yes Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D6464 Deleted: head/lib/libc/aarch64/sys/brk.S head/lib/libc/aarch64/sys/sbrk.S Modified: head/UPDATING head/contrib/netbsd-tests/lib/libc/gen/t_dir.c head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c head/lib/libc/aarch64/Symbol.map head/lib/libc/aarch64/sys/Makefile.inc head/sys/sys/param.h Modified: head/UPDATING ============================================================================== --- head/UPDATING Fri May 20 15:00:12 2016 (r300302) +++ head/UPDATING Fri May 20 15:04:48 2016 (r300303) @@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 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 Modified: head/contrib/netbsd-tests/lib/libc/gen/t_dir.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/gen/t_dir.c Fri May 20 15:00:12 2016 (r300302) +++ head/contrib/netbsd-tests/lib/libc/gen/t_dir.c Fri May 20 15:04:48 2016 (r300303) @@ -111,6 +111,7 @@ ATF_TC_BODY(seekdir_basic, tc) closedir(dp); } +#ifndef __aarch64__ /* There is no sbrk on AArch64 */ ATF_TC(telldir_leak); ATF_TC_HEAD(telldir_leak, tc) { @@ -154,12 +155,15 @@ ATF_TC_BODY(telldir_leak, tc) (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(); } Modified: head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Fri May 20 15:00:12 2016 (r300302) +++ head/contrib/netbsd-tests/lib/libc/sys/t_mlock.c Fri May 20 15:04:48 2016 (r300303) @@ -176,7 +176,9 @@ ATF_TC_BODY(mlock_err, tc) 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 @@ ATF_TC_BODY(mlock_err, tc) 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 @@ ATF_TC_BODY(mlock_err, tc) errno = 0; ATF_REQUIRE_ERRNO(ENOMEM, munlock(invalid_ptr, page) == -1); +#endif } #ifdef __FreeBSD__ Modified: head/lib/libc/aarch64/Symbol.map ============================================================================== --- head/lib/libc/aarch64/Symbol.map Fri May 20 15:00:12 2016 (r300302) +++ head/lib/libc/aarch64/Symbol.map Fri May 20 15:04:48 2016 (r300303) @@ -28,8 +28,6 @@ FBSD_1.0 { ntohl; ntohs; vfork; - brk; - sbrk; makecontext; }; Modified: head/lib/libc/aarch64/sys/Makefile.inc ============================================================================== --- head/lib/libc/aarch64/sys/Makefile.inc Fri May 20 15:00:12 2016 (r300302) +++ head/lib/libc/aarch64/sys/Makefile.inc Fri May 20 15:04:48 2016 (r300303) @@ -5,10 +5,8 @@ MIASM:= ${MIASM:Nfreebsd[467]_*} 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 @@ NOASM= break.o \ exit.o \ getlogin.o \ openbsd_poll.o \ + sbrk.o \ sstk.o \ vfork.o \ yield.o Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Fri May 20 15:00:12 2016 (r300302) +++ head/sys/sys/param.h Fri May 20 15:04:48 2016 (r300303) @@ -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,