diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2020-03-19 22:33:24 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2020-03-19 22:33:24 +0000 |
commit | 29b5aa1b8efcee2c420239594c8840a0e465e8dd (patch) | |
tree | f1656832c4f2179c01ce2f68616437ba42d26dce /secure/lib/libcrypto/man/man3/EVP_PKEY_cmp.3 | |
parent | 9ce187bf83c0593d9639662417923f0e054c19d3 (diff) | |
download | src-29b5aa1b8efcee2c420239594c8840a0e465e8dd.tar.gz src-29b5aa1b8efcee2c420239594c8840a0e465e8dd.zip |
MFC r358643:
Link stand/i386 components using a linker script
LLD 10.0.0 changed the behavior of the -Ttext option, so that using
-Ttext=0x0 now causes linking of the loaders to fail with:
ld: error: output file too large: 18446744073707016908 bytes
I reported this in https://bugs.llvm.org/show_bug.cgi?id=44715, and
initially reverted the upstream change in r357259 to work around it.
However, after some discussion with Fangrui Song in the upstream ticket,
I think we can classify this as an unfortunate interaction between using
-Ttext=0 in combination with --no-rosegment. (We added the latter
in r332090, because btxld does not correctly handle input with more
than 2 PT_LOAD segments.)
Fangrui suggested to use a linker script instead, and Warner was already
attempting this in r305353, but had to revert it due to "crypto-using
boot problems" (not sure what those were :).
This review updates the stand/i386/boot.ldscript to handle more
sections, inserts some symbols like _edata and such that we use in
libsa, and also discards any .interp section.
It uses ORG which is defined on the linker command line using
--defsym ORG=value to set the start of all the sections.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D23952
Notes
Notes:
svn path=/stable/12/; revision=359155
Diffstat (limited to 'secure/lib/libcrypto/man/man3/EVP_PKEY_cmp.3')
0 files changed, 0 insertions, 0 deletions