+2015-12-11  Cary Coutant  <ccoutant@gmail.com>
+
+       * target.h (Target::calls_non_split): Add prelocs, reloc_count
+       parameters.
+       (Target::do_calls_non_split): Likewise.
+       * target.cc (Target::do_calls_non_split): Likewise.
+       * reloc.cc (Sized_relobj_file::split_stack_adjust_reltype): Adjust
+       call to Target::calls_non_split.
+       * i386.cc (Target_i386::do_calls_non_split): Add prelocs, reloc_count
+       parameters.
+       * powerpc.cc (Target_powerpc::do_calls_non_split): Likewise.
+       * x86_64.cc (Target_x86_64::do_calls_non_split): Likewise.
+
 2015-12-11  Cary Coutant  <ccoutant@gmail.com>
 
        * object.cc (Sized_relobj_file::Sized_relobj_file): Initialize
 
   void
   do_calls_non_split(Relobj* object, unsigned int shndx,
                     section_offset_type fnoffset, section_size_type fnsize,
+                    const unsigned char* prelocs, size_t reloc_count,
                     unsigned char* view, section_size_type view_size,
                     std::string* from, std::string* to) const;
 
 Target_i386::do_calls_non_split(Relobj* object, unsigned int shndx,
                                       section_offset_type fnoffset,
                                       section_size_type fnsize,
+                                      const unsigned char*,
+                                      size_t,
                                       unsigned char* view,
                                       section_size_type view_size,
                                       std::string* from,
 
   void
   do_calls_non_split(Relobj* object, unsigned int shndx,
                     section_offset_type fnoffset, section_size_type fnsize,
+                    const unsigned char* prelocs, size_t reloc_count,
                     unsigned char* view, section_size_type view_size,
                     std::string* from, std::string* to) const;
 
     unsigned int shndx,
     section_offset_type fnoffset,
     section_size_type fnsize,
+    const unsigned char* prelocs,
+    size_t reloc_count,
     unsigned char* view,
     section_size_type view_size,
     std::string* from,
     {
       // warn
       Target::do_calls_non_split(object, shndx, fnoffset, fnsize,
-                                view, view_size, from, to);
+                                prelocs, reloc_count, view, view_size,
+                                from, to);
       return;
     }
 
 
       std::string from;
       std::string to;
       parameters->target().calls_non_split(this, shndx, p->first, p->second,
+                                          prelocs, reloc_count,
                                           view, view_size, &from, &to);
       if (!from.empty())
        {
 
 
 void
 Target::do_calls_non_split(Relobj* object, unsigned int, section_offset_type,
-                          section_size_type, unsigned char*, section_size_type,
+                          section_size_type, const unsigned char*, size_t,
+                          unsigned char*, section_size_type,
                           std::string*, std::string*) const
 {
   static bool warned;
 
   void
   calls_non_split(Relobj* object, unsigned int shndx,
                  section_offset_type fnoffset, section_size_type fnsize,
+                 const unsigned char* prelocs, size_t reloc_count,
                  unsigned char* view, section_size_type view_size,
                  std::string* from, std::string* to) const
   {
-    this->do_calls_non_split(object, shndx, fnoffset, fnsize, view, view_size,
+    this->do_calls_non_split(object, shndx, fnoffset, fnsize,
+                            prelocs, reloc_count, view, view_size,
                             from, to);
   }
 
   // Virtual function which may be overridden by the child class.
   virtual void
   do_calls_non_split(Relobj* object, unsigned int, section_offset_type,
-                    section_size_type, unsigned char*, section_size_type,
+                    section_size_type, const unsigned char*, size_t,
+                    unsigned char*, section_size_type,
                     std::string*, std::string*) const;
 
   // make_elf_object hooks.  There are four versions of these for
 
   void
   do_calls_non_split(Relobj* object, unsigned int shndx,
                     section_offset_type fnoffset, section_size_type fnsize,
+                    const unsigned char* prelocs, size_t reloc_count,
                     unsigned char* view, section_size_type view_size,
                     std::string* from, std::string* to) const;
 
 Target_x86_64<size>::do_calls_non_split(Relobj* object, unsigned int shndx,
                                        section_offset_type fnoffset,
                                        section_size_type fnsize,
+                                       const unsigned char*,
+                                       size_t,
                                        unsigned char* view,
                                        section_size_type view_size,
                                        std::string* from,