diff options
author | Ian Lance Taylor <ian@airs.com> | 2008-04-09 00:48:13 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2008-04-09 00:48:13 +0000 |
commit | 0864d55193d9ad757c26cba29da1de1c00be4ba8 (patch) | |
tree | bd0b661d221890ae9c1e7211dd2a861f5140f2a7 /gold/target.h | |
parent | 789aa6de31480d7b322e515b43451b1b1108fedc (diff) | |
download | ppe42-binutils-0864d55193d9ad757c26cba29da1de1c00be4ba8.tar.gz ppe42-binutils-0864d55193d9ad757c26cba29da1de1c00be4ba8.zip |
* options.h (class General_options): Define --wrap as a special
option. Add wrap_symbols_ field.
(General_options::any_wrap_symbols): New function.
(General_options::is_wrap_symbol): New function.
* options.cc (General_options::parse_wrap): New function.
(General_options::General_options): Initialize wrap_symbols_.
* symtab.cc (Symbol_table::wrap_symbol): New function.
(Symbol_table::add_from_object): Handle --wrap.
* symtab.h (class Symbol_table): Declare wrap_symbol.
* target.h (Target::wrap_char): New function.
(Target::Target_info): Add wrap_char field.
* i386.cc (Target_i386::i386_info): Initialize wrap_char.
* x86_64.cc (Target_x86_64::x86_64_info): Likewise.
* testsuite/testfile.cc (Target_test::test_target_info):
Likewise.
Diffstat (limited to 'gold/target.h')
-rw-r--r-- | gold/target.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gold/target.h b/gold/target.h index a71cbc6628..30fa0086ca 100644 --- a/gold/target.h +++ b/gold/target.h @@ -132,6 +132,15 @@ class Target is_default_stack_executable() const { return this->pti_->is_default_stack_executable; } + // Return a character which may appear as a prefix for a wrap + // symbol. If this character appears, we strip it when checking for + // wrapping and add it back when forming the final symbol name. + // This should be '\0' if not special prefix is required, which is + // the normal case. + char + wrap_char() const + { return this->pti_->wrap_char; } + // This is called to tell the target to complete any sections it is // handling. After this all sections must have their final size. void @@ -179,6 +188,8 @@ class Target // Whether an object file with no .note.GNU-stack sections implies // that the stack should be executable. bool is_default_stack_executable; + // Prefix character to strip when checking for wrapping. + char wrap_char; // The default dynamic linker name. const char* dynamic_linker; // The default text segment address. |