* som.c (bfd_section_from_som_symbol): Only to do the value

comparison for function symbols within executables.
This commit is contained in:
Jeff Law 1994-03-21 02:08:37 +00:00
parent 7f695c077c
commit c2e1207b3a
2 changed files with 12 additions and 4 deletions

View File

@ -1,5 +1,8 @@
Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu) Sun Mar 20 09:24:36 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* som.c (bfd_section_from_som_symbol): Only to do the value
comparison for function symbols within executables.
* som.c (bfd_section_from_som_symbol): Renamed from * som.c (bfd_section_from_som_symbol): Renamed from
som_section_from_subspace_index. Pass in a native SOM symbol. som_section_from_subspace_index. Pass in a native SOM symbol.
For executables, iterate through the sections to find out For executables, iterate through the sections to find out

View File

@ -3263,7 +3263,7 @@ som_write_headers (abfd)
/* Skip any section which does not correspond to a space or /* Skip any section which does not correspond to a space or
subspace, or which SEC_ALLOC set (and therefore handled subspace, or which SEC_ALLOC set (and therefore handled
in the loadable spaces/subspaces code above. */ in the loadable spaces/subspaces code above). */
if (!som_is_subspace (subsection) if (!som_is_subspace (subsection)
|| !som_is_container (section, subsection) || !som_is_container (section, subsection)
@ -3622,9 +3622,14 @@ bfd_section_from_som_symbol (abfd, symbol)
{ {
asection *section; asection *section;
/* The meaning of the symbol_info field changes for executables. So /* The meaning of the symbol_info field changes for functions
only use the quick symbol_info mapping for incomplete objects. */ within executables. So only use the quick symbol_info mapping for
if ((abfd->flags & EXEC_P) == 0) incomplete objects and non-function symbols in executables. */
if ((abfd->flags & EXEC_P) == 0
|| (symbol->symbol_type != ST_ENTRY
&& symbol->symbol_type != ST_PRI_PROG
&& symbol->symbol_type != ST_SEC_PROG
&& symbol->symbol_type != ST_MILLICODE))
{ {
unsigned int index = symbol->symbol_info; unsigned int index = symbol->symbol_info;
for (section = abfd->sections; section != NULL; section = section->next) for (section = abfd->sections; section != NULL; section = section->next)