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 _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"