aboutsummaryrefslogtreecommitdiff
path: root/gold/script-c.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-09-08 16:10:33 +0000
committerNick Clifton <nickc@redhat.com>2010-09-08 16:10:33 +0000
commit7f8cd8440375de26ebca766ab281c34522262b53 (patch)
treeada43984d6bc35a3487c093cb6b1c5b1a988527b /gold/script-c.h
parentab3e2b4a1c329818752fe855215d81fe21f88a8b (diff)
downloadfsf-binutils-gdb-7f8cd8440375de26ebca766ab281c34522262b53.zip
fsf-binutils-gdb-7f8cd8440375de26ebca766ab281c34522262b53.tar.gz
fsf-binutils-gdb-7f8cd8440375de26ebca766ab281c34522262b53.tar.bz2
* README: Remove claim that MEMORY is not supported.
* expression.cc (script_exp_function_origin) (script_exp_function_length): Move from here to ... * script.cc: ... here. (script_set_section_region, script_add_memory) (script_parse_memory_attr, script_include_directive): New functions. * script-sections.cc (class Memory_region): New class. (class Output_section_definition): Add set_memory_region, set_section_vma, set_section_lma and get_section_name methods. (class Script_Sections): Add add_memory_region, find_memory_region, find_memory_region_origin, find_memory_region_length and set_memory_region methods. Have set_section_addresses method walk the list of set memory regions. Extend the print methos to display memory regions. * script-sections.h: Add prototypes for new methods. Add enum for MEMORY region attributes. * yyscript.y: Add support for parsing MEMORY regions. * script-c.h: Add prototypes for new functions. * testsuite/Makefile.am: Add test of MEMORY region functionality. * testsuite/Makefile.in: Regenerate. * testsuite/memory_test.sh: New script. * testsuite/memory_test.s: New assembler source file. * testsuite/memory_test.t: New linker script.
Diffstat (limited to 'gold/script-c.h')
-rw-r--r--gold/script-c.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/gold/script-c.h b/gold/script-c.h
index d1148e4..2807950 100644
--- a/gold/script-c.h
+++ b/gold/script-c.h
@@ -421,6 +421,21 @@ script_data_segment_relro_end(void* closure);
extern void
script_saw_segment_start_expression(void* closure);
+/* Called by the bison parser for MEMORY regions. */
+
+extern void
+script_add_memory(void*, const char*, size_t, unsigned int,
+ Expression_ptr, Expression_ptr);
+
+extern unsigned int
+script_parse_memory_attr(void*, const char*, size_t, int);
+
+extern void
+script_set_section_region(void*, const char*, size_t, int);
+
+extern void
+script_include_directive(void *, const char*, size_t);
+
/* Called by the bison parser for expressions. */
extern Expression_ptr
@@ -488,9 +503,9 @@ script_exp_function_addr(const char*, size_t);
extern Expression_ptr
script_exp_function_loadaddr(const char*, size_t);
extern Expression_ptr
-script_exp_function_origin(const char*, size_t);
+script_exp_function_origin(void*, const char*, size_t);
extern Expression_ptr
-script_exp_function_length(const char*, size_t);
+script_exp_function_length(void*, const char*, size_t);
extern Expression_ptr
script_exp_function_constant(const char*, size_t);
extern Expression_ptr