Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Dec 2019 11:20:23 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r356180 - head/sys/conf
Message-ID:  <a22f1c7ef84c70ae1f94980647098a165bad368a.camel@freebsd.org>
In-Reply-To: <201912291817.xBTIHCda003923@repo.freebsd.org>
References:  <201912291817.xBTIHCda003923@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2019-12-29 at 18:17 +0000, Ian Lepore wrote:
> Author: ian
> Date: Sun Dec 29 18:17:12 2019
> New Revision: 356180
> URL: https://svnweb.freebsd.org/changeset/base/356180
> 
> Log:
>   Eliminate the generated ldscript for arm and arm64, and strip $a/$d marker
>   symbols from the linked kernel.
>   
>   The main thrust of this change is to generate a kernel that has the arm
>   "marker" symbols stripped. Marker symbols start with $a, $d, $t or $x, and
>   are emitted by the compiler to tell other toolchain components about the
>   locations of data embedded in the instruction stream (literal-pool
>   stuff). They are used for generating mixed-endian binaries (which we don't
>   support). The linked kernel has approximately 21,000 such symbols in it,
>   wasting space (500K in kernel.full, 190K in the final linked kernel), and
>   sometimes obscuring function names in stack tracebacks.
>   
>   This change also simplifies the way the kernel is linked. Instead of using
>   sed to generate two different ldscript files to generate both an elf kernel
>   and a binary (elf headers stripped) kernel, we now use a single ldscript
>   that refers to a "text_start" symbol, and we provide the value for that
>   symbol using --defsym on the linker command line.
> 

Doh!

Differential Revision:        https://reviews.freebsd.org/D22922

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a22f1c7ef84c70ae1f94980647098a165bad368a.camel>