* ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)

GNU C specific macros.

        * emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
        call to LANG_FOR_EACH_INPUT_SECTION.
This commit is contained in:
Jeff Law 1994-02-05 07:03:48 +00:00
parent 9b39ed6bfa
commit 9dd7d585d6
2 changed files with 46 additions and 30 deletions

View File

@ -1,3 +1,11 @@
Fri Feb 4 23:02:19 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* ldlang.h (LANG_FOR_EACH_{INPUT,OUTPUT}_SECTION): Delete (unused)
GNU C specific macros.
* emultempl/hppaosf.em (hppaosf_finish): Expand the only remaining
call to LANG_FOR_EACH_INPUT_SECTION.
Fri Feb 4 16:26:08 1994 David J. Mackenzie (djm@thepub.cygnus.com)
* ldmisc.c (ldmalloc, xmalloc, ldrealloc, xrealloc): Functions

View File

@ -103,41 +103,49 @@ hppaosf_finish()
if (link_info.relocateable == false)
{
/* check for needed stubs */
LANG_FOR_EACH_INPUT_SECTION
(statement, abfd, section,
(
{
int new_sym_cnt = 0;
int i,j;
asymbol *syms = hppa_look_for_stubs_in_section (stub_file->the_bfd,
abfd,
output_bfd,
section,
statement->asymbols,
&new_sym_cnt,
&link_info);
extern lang_statement_list_type file_chain;
lang_input_statement_type *statement;
if ( (new_sym_cnt > 0) && syms )
{
struct symbol_cache_entry **old_asymbols = stub_file->asymbols;
for (statement = (lang_input_statement_type *)file_chain.head;
statement != (lang_input_statement_type *)NULL;
statement = (lang_input_statement_type *)statement->next)
{
asection *section;
bfd *abfd = statement->the_bfd;
for (section = abfd->sections;
section != (asection *)NULL;
section = section ->next)
{
int new_sym_cnt = 0;
int i,j;
asymbol *syms;
stub_file->asymbols = ldmalloc((stub_file->symbol_count + new_sym_cnt) * sizeof(asymbol *));
syms = hppa_look_for_stubs_in_section (stub_file->the_bfd,
abfd,
output_bfd,
section,
statement->asymbols,
&new_sym_cnt,
&link_info);
for ( j = 0; j < stub_file->symbol_count; j++ )
stub_file->asymbols[j] = old_asymbols[j];
if ( (new_sym_cnt > 0) && syms )
{
struct symbol_cache_entry **old_asymbols;
old_asymbols = stub_file->asymbols;
stub_file->asymbols = ldmalloc((stub_file->symbol_count + new_sym_cnt) * sizeof(asymbol *));
for ( j = 0; j < stub_file->symbol_count; j++ )
stub_file->asymbols[j] = old_asymbols[j];
for ( j = 0, i = stub_file->symbol_count; j < new_sym_cnt; j++, i++ )
stub_file->asymbols[i] = &syms[j];
for ( j = 0, i = stub_file->symbol_count; j < new_sym_cnt; j++, i++ )
stub_file->asymbols[i] = &syms[j];
stub_file->symbol_count += new_sym_cnt;
/* Now, attach the contents of the new linker stub(s) */
/* to the linker stub input section. */
}
}
)
)
stub_file->symbol_count += new_sym_cnt;
}
}
}
/* Add a statement to get the linker stubs included in the output */
lang_add_wild(".hppa_linker_stubs",NULL);