mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
Excise the -L option since llvm-link should not do library searches. It
just links bytecode files together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16303 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a2dfd05d84
commit
dccc01eb61
@ -42,17 +42,21 @@ Verbose("v", cl::desc("Print information about actions taken"));
|
||||
static cl::opt<bool>
|
||||
DumpAsm("d", cl::desc("Print assembly as linked"), cl::Hidden);
|
||||
|
||||
static cl::list<std::string>
|
||||
LibPaths("L", cl::desc("Specify a library search path"), cl::ZeroOrMore,
|
||||
cl::value_desc("directory"), cl::Prefix);
|
||||
// LoadFile - Read the specified bytecode file in and return it. This routine
|
||||
// searches the link path for the specified file to try to find it...
|
||||
//
|
||||
static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
|
||||
sys::Path Filename;
|
||||
if (!Filename.set_file(FN)) {
|
||||
std::cerr << "Invalid file name: '" << FN << "'\n";
|
||||
return std::auto_ptr<Module>();
|
||||
}
|
||||
|
||||
// GetModule - This function is just factored out of the functions below
|
||||
static inline Module* GetModule(const sys::Path& Filename) {
|
||||
if (Verbose) std::cerr << "Loading '" << Filename.c_str() << "'\n";
|
||||
std::string ErrorMessage;
|
||||
if (Filename.exists()) {
|
||||
if (Verbose) std::cerr << "Loading '" << Filename.c_str() << "'\n";
|
||||
Module* Result = ParseBytecodeFile(Filename.get(), &ErrorMessage);
|
||||
if (Result) return Result; // Load successful!
|
||||
if (Result) return std::auto_ptr<Module>(Result); // Load successful!
|
||||
|
||||
if (Verbose) {
|
||||
std::cerr << "Error opening bytecode file: '" << Filename.c_str() << "'";
|
||||
@ -63,42 +67,7 @@ static inline Module* GetModule(const sys::Path& Filename) {
|
||||
std::cerr << "Bytecode file: '" << Filename.c_str()
|
||||
<< "' does not exist.\n";
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// LoadFile - Read the specified bytecode file in and return it. This routine
|
||||
// searches the link path for the specified file to try to find it...
|
||||
//
|
||||
static inline std::auto_ptr<Module> LoadFile(const std::string &FN) {
|
||||
sys::Path Filename;
|
||||
if (!Filename.set_file(FN)) {
|
||||
std::cerr << "Invalid file name: '" << Filename.c_str() << "'\n";
|
||||
return std::auto_ptr<Module>();
|
||||
}
|
||||
|
||||
if (Module* Result = GetModule(Filename))
|
||||
return std::auto_ptr<Module>(Result);
|
||||
|
||||
bool FoundAFile = false;
|
||||
|
||||
for (unsigned i = 0; i < LibPaths.size(); i++) {
|
||||
if (!Filename.set_directory(LibPaths[i])) {
|
||||
std::cerr << "Invalid library path: '" << LibPaths[i] << "'\n";
|
||||
} else if (!Filename.append_file(FN)) {
|
||||
std::cerr << "Invalid library path: '" << LibPaths[i]
|
||||
<< "/" << FN.c_str() << "'\n";
|
||||
} else if (Filename.exists()) {
|
||||
FoundAFile = true;
|
||||
if (Module *Result = GetModule(Filename))
|
||||
return std::auto_ptr<Module>(Result); // Load successful!
|
||||
}
|
||||
}
|
||||
|
||||
if (FoundAFile)
|
||||
std::cerr << "Bytecode file '" << FN << "' corrupt! "
|
||||
<< "Use 'llvm-link -v ...' for more info.\n";
|
||||
else
|
||||
std::cerr << "Could not locate bytecode file: '" << FN << "'\n";
|
||||
return std::auto_ptr<Module>();
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user