Summary: | lld: wrong/misleading "SHF_MERGE section size must be a multiple of sh_entsize" | ||
---|---|---|---|
Product: | Base System | Reporter: | Andrew "RhodiumToad" Gierth <andrew> |
Component: | bin | Assignee: | freebsd-toolchain (Nobody) <toolchain> |
Status: | Closed FIXED | ||
Severity: | Affects Some People | CC: | dim, emaste, kevans, toolchain |
Priority: | --- | Keywords: | needs-qa |
Version: | CURRENT | Flags: | andrew:
mfc-stable12?
andrew: mfc-stable11? |
Hardware: | Any | ||
OS: | Any | ||
See Also: |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219717 https://bugs.llvm.org/show_bug.cgi?id=45370 |
Description
Andrew "RhodiumToad" Gierth
2020-03-30 02:39:54 UTC
Would you submit an upstream bug for lld at https://bugs.llvm.org/ (I will look at this as soon as I'm able, if it's not handled upstream first.) I don't currently have an account for upstream. Submitted upstream as https://bugs.llvm.org/show_bug.cgi?id=45370 A commit in branch stable/12 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=2f4812936a2ccaadd260f6bbaacd677e6079d9d0 commit 2f4812936a2ccaadd260f6bbaacd677e6079d9d0 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-11-08 10:19:59 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-11-08 17:29:35 +0000 Fix lld warning "SHF_MERGE section size must be a multiple of sh_entsize" Merge commit 56decd982dc0 from llvm git (by Fangrui Song): [ELF] Allow invalid sh_size%sh_entsize!=0 for non-SHF_MERGE sections Fixes https://bugs.llvm.org/show_bug.cgi?id=45370 Fixes https://github.com/Clozure/ccl/issues/273 .stab holds a table of 12-byte entries. GNU as before 2.35 incorrectly sets sh_entsize(.stab) to 20 on 64-bit architectures: https://sourceware.org/bugzilla/show_bug.cgi?id=25768 We should not emit the confusing error: "SHF_MERGE section size (...) must be a multiple of sh_entsize (20) Reviewed By: grimar, psmith Differential Revision: https://reviews.llvm.org/D77368 Direct commit to stable/12, since newer branches have this fix already. PR: 245179 Reported by: andrew@tao11.riddles.org.uk contrib/llvm-project/lld/ELF/InputFiles.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) |