* libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
* peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
* peicode.h (coff_get_symbol_info): Define.
1999-09-11 Donn Terry <donn@interix.com>
+ * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare.
+ * peigen.c (_bfd_pe_bfd_get_symbol_info): New function.
+ * peicode.h (coff_get_symbol_info): Define.
+
* config.bfd (i[3456]86-*-interix*): Set targ_cflags to
-DSTRICT_PE_FORMAT.
* coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
boolean _bfd_pe_print_private_bfd_data_common PARAMS ((bfd *, PTR));
-boolean _bfd_pe_bfd_copy_private_bfd_data_common PARAMS ((bfd*, bfd*));
+boolean _bfd_pe_bfd_copy_private_bfd_data_common PARAMS ((bfd *, bfd *));
+
+void _bfd_pe_get_symbol_info PARAMS ((bfd *, asymbol *, symbol_info *));
/* The following are needed only for ONE of pe or pei, but don't
otherwise vary; peicode.h fixes up ifdefs but we provide the
#define coff_bfd_copy_private_section_data \
_bfd_pe_bfd_copy_private_section_data
+
+#define coff_get_symbol_info _bfd_pe_get_symbol_info
return true;
}
+
+void
+_bfd_pe_get_symbol_info (abfd, symbol, ret)
+ bfd *abfd;
+ asymbol *symbol;
+ symbol_info *ret;
+{
+ coff_get_symbol_info (abfd, symbol, ret);
+
+ if (pe_data (abfd) != NULL
+ && ((symbol->flags & BSF_DEBUGGING) == 0
+ || (symbol->flags & BSF_DEBUGGING_RELOC) != 0)
+ && ! bfd_is_abs_section (symbol->section))
+ ret->value += pe_data (abfd)->pe_opthdr.ImageBase;
+}