mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
2009-10-16 Doug Kwan <dougkwan@google.com>
* expression.cc (class Segment_start_expression): New class definition. (Segment_start_expression::value): New method definition. (script_exp_function_segment_start): Return a new Segment_start_expression. * gold/script-c.h (script_saw_segment_start_expression): New function prototype. * script-sections.cc (Script_sections::Script_sections): Initialize SAW_SEGMENT_START_EXPRESSION_ to false. (Script_sections::set_section_addresses): Use -Ttext, -Tdata and -Tbbs options to specify section addresses if given in command line and no SEGMENT_START expression is seen in a script. * script-sections.h (Script_sections::saw_segment_start_expression, Script_sections::set_saw_segment_start_expression): New method definition. (Script_sections::saw_segment_start_expression_): New data member declaration. * script.cc (script_saw_segment_start_expression): New function. * yyscript.y (SEGMENT_START): Call script_saw_segment_start_expression. * testsuite/Makefile.am (check_SCRIPTS): Add script_test_6.sh, script_test_7.sh and script_test_8.sh. (check_DATA): Add script_test_6.stdout, script_test_7.stdout and script_test_8.stdout. (MOSTLYCLEANFILES): Add script_test_6, script_test_7 and script_test_8. (script_test_6, script_test_6.stdout, script_test_7, script_test_7.stdout, script_test_8, script_test_8.stdout): New rules. * Makefile.in: Regenerate. * testsuite/script_test_6.sh: New file. * testsuite/script_test_6.t: Same. * testsuite/script_test_7.sh: Same. * testsuite/script_test_7.t: Same. * testsuite/script_test_8.sh: Same.
This commit is contained in:
@@ -191,6 +191,17 @@ class Script_sections
|
||||
void
|
||||
release_segments();
|
||||
|
||||
// Whether we ever saw a SEGMENT_START expression, the presence of which
|
||||
// changes the behaviour of -Ttext, -Tdata and -Tbss options.
|
||||
bool
|
||||
saw_segment_start_expression() const
|
||||
{ return this->saw_segment_start_expression_; }
|
||||
|
||||
// Set the flag which indicates whether we saw a SEGMENT_START expression.
|
||||
void
|
||||
set_saw_segment_start_expression(bool value)
|
||||
{ this->saw_segment_start_expression_ = value; }
|
||||
|
||||
// Print the contents to the FILE. This is for debugging.
|
||||
void
|
||||
print(FILE*) const;
|
||||
@@ -253,6 +264,8 @@ class Script_sections
|
||||
bool saw_data_segment_align_;
|
||||
// Whether we have seen DATA_SEGMENT_RELRO_END.
|
||||
bool saw_relro_end_;
|
||||
// Whether we have seen SEGMENT_START.
|
||||
bool saw_segment_start_expression_;
|
||||
};
|
||||
|
||||
} // End namespace gold.
|
||||
|
||||
Reference in New Issue
Block a user