From cd1d8c6d89ab6b17bf5b9b0a4659e1e1209e0d48 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Thu, 27 Aug 1992 00:32:05 +0000 Subject: [PATCH] * ldlang.c (lang_process): don't pass null pointers when abs_output_section is what is required. * ldwrite.c (ldwrite): use malloc to allocate the largest space used, and pass that down. * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather than alloca. --- ld/ChangeLog | 9 +++++++++ ld/relax.c | 13 ++++++++----- ld/relax.h | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 536e3d7879..f602b45f0c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +Wed Aug 26 17:28:51 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ldlang.c (lang_process): don't pass null pointers when + abs_output_section is what is required. + * ldwrite.c (ldwrite): use malloc to allocate the largest space + used, and pass that down. + * relax.c,relax.h (write_relaxnorel): use the passed malloc area rather + than alloca. + Mon Aug 24 14:42:06 1992 Ian Lance Taylor (ian@cygnus.com) * configure.in, config/ose68.mt: renamed OSE to ose. diff --git a/ld/relax.c b/ld/relax.c index 5335b2381e..5738b5bddb 100644 --- a/ld/relax.c +++ b/ld/relax.c @@ -27,8 +27,9 @@ DEFUN(build_it,(statement), lang_statement_union_type *statement) { switch (statement->header.type) { - { #if 0 + { + bfd_byte play_area[SHORT_SIZE]; unsigned int i; bfd_putshort(output_bfd, statement->fill_statement.fill, play_area); @@ -55,10 +56,11 @@ DEFUN(build_it,(statement), 1); } -#endif + abort(); } break; +#endif case lang_data_statement_enum: #if 0 { @@ -147,8 +149,9 @@ DEFUN(build_it,(statement), void -DEFUN(write_relaxnorel,(output_bfd), - bfd *output_bfd) +DEFUN(write_relaxnorel,(output_bfd, data), + bfd *output_bfd AND + PTR data) { /* Tie up all the statements to generate an output bfd structure which bfd can mull over */ @@ -156,7 +159,7 @@ DEFUN(write_relaxnorel,(output_bfd), lang_for_each_statement(build_it); - seclet_dump(output_bfd); + seclet_dump(output_bfd, data); } diff --git a/ld/relax.h b/ld/relax.h index 06322b9ce0..a280b97036 100644 --- a/ld/relax.h +++ b/ld/relax.h @@ -1,4 +1,4 @@ -void EXFUN(write_relaxnorel,( bfd *output_bfd)); +void EXFUN(write_relaxnorel,( bfd *output_bfd, PTR data)); boolean EXFUN(relax_section,( lang_statement_union_type **this_ptr));