summaryrefslogtreecommitdiff
path: root/gold/script-c.h
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2008-02-04 06:45:50 +0000
committerIan Lance Taylor <iant@google.com>2008-02-04 06:45:50 +0000
commit186d6a3eb0612754e34b316f2e8811e6e5b3bdac (patch)
tree9b920c35c8b464f399dc224d345f24788153d5cb /gold/script-c.h
parent527a3d7541a35025eb480a345d216e5b37478e69 (diff)
downloadbinutils-redhat-186d6a3eb0612754e34b316f2e8811e6e5b3bdac.tar.gz
Implement SIZEOF_HEADERS, section constraints, other minor linker
script items.
Diffstat (limited to 'gold/script-c.h')
-rw-r--r--gold/script-c.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/gold/script-c.h b/gold/script-c.h
index 496e18b5f2..26dc556604 100644
--- a/gold/script-c.h
+++ b/gold/script-c.h
@@ -61,6 +61,21 @@ typedef Expression* Expression_ptr;
typedef void* Expression_ptr;
#endif
+/* A constraint for whether to use a particular output section
+ definition. */
+
+enum Section_constraint
+{
+ /* No constraint. */
+ CONSTRAINT_NONE,
+ /* Only if all input sections are read-only. */
+ CONSTRAINT_ONLY_IF_RO,
+ /* Only if at least input section is writable. */
+ CONSTRAINT_ONLY_IF_RW,
+ /* Special constraint. */
+ CONSTRAINT_SPECIAL
+};
+
/* The information we store for an output section header in the bison
parser. */
@@ -75,6 +90,8 @@ struct Parser_output_section_header
/* The input section alignment, from the SUBALIGN specifier. This
may be NULL. */
Expression_ptr subalign;
+ /* A constraint on this output section. */
+ enum Section_constraint constraint;
};
/* The information we store for an output section trailer in the bison
@@ -204,6 +221,11 @@ script_set_entry(void* closure, const char*, size_t);
extern void
script_parse_option(void* closure, const char*, size_t);
+/* Called by the bison parser to handle SEARCH_DIR. */
+
+extern void
+script_add_search_dir(void* closure, const char*, size_t);
+
/* Called by the bison parser to push the lexer into expression
mode. */