summaryrefslogtreecommitdiff
path: root/gold/target.h
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <koriakin@0x04.net>2016-02-06 01:52:00 +0100
committerMarcin Koƛcielnicki <koriakin@0x04.net>2016-02-06 01:52:00 +0100
commitbd8d853f779692d3d4f8dfb65cf173f7e080f498 (patch)
tree2b7e6d2aa27455655e4413672b2136071ae8700c /gold/target.h
parent148ec36086d9f59825f9c11be450cc8f5f250ed2 (diff)
gold: Add view and view_size parameters to is_call_to_non_split.
This is needed by s390 split-stack support, to distinguish call and load-address relocations. gold/ChangeLog: * i386.cc (Target_i386::is_call_to_non_split): Add view and view_size parameters. * reloc.cc (Sized_relobj_file::split_stack_adjust_reltype): Pass view and view_size to is_call_to_non_split. * target.cc (Target::is_call_to_non_split): Add view and view_size parameters. * target.h (class Target): Likewise.
Diffstat (limited to 'gold/target.h')
-rw-r--r--gold/target.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gold/target.h b/gold/target.h
index c0f24eea79..d20044e58c 100644
--- a/gold/target.h
+++ b/gold/target.h
@@ -326,8 +326,10 @@ class Target
// without -fsplit-stack. SYM is known to be defined in an object
// compiled without -fsplit-stack.
bool
- is_call_to_non_split(const Symbol* sym, const unsigned char* preloc) const
- { return this->do_is_call_to_non_split(sym, preloc); }
+ is_call_to_non_split(const Symbol* sym, const unsigned char* preloc,
+ const unsigned char* view,
+ section_size_type view_size) const
+ { return this->do_is_call_to_non_split(sym, preloc, view, view_size); }
// A function starts at OFFSET in section SHNDX in OBJECT. That
// function was compiled with -fsplit-stack, but it refers to a
@@ -661,7 +663,8 @@ class Target
// default implementation is that any function not defined by the
// ABI is a call to a non-split function.
virtual bool
- do_is_call_to_non_split(const Symbol* sym, const unsigned char*) const;
+ do_is_call_to_non_split(const Symbol* sym, const unsigned char*,
+ const unsigned char*, section_size_type) const;
// Virtual function which may be overridden by the child class.
virtual void