[PATCH] D23713: [ELF] - Fix for PR26968 - i386 lld produces incorrect fatal error "SHF_MERGE section size must be a multiple of sh_entsize"
Ed Maste via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 22 12:24:11 PDT 2016
emaste added a comment.
> So issue just no longer exist for FreeBSD. I assumed it is still a problem for BSD because it is not very clear from PR page,
Sorry for any confusion. To be clear, this is currently **not** an issue in FreeBSD.
Here's what happened:
- I made these sections non-mergeable https://reviews.llvm.org/rL263660/https://reviews.llvm.org/rL263664
- The bug in `lld -r` was fixed
- My change was reverted in https://reviews.llvm.org/rL263944
- Rui closed the PR with the comment "handling them as non-mergeable sections is a reasonable behavior, so let's close this bug as expected"
so I re-opened the PR, because lld right now does not handle them as non-mergeable sections.
> and so if it is not anymore, do we really need to do something ? Probably there are no such objects in real world ?
I believe we should restore https://reviews.llvm.org/rL263664:
- Such objects may be rare/unlikely, but it is valid to have a mergeable section with `sh_entsize == 0`
- Handling them as non-mergeable is explicitly valid behaviour (not merging a mergeable section is just a missed optimization)
- The cost of https://reviews.llvm.org/rL263664 in terms of code complexity, size or run time, is trivial
That said, I don't care much either way and it's fine with me if we just close the PR. We should make an explicit decision though, not have the PR closed based on a misunderstanding.
https://reviews.llvm.org/D23713
More information about the llvm-commits
mailing list