Remove a special handling of AMDGPU entry points.

This is the last peculiar semantics left in the linker. If you want to
always set an entry point to 0, you can pass `-e 0` to the linker.

Differential Revision: https://reviews.llvm.org/D27532

llvm-svn: 289077
This commit is contained in:
Rui Ueyama 2016-12-08 17:32:58 +00:00
parent 18009560c5
commit 34bf8677a4
2 changed files with 3 additions and 23 deletions

View File

@ -222,9 +222,6 @@ static void checkOptions(opt::InputArgList &Args) {
if (Config->EMachine == EM_MIPS && Config->GnuHash)
error("the .gnu.hash section is not compatible with the MIPS target.");
if (Config->EMachine == EM_AMDGPU && !Config->Entry.empty())
error("-e option is not valid for AMDGPU.");
if (Config->Pie && Config->Shared)
error("-shared and -pie may not be used together");
@ -772,11 +769,10 @@ template <class ELFT> void LinkerDriver::link(opt::InputArgList &Args) {
if (Config->OutputFile.empty())
Config->OutputFile = "a.out";
// Use default entry point name if -e was missing. AMDGPU binaries
// have no entries. For some reason, MIPS' entry point name is
// Use default entry point name if no name was given via the command
// line nor linker scripts. For some reason, MIPS entry point name is
// different from others.
if (Config->Entry.empty() && !Config->Relocatable &&
Config->EMachine != EM_AMDGPU)
if (Config->Entry.empty() && !Config->Relocatable)
Config->Entry = (Config->EMachine == EM_MIPS) ? "__start" : "_start";
// Handle --trace-symbol.

View File

@ -1,16 +0,0 @@
# RUN: llvm-mc -filetype=obj -triple amdgcn--amdhsa -mcpu=kaveri %s -o %t.o
# RUN: not ld.lld -e kernel0 %t.o -o %t
# REQUIRES: amdgpu
.hsa_code_object_version 1,0
.hsa_code_object_isa 7,0,0,"AMD","AMDGPU"
.hsatext
.globl kernel0
.align 256
.amdgpu_hsa_kernel kernel0
kernel0:
s_endpgm
.Lfunc_end0:
.size kernel0, .Lfunc_end0-kernel0