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>