[LinkerScript] Process program header in PHDRS command
authorDenis Protivensky <dprotivensky@accesssoftek.com>
Wed, 12 Aug 2015 12:31:35 +0000 (12:31 +0000)
committerDenis Protivensky <dprotivensky@accesssoftek.com>
Wed, 12 Aug 2015 12:31:35 +0000 (12:31 +0000)
commit0c8beb1c95c0f59c14862d83fc1b83749ce028ce
tree73de439d15b2d06e0e06c72e1787d760f4e7b3aa
parent40caea63c4fb62b171588d14f510281bf7ed597a
[LinkerScript] Process program header in PHDRS command

Add PT_PHDR segment depending on its availability in linker script's
PHDRS command, fallback if no linker script is given.
Handle FILEHDR, PHDRS and FLAGS attributes of program header.

Differential Revision: http://reviews.llvm.org/D11589

llvm-svn: 244743
16 files changed:
lld/include/lld/Core/Error.h
lld/include/lld/ReaderWriter/LinkerScript.h
lld/lib/Core/Error.cpp
lld/lib/Driver/GnuLdDriver.cpp
lld/lib/ReaderWriter/ELF/SegmentChunks.cpp
lld/lib/ReaderWriter/ELF/TargetLayout.cpp
lld/lib/ReaderWriter/LinkerScript.cpp
lld/test/elf/linkerscript/phdrs-extra-program.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-has-program.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-invalid.test
lld/test/elf/linkerscript/phdrs-misplaced-program.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-no-program.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-program-flags.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-program-good-phdrs.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-program-no-phdrs.test [new file with mode: 0644]
lld/test/elf/linkerscript/phdrs-program-wrong-phdrs.test [new file with mode: 0644]