2007-06-04 Olivier Hainque <hainque@adacore.com>
[binutils.git] / gold / script.h
blobde2e5af1a661e345ebce16525029bb5cb971061d
1 // script.h -- handle linker scripts for gold -*- C++ -*-
3 // We implement a subset of the original GNU ld linker script language
4 // for compatibility. The goal is not to implement the entire
5 // language. It is merely to implement enough to handle common uses.
6 // In particular we need to handle /usr/lib/libc.so on a typical
7 // GNU/Linux system, and we want to handle linker scripts used by the
8 // Linux kernel build.
10 #ifndef GOLD_SCRIPT_H
11 #define GOLD_SCRIPT_H
13 namespace gold
16 class General_options;
17 class Symbol_table;
18 class Layout;
19 class Input_objects;
20 class Input_group;
21 class Input_file;
22 class Task_token;
24 // FILE was found as an argument on the command line, but was not
25 // recognized as an ELF file. Try to read it as a script. We've
26 // already read BYTES of data into P. Return true if the file was
27 // handled. This has to handle /usr/lib/libc.so on a GNU/Linux
28 // system.
30 bool
31 read_input_script(Workqueue*, const General_options&, Symbol_table*, Layout*,
32 const Dirsearch&, Input_objects*, Input_group*,
33 const Input_argument*, Input_file*, const unsigned char* p,
34 off_t bytes, Task_token* this_blocker,
35 Task_token* next_blocker);
37 } // End namespace gold.
39 #endif // !defined(GOLD_SCRIPT_H)