+2016-12-01  Cary Coutant  <ccoutant@gmail.com>
+
+       PR gold/20807
+       * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Handle
+       section symbols correctly.
+       * arm.cc (Target_arm): Likewise.
+       * powerpc.cc (Target_powerpc): Likewise.
+
 2016-11-27  Ambrogino Modigliani  <ambrogino.modigliani@gmail.com>
 
        * aarch64-reloc.def: Fix spelling in comments.
 
          if (!is_defined_in_discarded_section)
            {
              typedef Sized_relobj_file<size, big_endian> ObjType;
+             if (psymval->is_section_symbol())
+               symval.set_is_section_symbol();
              typename ObjType::Compute_final_local_value_status status =
                object->compute_final_local_value(r_sym, psymval, &symval,
                                                  relinfo->symtab);
 
          if (!is_defined_in_discarded_section)
            {
              typedef Sized_relobj_file<32, big_endian> ObjType;
+             if (psymval->is_section_symbol())
+               symval.set_is_section_symbol();
              typename ObjType::Compute_final_local_value_status status =
                arm_object->compute_final_local_value(r_sym, psymval, &symval,
                                                      relinfo->symtab);
 
          const Symbol_value<size>* psymval
            = this->object_->local_symbol(this->r_sym_);
          Symbol_value<size> symval;
+         if (psymval->is_section_symbol())
+           symval.set_is_section_symbol();
          typedef Sized_relobj_file<size, big_endian> ObjType;
          typename ObjType::Compute_final_local_value_status status
            = this->object_->compute_final_local_value(this->r_sym_, psymval,