* som.c (bfd_section_from_som_symbol): Only to do the value
comparison for function symbols within executables.
This commit is contained in:
parent
7f695c077c
commit
c2e1207b3a
|
@ -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
|
||||||
|
|
13
bfd/som.c
13
bfd/som.c
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue