[PATCH] D14849: ELF: Make .note.GNU-stack handling compatible with traditional linkers.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 19 16:27:06 PST 2015


ruiu created this revision.
ruiu added a reviewer: grimar.
ruiu added a subscriber: llvm-commits.

With this patch, lld creates PT_GNU_STACK segments only when all input
files have .note.GNU-stack sections. This is in line with other linkers
with a minor difference (we don't care about .note.GNU-stack rwx bits
you can always remove .note.GNU-stack sections instead of setting x bit.)

At least, NetBSD loader does not understand PT_GNU_STACK segments and
reject any executables that have the section. This patch makes lld
compatible with such operating systems.

http://reviews.llvm.org/D14849

Files:
  ELF/Config.h
  ELF/Driver.cpp
  ELF/InputFiles.cpp
  ELF/Writer.cpp
  test/ELF/basic-aarch64.s
  test/ELF/basic-mips.s
  test/ELF/basic.s
  test/ELF/basic32.s
  test/ELF/basic64be.s
  test/ELF/eh-frame-merge.s
  test/ELF/gnu-hash-table.s
  test/ELF/gnustack.s
  test/ELF/merge-shared.s
  test/ELF/merge-string.s
  test/ELF/merge-sym.s
  test/ELF/merge.s
  test/ELF/program-header-layout.s
  test/ELF/relative-dynamic-reloc-ppc64.s
  test/ELF/relative-dynamic-reloc.s
  test/ELF/relocation-local.s
  test/ELF/relocation.s
  test/ELF/shared.s
  test/ELF/string-table.s
  test/ELF/symbols.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14849.40718.patch
Type: text/x-patch
Size: 27787 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151120/384d0637/attachment-0001.bin>


More information about the llvm-commits mailing list