* scripttempl/alpha.sc: Clean up section alignment to ensure that
[deliverable/binutils-gdb.git] / ld / ChangeLog
index 5cd1d1712ade816491fbc7b23392f6f6f39b1a00..420abdfab8c55685ed6d6eb0b6b19386a1bdf0dd 100644 (file)
@@ -1,5 +1,413 @@
+Thu Mar 31 18:07:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * scripttempl/alpha.sc: Clean up section alignment to ensure that
+       sections never overlap when using -r.
+
+Wed Mar 30 15:51:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
+       changes: get_symtab_upper_bound renamed and returns long,
+       bfd_canonicalize_symtab returns long, check for error indications.
+
+Fri Mar 25 17:20:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (print_input_section): For section size, use
+       _cooked_size if it is non-zero, size otherwise.
+       (size_input_section): Likewise.
+       (lang_do_assignments): Likewise (case lang_input_section_enum).
+
+Thu Mar 24 15:20:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (new_afile): Add new argument add_to_list.  Don't set
+       real to true for lang_input_file_is_marker_enum.  Clear the_bfd.
+       (lang_add_input_file): Pass true to new_afile for add_to_list.
+       (lookup_name): Remove force_load argument.  Changed all callers.
+       Pass false to new_afile for add_to_list.  Split loading of symbols
+       out into separate function.
+       (load_symbols): New function split out of lookup_name.  Don't load
+       the symbols if they are already loaded.
+       (open_input_bfds): For lang_input_statement_enum call load_symbols
+       rather than lookup_name.
+       (lang_process): Pass abs_output_section rather than NULL to
+       lang_size_sections.
+       (lang_startup): Set real field of first_file to true.
+
+Wed Mar 23 14:15:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (had_relax): Removed.
+       (relax_again): New static variable.
+       (lang_size_sections): Change call to bfd_relax_section to
+       correspond to BFD changes.  Set relax_again appropriately.
+       (lang_process): Remove #if 0 code.  When relaxing, keep calling
+       lang_do_assignments and lang_size_sections until relax_again
+       becomes false.
+
+       * emultemp/gld960.em: Include libiberty.h
+       (gld960_before_parse): Pass NULL as final argument to concat.
+
+Tue Mar 22 13:08:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * scripttempl/aout.sc: Force _end and __end to be aligned to a
+       four byte boundary.
+
+       * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
+       building a bfd_data_link_order, rather than by setting the section
+       contents immediately.
+
+Mon Mar 21 18:28:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       Changes to make -Ur work again.
+       * ldmain.c (add_to_set): Now takes reloc argument rather than
+       bitsize.  Check config.build_constructors here.  If an new hash
+       table entry is created, mark it as undefined.
+       (constructor_callback): No longer takes bitsize argument.  Pass
+       BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
+       BFD backend supports it.
+       (reloc_overflow): Handle a NULL abfd argument.
+       (reloc_dangerous, unattached_reloc): Likewise.
+       * ldctor.c: Include ldmain.h.
+       (struct set_info): Change bitsize field to reloc.
+       (ldctor_add_set_entry): Now takes reloc argument rather than
+       bitsize.  Don't bother to check config.build_constructors here.
+       (ldctor_build_sets): Get the size from the reloc howto.  If
+       generating relocateable output, call lang_add_reloc rather than
+       lang_add_data.
+       * ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
+       instead of bitsize.
+       * ldlang.h (statement_enum): Add lang_reloc_statement_enum.
+       (lang_reloc_statement_type): New structure.
+       (lang_statement_union_type): Add reloc_statement field.
+       (lang_add_reloc): Declare new function.
+       * ldlang.c (lang_for_each_statement_worker): Handle
+       lang_reloc_statement_enum.
+       (map_input_to_output_sections, print_statement): Likewise.
+       (lang_size_sections, lang_do_assignments): Likewise.
+       (print_reloc_statement): New function.
+       (lang_add_reloc): New function.
+       * ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
+
+       * Makefile.in (cdtest.out, cdtest-ur.o): New targets.
+       (cdtest-ur, cdtest-ur.out): New targets.
+       (check-cdtest): Now also check that -Ur works correctly.
+
+       * scripttemp/alpha.sc: Align all sections to 16 byte boundaries.
+
+Thu Mar 17 12:45:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (lang_process): Move lang_common call before
+       map_input_to_output_sections, to ensure that any alignment
+       constraints set by common symbols are copied over to the output
+       sections.
+
+Fri Mar 11 22:17:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * emulparams/elf32ppc.sh (TEMPLATE_NAME): Don't define.
+       (OTHER_READWRITE_SECTIONS): Rename .toc to .got.
+       * Makefile.in (em_elf32ppc.c): Depend upon generic.em, not ppc.em.
+       * emultempl/ppc.em: Remove ugly stub code; turns out not to be
+       needed for ELF.
+
+Tue Mar  8 04:22:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * config/i386bsd.mh: New file.
+
+Mon Mar  7 15:23:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
+       defined.
+       * emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
+       (DATA_START_SYMBOLS): Define _fdata.
+
+Mon Feb 28 10:59:14 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+       * ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
+
+Sun Feb 27 16:29:38 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * emultempl/hppaelf.em (hppaelf_finish): Update comments.  This
+       works again.  Attach some output symbols to the stub file bfd.
+
+       * emultempl/hppaelf.em: Include elf32-hppa.h.
+       (file_chain): Add decl.
+       (hppa_look_for_stubs_in_section): Delete decl.
+       (hppaelf_finish): Reenable code.  Do not pass symbols
+       down to hppa_look_for_stubs_in_section.
+
+Sat Feb 26 10:58:25 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ldmain.c (write_map): Don't define.  Removed all references.
+       Just use map_file or map_filename instead.
+       (add_archive_element): Use minfo to write map information, not
+       info_msg.
+       (constructor_callback): Use fprintf to write map information, not
+       info_msg.
+       * ldmain.h (write_map): Don't declare.
+       * ldgram.y (mri_script_command): Removed reference to write_map.
+       * ldlang.c (lang_one_common): Likewise.
+       * lexsup.c (parse_args): Likewise.
+
+Fri Feb 25 19:12:03 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * scripttempl/elf.sc: Force all sections to be aligned.
+
+       * ldgram.y (section): Reverse the order of memspec_opt and
+       fill_opt to avoid an ambiguity when both are used.
+       * ld.texinfo: Changed accordingly.
+
+       * ldgram.y: Move include of ldlex.h back with other includes.
+       * ldlex.h (input_type): Don't initialize enum constants to
+       particular values.
+       * ldlex.l: Use a switch to return the right token based on
+       input_type, rather than knowing that input_type has a value based
+       on a token type.
+
+       * ldgram.y (dirlist_ptr): Removed; not used.
+       * lexsup.c: Include ldver.h.
+       * Makefile.in: Rebuilt dependencies.
+
+Fri Feb 25 18:55:54 1994  Ted Lemon  (mellon@pepper.ncd.com)
+
+       * ldlang.c (lookup_name): don't call bfd_set_gp_size.
+       (ldlang_add_file): call it here instead.
+
+Fri Feb 25 18:13:46 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * ldgram.y: Include ldlex.h after %token decls, for byacc.
+
+Fri Feb 25 10:47:25 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+        * emultempl/hppaelf.em: First attempt to clean this file up.
+       Add comments in several functions as to their purpose and
+       how they function (or my current best guess).  Clean up horrible
+       spacing and indention that never should have been accepted in the
+       first place.  Add FIXMEs for issues which need to be resolved.
+       Disable linker-stub generation until it gets fixed.  This allows
+       the linker to at least work on simple code for testing purposes.
+
+       * ldlang.c (lang_size_sections): No longer static (PA ELF calls
+       it via hppaelf_finish).  Prototype moved into ldlang.h.
+       (lang_process): Move problematic extra call to lang_size_sections
+       into the PA ELF specific code.
+       * emultempl/hppaelf.em (hppaelf_finish): Extra call to
+       lang_size_sections moved here.
+
+Thu Feb 24 16:47:33 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
+       * config/ppc-elf32.mt: New file.
+       * emulparams/elf32ppc.sh: New file.
+       * emultempl/ppc.em: New file.
+       * Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
+       (em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
+       (EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
+
+Thu Feb 24 12:27:07 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * lexsup.c (parse_args): Use symbolic numbers for long options.
+       Fix misunderstanding in -Y and -call_shared et al.
+
+       Use getopt instead of lex and yacc to parse the command line.
+
+       * ld.texinfo (Options): Document changes to option syntax.
+       * Makefile.in: Update dependencies.
+       * ldver.c (help): Tweak dashes in usage message.
+       * ldgram.y (%union): Remove unused members.
+       Remove %tokens for command line options; add ones for input types.
+       (command_line): Rules removed.
+       (file): Instead of command line, recognize an
+       input type indicator, then use the nonterminal for that type.
+       (defsym_expr): New nonterminal from code formerly in command_line.
+       * ldlex.h: Declare parser input type enum and variable.
+       Don't declare parse_line.
+       * ldlex.l: Remove unused variables.  Make some used ones static
+       and comment them.
+       (COMMAND): Start state and its rules removed.
+       At start of yylex, return input state token if at start of input.
+       (lex_redirect): Don't need to set yyout.
+       (ldlex_command): Function removed.
+       * ldmain.c (main): Instead of calling parse_line, set up the
+       redirections and call yyparse directly.
+       * ldmisc.c (vfinfo): If there's no input filename, print nothing, not
+       "command line".
+       * lexsup.c: Remove #if 0'd code.
+       (parse_line): Function removed.
+       (parse_args): Rewrite to use getopt_long_only.
+       (set_default_dirlist): New function from code formerly in
+       ldgram.y:command_line.
+       (set_section_start): New function.
+       * emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
+       emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
+       compiled-in link scripts in "{" and "}", as the grammar no longer
+       wants them to be.
+
+Thu Feb 24 08:43:26 1994  Ken Raeburn  (raeburn@rtl.cygnus.com)
+
+       * Makefile.in (ld.dvi): Depend on configdoc.texi, but don't
+       require that it be in $(srcdir).
+
+Tue Feb 22 09:21:18 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ldlang.c (lang_size_sections): Only align section to alignment
+       required by linker script, not to maximum alignment of input
+       sections.
+
+       * ldlang.h (largest_section): Don't declare.
+       * ldlang.c (largest_section): Don't define.
+       (size_input_section): Don't set largest_section; not used.
+
+Mon Feb 21 15:15:29 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       * ldlang.c (new_afile): Pass NULL as last argument to concat.
+
+Thu Feb 17 15:51:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c, ldmain.c: Include libiberty.h.
+
+       * ldmisc.h (concat): Don't declare.
+       * ldmisc.c (concat): Don't define; just use the one in libiberty.
+
+       * ld.h (as_output_section_statement): Removed; not used.
+
+Thu Feb 17 09:32:14 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldlang.c, ldmain.c, ldmisc.c: Use bfd_get_error and
+       bfd_set_error and new error names. 
+
+Tue Feb 15 20:14:53 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * ldwrite.c (build_link_order): If the cooked size of the section
+       has been set, use it, for determining link_order size.
+       (ldwrite): In the error message displayed if bfd_final_link fails,
+       indicate that it was in fact the final link step that failed.
+
+       * ldlang.c (lang_size_sections): Clear bfd_error before calling
+       bfd_relax_section, in case it returns false but doesn't flag an
+       error.  If an error is returned, indicate which one it is in the
+       error message.
+
+       * Makefile.in (install-info): Depend on ld.info, and use "$<*" so
+       it'll get picked up from $(srcdir) if appropriate.
+
+Tue Feb 15 16:32:04 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
+
+       * scripttempl/aout.sc: Only pad .text if PAD_TEXT is set.
+       * emulparams/i386mach.sh (PAD_TEXT): Set PAD_TEXT.
+
+Fri Feb 11 17:02:49 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldlex.l (comment): Increment line number when newline is read.
+
+Fri Feb 11 17:36:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (lookup_name): Take new argument, force_load.  If true,
+       reload the file even if it is already loaded.
+       (wild): Call lookup_name with force_load argument of 0.
+       (open_input_bfds): Call lookup_name with force_load argument of 1.
+       (print_symbol): Remove declaration of non-existent function.
+       (print_one_symbol): Return true rather than falling off end.
+
+Thu Feb 10 11:52:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmain.c (main): Use %ld when printing long values.
+
+       * scripttempl/elf.sc: Move _edata after the .sdata section.
+       Permit OTHER_BSS_SYMBOLS to be defined.
+       * emulparams/elf32mipb.s (OTHER_BSS_SYMBOLS): Define _fbss.
+
+Mon Feb  7 16:31:15 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * Rename all "hppaosf" files to "hppaelf".
+       * Change all "osf" references to "elf" in hppaelf files.
+       * Makefile.in: Likewise.
+       * configure.in: Likewise.
+
+Sun Feb  6 20:31:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldmain.c (main): Call xatexit, not atexit.
+       Call xmalloc_set_program_name.
+
+       * ldlang.c (lang_size_sections): Check if bfd_relax_section set
+       bfd_errno. 
+
+Sat Feb  5 03:54:34 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * emultempl/lnk960.em (append), emultempl/hppaosf.em
+       (hppaosf_finish): Call xmalloc, not ldmalloc.
+       * ldmain.c (preserve_output): Function removed.
+       (main): Do it here instead.
+
+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
+       deleted; will use libiberty versions instead.
+       * ldctor.c ldfile.c ldlang.c ldmain.c ldmisc.c ldmisc.h lexsup.c
+       mri.c Makefile.in: Change callers.
+
+       * ldmisc.c (vfinfo): Remove cleanup code.
+       * ldmain.c (remove_output): Put it here (new function).
+       (preserve_output): New function.
+       (main): Register remove_output and preserve_output with atexit.
+       * ldmain.c ldgram.y: Call xexit instead of exit.
+       * ldmisc.h: Declare xexit.
+
+Fri Feb  4 15:19:01 1994  Steve Chamberlain  (sac@cygnus.com)
+
+       * Makefile.in: Lots of new H8/500 memory models.
+
+Sun Jan 30 14:33:40 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * ldlex.l: Removed duplicate rules.
+       (yywrap): Provide default definition, needed with some versions of
+       flex.
+
+Fri Jan 28 09:12:56 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldmisc.c (vfinfo): For `%I', if the file is in an archive, print
+       the archive filename too.
+
+       * ldlex.l: Add rule to catch invalid input characters instead of
+       printing them.  Include "ldmain.h" for program_name decl.
+       (lex_warn_invalid): New function.
+       * Makefile.in: Add dependency.
+
+Fri Jan 28 12:58:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
+
+       * Makefile.in (check): Don't bother running any tests of
+       cross-linker until the test suite no longer assumes native mode.
+
+Thu Jan 27 17:19:54 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * ldlang.c (print_one_symbol, print_input_section):  Print
+       global symbols in symbol table again.
+
+Thu Jan 27 12:35:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given, 
+       exit successfully instead of complaining if no input files are
+       given. 
+
+Tue Jan 25 13:19:41 1994  Stan Shebs  (shebs@andros.cygnus.com)
+
+       * Makefile.in: Format variable definitions consistently.
+       (LD_PROG): Remove unnecessary variables from link command,
+       change variable LOADLIBES to EXTRALIBS.
+
+       * ldmain.c (main): Compute and display total execution time.
+       * ld.texinfo (-stats): Document the option.
+
 Mon Jan 24 12:56:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
+       * ldmain.c (reloc_overflow): Added name, reloc_name and addend
+       arguments.
+
        * ldlang.c (lookup_name): Set BFD GP size to -G argument value
        after opening BFD.
 
@@ -2186,3 +2594,7 @@ Fri Oct  4 21:51:58 1991  John Gilmore  (gnu at cygnus.com)
        * ldfile.c, ldlang.c, ldmain.c, ldwrite.c:  Cope with renames of a
        few BFD types & enums.
 
+\f
+Local Variables:
+version-control: never
+End:
This page took 0.027773 seconds and 4 git commands to generate.