mirror of
https://github.com/rui314/mold.git
synced 2024-11-11 05:46:58 +03:00
wip
This commit is contained in:
parent
00666d4970
commit
87dcaf097e
39
cmdline.cc
39
cmdline.cc
@ -489,28 +489,19 @@ void parse_nonpositional_args(Context<E> &ctx,
|
||||
ctx.arg.output = "a.out";
|
||||
}
|
||||
|
||||
template
|
||||
std::vector<std::string_view>
|
||||
expand_response_files(Context<X86_64> &ctx, char **argv);
|
||||
#define INSTANTIATE(E) \
|
||||
template \
|
||||
std::vector<std::string_view> \
|
||||
expand_response_files(Context<E> &ctx, char **argv); \
|
||||
\
|
||||
template \
|
||||
bool read_arg(Context<E> &ctx, std::span<std::string_view> &args, \
|
||||
std::string_view &arg, \
|
||||
std::string name); \
|
||||
\
|
||||
template \
|
||||
void parse_nonpositional_args(Context<E> &ctx, \
|
||||
std::vector<std::string_view> &remaining)
|
||||
|
||||
template
|
||||
bool read_arg(Context<X86_64> &ctx, std::span<std::string_view> &args,
|
||||
std::string_view &arg,
|
||||
std::string name);
|
||||
|
||||
template
|
||||
void parse_nonpositional_args(Context<X86_64> &ctx,
|
||||
std::vector<std::string_view> &remaining);
|
||||
|
||||
template
|
||||
std::vector<std::string_view>
|
||||
expand_response_files(Context<I386> &ctx, char **argv);
|
||||
|
||||
template
|
||||
bool read_arg(Context<I386> &ctx, std::span<std::string_view> &args,
|
||||
std::string_view &arg,
|
||||
std::string name);
|
||||
|
||||
template
|
||||
void parse_nonpositional_args(Context<I386> &ctx,
|
||||
std::vector<std::string_view> &remaining);
|
||||
INSTANTIATE(X86_64);
|
||||
INSTANTIATE(I386);
|
||||
|
@ -318,20 +318,13 @@ void parse_dynamic_list(Context<E> &ctx, std::string path) {
|
||||
SyntaxError(ctx, tok[0]) << "trailing garbage token";
|
||||
}
|
||||
|
||||
template
|
||||
void parse_linker_script(Context<X86_64> &ctx, MemoryMappedFile<X86_64> *mb);
|
||||
#define INSTANTIATE(E) \
|
||||
template \
|
||||
void parse_linker_script(Context<E> &ctx, MemoryMappedFile<E> *mb); \
|
||||
template \
|
||||
void parse_version_script(Context<E> &ctx, std::string path); \
|
||||
template \
|
||||
void parse_dynamic_list(Context<E> &ctx, std::string path)
|
||||
|
||||
template
|
||||
void parse_version_script(Context<X86_64> &ctx, std::string path);
|
||||
|
||||
template
|
||||
void parse_dynamic_list(Context<X86_64> &ctx, std::string path);
|
||||
|
||||
template
|
||||
void parse_linker_script(Context<I386> &ctx, MemoryMappedFile<I386> *mb);
|
||||
|
||||
template
|
||||
void parse_version_script(Context<I386> &ctx, std::string path);
|
||||
|
||||
template
|
||||
void parse_dynamic_list(Context<I386> &ctx, std::string path);
|
||||
INSTANTIATE(X86_64);
|
||||
INSTANTIATE(I386);
|
||||
|
@ -252,24 +252,12 @@ void process_run_subcommand(Context<E> &ctx, int argc, char **argv) {
|
||||
Fatal(ctx) << "execvp failed: " << strerror(errno);
|
||||
}
|
||||
|
||||
template
|
||||
bool resume_daemon(Context<X86_64> &ctx, char **argv, i64 *code);
|
||||
#define INSTANTIATE(E) \
|
||||
template bool resume_daemon(Context<E> &, char **, i64 *); \
|
||||
template void daemonize(Context<E> &, char **, \
|
||||
std::function<void()> *, \
|
||||
std::function<void()> *); \
|
||||
template void process_run_subcommand(Context<E> &, int, char **)
|
||||
|
||||
template
|
||||
void daemonize(Context<X86_64> &ctx, char **argv,
|
||||
std::function<void()> *wait_for_client,
|
||||
std::function<void()> *on_complete);
|
||||
|
||||
template
|
||||
void process_run_subcommand(Context<X86_64> &ctx, int argc, char **argv);
|
||||
|
||||
template
|
||||
bool resume_daemon(Context<I386> &ctx, char **argv, i64 *code);
|
||||
|
||||
template
|
||||
void daemonize(Context<I386> &ctx, char **argv,
|
||||
std::function<void()> *wait_for_client,
|
||||
std::function<void()> *on_complete);
|
||||
|
||||
template
|
||||
void process_run_subcommand(Context<I386> &ctx, int argc, char **argv);
|
||||
INSTANTIATE(X86_64);
|
||||
INSTANTIATE(I386);
|
||||
|
13
symbols.cc
13
symbols.cc
@ -34,12 +34,9 @@ std::ostream &operator<<(std::ostream &out, const Symbol<E> &sym) {
|
||||
return out;
|
||||
}
|
||||
|
||||
template class Symbol<X86_64>;
|
||||
#define INSTANTIATE(E) \
|
||||
template class Symbol<E>; \
|
||||
template std::ostream &operator<<(std::ostream &, const Symbol<E> &)
|
||||
|
||||
template
|
||||
std::ostream &operator<<(std::ostream &out, const Symbol<X86_64> &sym);
|
||||
|
||||
template class Symbol<I386>;
|
||||
|
||||
template
|
||||
std::ostream &operator<<(std::ostream &out, const Symbol<I386> &sym);
|
||||
INSTANTIATE(X86_64);
|
||||
INSTANTIATE(I386);
|
||||
|
Loading…
Reference in New Issue
Block a user