[ELF] Omit PT_NOTE for SHT_NOTE without SHF_ALLOC
A non-alloc note section should not have a PT_NOTE program header. Found while linking ghc (Haskell compiler) with lld on FreeBSD. ghc emits a .debug-ghc-link-info note section (as the name suggests, it contains link information) as a SHT_NOTE section without SHF_ALLOC set. For this case ld.bfd does not emit a PT_NOTE segment for the .debug-ghc-link-info section. lld previously emitted a PT_NOTE with p_vaddr = 0 and FreeBSD's rtld segfaulted when trying to parse a note at address 0. llvm.org/pr37361 Differential Revision: https://reviews.llvm.org/D46623 llvm-svn: 331973
Loading
Please sign in to comment