From owner-svn-src-projects@FreeBSD.ORG Sun Dec 15 13:15:39 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 86ADC88C; Sun, 15 Dec 2013 13:15:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7291B144A; Sun, 15 Dec 2013 13:15:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rBFDFdmR014054; Sun, 15 Dec 2013 13:15:39 GMT (envelope-from andrew@svn.freebsd.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id rBFDFdoj014052; Sun, 15 Dec 2013 13:15:39 GMT (envelope-from andrew@svn.freebsd.org) Message-Id: <201312151315.rBFDFdoj014052@svn.freebsd.org> From: Andrew Turner Date: Sun, 15 Dec 2013 13:15:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r259414 - in projects/specific_leg/sys: arm/arm conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Dec 2013 13:15:39 -0000 Author: andrew Date: Sun Dec 15 13:15:38 2013 New Revision: 259414 URL: http://svnweb.freebsd.org/changeset/base/259414 Log: Move _end back to the end of the kernel's bss and add an _ebss value to find the end of the bss to clear. Without this the kernel breaks when the size of the .text section is wrong by pushing the startup page table into the area allocated in initarm. It was only by luck this worked previously. Modified: projects/specific_leg/sys/arm/arm/locore.S projects/specific_leg/sys/conf/ldscript.arm Modified: projects/specific_leg/sys/arm/arm/locore.S ============================================================================== --- projects/specific_leg/sys/arm/arm/locore.S Sun Dec 15 08:52:16 2013 (r259413) +++ projects/specific_leg/sys/arm/arm/locore.S Sun Dec 15 13:15:38 2013 (r259414) @@ -287,7 +287,7 @@ Lstartup_pagetable_secondary: .Lstart: .word _edata - .word _end + .word _ebss .word svcstk + INIT_ARM_STACK_SIZE .Lvirt_done: Modified: projects/specific_leg/sys/conf/ldscript.arm ============================================================================== --- projects/specific_leg/sys/conf/ldscript.arm Sun Dec 15 08:52:16 2013 (r259413) +++ projects/specific_leg/sys/conf/ldscript.arm Sun Dec 15 13:15:38 2013 (r259414) @@ -108,13 +108,14 @@ SECTIONS *(.bss) *(COMMON) . = ALIGN(32 / 8); - _end = . ; - PROVIDE (end = .); + _ebss = .; /* A section for the initial page table, it doesn't need to be in the kernel file, however unlike normal .bss entries should not be zeroed out as we use it before the .bss section is cleared. */ *(.init_pagetable) } + _end = . ; + PROVIDE (end = .); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) }