* object.cc (Xindex::initialize_symtab_xindex): New function.
[deliverable/binutils-gdb.git] / gold / ehframe.cc
index 4ec29f6b97f7694b7762dbe7198ad7d6e33bdd07..5061f80764ea760fcb892ad04ace660574a63e52 100644 (file)
@@ -971,9 +971,12 @@ Eh_frame::read_fde(Sized_relobj<size, big_endian>* object,
   if (symndx >= symbols_size / sym_size)
     return false;
   elfcpp::Sym<size, big_endian> sym(symbols + symndx * sym_size);
-  fde_shndx = sym.get_st_shndx();
+  bool is_ordinary;
+  fde_shndx = object->adjust_sym_shndx(symndx, sym.get_st_shndx(),
+                                      &is_ordinary);
 
-  if (fde_shndx != elfcpp::SHN_UNDEF
+  if (is_ordinary
+      && fde_shndx != elfcpp::SHN_UNDEF
       && fde_shndx < object->shnum()
       && !object->is_section_included(fde_shndx))
     {
This page took 0.02431 seconds and 4 git commands to generate.