* scripttempl/alpha.sc: Clean up section alignment to ensure that
[deliverable/binutils-gdb.git] / ld / ChangeLog
index 80d3d44ee007e3e6beed9006cd2e1709aa61c1a2..420abdfab8c55685ed6d6eb0b6b19386a1bdf0dd 100644 (file)
@@ -1,3 +1,783 @@
+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.
+
+       * ldlang.c (relaxing): Removed global variable.
+       (lang_size_sections): If the canonical symbols have not already
+       been read in, read them in before relaxing.
+       * ldlang.h (relaxing): Removed declaration.
+
+Fri Jan 21 00:44:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlang.c (new_afile): Initialize loaded field to false.
+       (lookup_name): If file was already loaded, don't call the
+       add_symbols entry point again.
+
+Wed Jan 19 13:57:00 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ld.texinfo: Clarify what -T option does.
+
+Tue Jan 18 16:18:15 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
+
+       * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
+       for a.out.
+
+Fri Jan 14 12:37:16 1994  Ian Lance Taylor  (ian@cygnus.com)
+
+       Motorola Delta sysV68 support from phdm@info.ucl.ac.BE (Philippe
+       De Muyter).
+       * configure.in (m68k-motorola-sysv*) New target.
+       * config/delta68.mt: New file.
+       * emulparams/delta68.sh: New file.
+       * scripttempl/delta68.sc: New file.
+       * Makefile.in (ALL_EMULATIONS): Added em_delta68.o.
+       (em_delta68.c): New target.
+
+Tue Jan 11 13:22:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmain.c (add_archive_element): If trace_files or
+       trace_file_tries, print file name.
+       * ldlang.c (lookup_name): Likewise.
+       (ldlang_add_file): Don't put files on input_bfds list in reverse
+       order.
+
+       * scripttempl/elf.sc: Correct typo.
+
+Mon Jan 10 19:49:05 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
+       their arguments optional, for compatibility with the old GNU ld.
+
+Fri Jan  7 20:00:24 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * scripttempl/elf.c: Define __bss_start before the .sbss section.
+
+Thu Jan  6 00:13:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmain.c (add_to_set): Add bitsize argument.
+       (constructor_callback): New function.
+       (link_callbacks): Add constructor_callback.
+       * ldctor.c (struct set_info): Add bitsize field.
+       (ldctor_add_set_entry): Add bitsize argument.
+       (ldctor_build_sets): Base the size of the elements of the set on
+       the bitsize, rather than always using LONG.
+       * ldctor.h (ldctor_add_set_entry): Add bitsize to declaration.
+
+       * ld.h (QUAD_SIZE): Define.
+       * ldgram.y (QUAD): New token.
+       (length): Handle it.
+       * ldlex.l: Return QUAD.
+       * lexsup.c (keywords): Add QUAD.
+       * ldwrite.c (build_link_order): Handle QUAD.
+       * ldlang.c (print_data_statement): Handle QUAD.
+       (lang_size_sections): Likewise.
+       (lang_do_assignments): Likewise.
+       * ldexp.c (exp_print_token): Add QUAD to table.
+       * ld.texinfo: Describe QUAD.
+
+       * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
+       since the Alpha doesn't use them.
+
+Wed Jan  5 17:42:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldemul.h (ld_emulation_xfer_struct): Comment the members.
+
+Sat Jan  1 13:39:31 1994  Rob Savoye  (rob@darkstar.cygnus.com)
+
+       * Makefile.in, configure.in: Add support for VSTa micro-kernel.
+       * config/vsta.mt, emulparams/vsta.sh: New files for VSTa.
+
+Sat Jan  1 10:53:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
+       needed for i386mach.  (Should be a no-op on other systems.)
+
+       * emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
+       (PAGE_SIZE): Don't define; not used.
+
+Fri Dec 31 16:12:06 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldgram.y (yyerror): Make argument const char *, and actually
+       print it out rather than assuming it is a syntax error.
+       * ldmisc.h: Change declaration of yyerror.
+       * ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
+
+Fri Dec 31 11:37:28 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
+       exec header offset, since the exec header isn't loaded.
+       (PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
+
+Thu Dec 30 13:01:43 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       A major rewrite to move the bulk of the linker into BFD so that
+       more efficient backend code can be written for specific object
+       files.
+       * lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
+       ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
+       * ldctor.c, ldctor.h: Complete rewrite.
+       * ldwrite.c, ldwrite.h: Complete rewrite.
+       * ld.h (strip_symbols_type, strip_symbols): Removed.  Use
+       link_info.strip instead.  Changed all uses.
+       (discard_locals_type, discard_locals): Removed.  Use
+       link_info.discard instead.  Changed all uses.
+       (ld_config_type): Removed relocateable_output field; use
+       link_info.relocateable instead; changed all uses.  Added stats
+       field.
+       (set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
+       set_loader_symbol): Removed.
+       * ldexp.h (node_class): Added etree_rel.
+       (etree_type): Added rel field.
+       * ldexp.c (exp_print_token): Bracketed table initialization.
+       (exp_relop): New function.
+       (fold_name): Use linker hash table rather than ldsym functions.
+       (exp_fold_tree): Likewise.  Also, handle etree_rel case.
+       (exp_print_tree): Handle etree_rel.
+       * ldgram.y (strip_symbols, discard_locals): Removed.
+       (OPTION_stats, OPTION_no_keep_memory): New tokens.  Handle them.
+       (REL): New token.  Does not appear in grammar, but needed for
+       expression code.
+       (file): Don't call lang_final; it's called by main anyhow.
+       * ldlex.l: Accept -stats and -no-keep-memory options.
+       * ldlang.h (fill_type): Make unsigned int, not unsigned short.
+       * ldlang.c: Consistently use fill_type for fill argument.
+       (lang_init_script_file, script_file): Removed.
+       (create_object_symbols): Removed.  Use
+       link_info.create_object_symbols_section instead.  Changed all
+       uses.
+       (lang_add_keepsyms_file): Removed.
+       (lookup_name): Call bfd_link_add_symbols instead of
+       ldmain_open_file_read_symbol.
+       (wild): Don't iterate over script_file.
+       (open_output): Create link hash table.
+       (lang_place_undefineds): Rewrote.
+       (lang_size_sections): Handle relaxing (doesn't work yet).
+       (lang_relocate_globals): Removed.
+       (lang_finish): Use link hash table rather than ldsym functions.
+       (lang_common): Rewrote.
+       (lang_one_common): New function.
+       (ldlang_add_file): Add file to link_info.input_bfds list.  Set
+       usrdata.
+       (create_symbol): Removed.
+       (lang_process): Don't call lang_init_script_file.  Call
+       ldctor_build_sets rather than find_constructors.  Don't call
+       lang_relocate_globals.
+       (lang_abs_symbol_at_beginning_of): Rewrote.
+       (lang_abs_symbol_at_end_of): Rewrote.
+       * ldmain.c (had_y): Removed.
+       (lprefix, lprefix_len): Removed; use link_info fields instead.
+       Changed all uses.
+       (multiple_def_count, commons_pending, undefined_global_sym_count,
+       total_symbols_seen, total_files_seen): Removed.
+       (link_callbacks, link_info): New variables.
+       (main): Initialize link_info.  Don't call init_bfd_error_vector or
+       ldsym_init.  Don't set now unused variables.  Handle -stats.
+       (get_emulation): Removed obsolete and nonfunctional GNU960 code.
+       (add_ysym): Rewrote.
+       (read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
+       search_library, gnu960_check_format, decode_library_subfile,
+       linear_library, symdef_library, clear_syms, subfile_wanted_p):
+       Removed.
+       (add_keepsyms_file, add_archive_element, multiple_definition,
+       multiple_common, add_to_set, warning_callback, undefined_symbol,
+       reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
+       New functions.
+       * ldmisc.c (vfinfo): Accept a string for %T, not a symbol.  Don't
+       require symbols for %C; look them up instead.
+       * emultempl/hppaosf.em: Pass link_info to
+       hppa_look_for_stubs_in_section.
+       * Makefile.in: Rebuilt dependencies.
+       (CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
+       relax.c.
+       (HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
+       relax.h.
+       (EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
+       ldlang.h and ldctor.h.
+
+       * Makefile.in (ldlex.c): Don't depend on ldgram.h.  Remove
+       declarations of free and malloc from flex output.  Change malloc
+       to ldmalloc in flex output.
+
+Thu Dec 16 21:19:57 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * ldmain.c (lprefix): Change default from a char to a string
+       with only one character.
+       (lprefix_len): Set default to one.
+
+       * ldmain.h (lprefix_len): Declare.
+
+       * ldsym.c (write_file_locals): Use strncmp rather than a character
+       comparison for lprefix.
+
+       * emultmpl/m88kbcs.em (before_parse): Set lprefix and lprefix_len
+       correctly.
+
+       * emultmpl/hppaosf.em: Include ldexp.h.
+       (before_parse): Set lprefix and lprefix_len correctly.
+
+Tue Dec 14 17:19:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldlex.h: Don't declare yywrap if it is a macro.
+       * ldlex.l: Include sysdep.h.
+       * ldlang.c (lang_for_each_statement_worker,
+       lang_for_each_statement): Forgot to use PARAMS.
+
+Mon Dec 13 14:30:03 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * Makefile.in: Added .PHONY targets where appropriate.  Added some
+       comments.  Also:
+       (gcclibdir, version): Removed unused variables.
+       (DEP): New variable, set to mkdep.
+       (ALL_CFLAGS): New variable.  Used in .c.o target.
+       (CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
+       variables.
+       (HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
+       GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
+       mostly obsolete variables.  Adjusted remaining uses.
+       (DEF_EMUL): Removed variable.
+       (ldmain.o): Handle undefined EMUL error correctly.
+       (ldemul-list.h): Depend on config.status rather than Makefile.
+       Create via temporary file.
+       (ver960.c, roll, make): Removed obsolete targets.
+       (.dep, .dep1, dep.sed, dep, dep-in): New targets.  Used to rebuild
+       dependencies.
+       * dep-in.sed: New file, used when rebuilding dependencies.
+
+Sat Dec 11 14:43:44 1993  Ian Lance Taylor  (ian@deneb.cygnus.com)
+
+       Made many changes to eliminate gcc warnings.  Made various
+       cosmetic changes, declared various things in header files, removed
+       various extern declarations from .c files.  No substantive
+       changes.
+
+       * ldlang.c (lang_process): Ifdef out final call to
+       lang_size_sections again (reverting change of Nove 2), since it
+       breaks the Sun4 linker.
+
+Thu Dec  2 16:31:47 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * configure.in (alpha-*-netware*): New target; use alpha.
+
+Wed Dec  1 14:04:20 1993  Ken Raeburn  (raeburn@cygnus.com)
+
+       * configure.in: Group targets by CPU.  Merge some m68k target
+       entries with different CPU specs that use the same ld_target
+       values.
+
+       * configure.in: Add sparc*-*-coff.
+       * config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
+       * Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
+       (em_coff_sparc.c): Add dependencies and build rules.
+
+       * ldmisc.c (errno, sys_nerr, sys_errlist): Don't declare. 
+
+Wed Dec  1 12:19:55 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldgram.y (OPTION_call_shared, OPTION_non_shared, OPTION_Oval):
+       New tokens.
+       (command_line_option): Accept and ignore them (for now).
+       * ldlex.l (<COMMAND>): Handle -non_shared, -call_shared, and -On
+       where n is a number.
+
+Mon Nov 22 14:14:29 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmain.c (subfile_wanted_p): If merging a common symbol which is
+       not in bfd_com_section, create the section in the BFD so that it
+       can be placed in the right output section.
+
+Fri Nov 19 14:12:39 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * configure.in (mips*-sgi-irix5*): New target.  Use mipsb-elf32.
+       * emulparams/elf32mipsb.sh (DATA_ADDR): Define.
+       (OTHER_READONLY_SECTIONS): Define for .reginfo.
+       (EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
+       * scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
+       Move OTHER_READONLY_SECTIONS after all the other readonly
+       sections.  Don't use DATA_ADDR twice.
+
+       * ldmain.c (enter_file_symbols): Removed duplicate tests of p.  If
+       p is in a common section, make sure the BFD has a section of that
+       name.
+
+       * ldlang.c (lang_common): Add newline to error message.
+
+Thu Nov 11 15:54:41 1993  Stan Shebs  (shebs@rtl.cygnus.com)
+
+       * emulparams/m68klynx.sh (SCRIPT_NAME): Define to use a
+       Lynx-specific script instead of m68kcoff.
+       (OUTPUT_FORMAT): Define as "coff-m68k-lynx".
+       (ENTRY): Define as __main.
+       (TEXT_START_ADDR): Define as 0.
+       (PAGE_SIZE): Define as 0x1000.
+       * emulparams/i386lynx.sh, emulparams/sparclynx.sh: Fix comment.
+       * scripttempl/m68klynx.sc: New file.
+
+Mon Nov  8 12:00:16 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
+
+       * ldmain.c (get_emulation): Ignore -mips1, -mips2 and -mips3
+       arguments rather than treating them as emulation names.
+
+Fri Nov  5 09:02:52 1993  D. V. Henkel-Wallace  (gumby@blues.cygnus.com)
+
+       * configure.in: Support x86 unixware and netware plus generic netware.
+
+Fri Nov  5 21:47:55 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * emulparams/i386mach.sh (TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): 
+       Correct values (?).
+
+Wed Nov  3 15:10:15 1993  Ken Raeburn  (raeburn@rover.cygnus.com)
+
+       * Makefile.in (distclean): Don't delete dvi or info files.
+       (ld.info): Update dependency list.
+       (ld.dvi): Ditto.  Extend TEXINPUTS to get bfdsumm.texi.
+
+Wed Nov  3 12:07:39 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * ldlang.c (lang_add_output): Take new arg, FROM_SCRIPT.
+       Set output_filename instead of creating a new node.
+       (open_output): Don't set output_filename.
+       (lang_final): Create the new node here.
+       * ldlang.c, ldlang.h, ldgram.y, mri.c: pass FROM_SCRIPT.
+
+Tue Nov  2 15:45:51 1993  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       From Pete Hoogenboom (hoogen@cs.utah.edu):
+
+       * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
+       edata, _edata, end): Add definitions of these symbols.
+       (__end):  Remove definition of this symbol.
+       (__data_start): Move definition of this symbol.
+
+       * emultempl/hppaosf.em:  Various fixes and support for linker stub
+       generation.
+       (hppaosf_finish, hppaosf_search_for_padding_statements,
+       hppaosf_create_output_section_statements): New functions in
+       support of linker stub generation.
+       (ld_hppaosf_emulation):  Redefine to include new
+       emulation-specific routines.
+
+       * ldlang.c (lang_process): Re-enable last call lang_size_sections.
+       Pass abs_output_section rather than NULL to avoid invalidating
+       absolute symbols.
+
+Thu Oct 28 21:16:42 1993  David J. Mackenzie  (djm@thepub.cygnus.com)
+
+       * Makefile.in (ALL_EMULATIONS): Add em_i386mach.o.
+       (em_i386mach.c): New rule.
+       * configure.in (i[34]86-*-mach*): New case.
+       * config/i386-mach.mt: New file.
+       * emulparams/i386mach.sh: New file.
+
 Fri Oct 29 14:55:05 1993  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
        * ld.h (flag_is_*): Removed macros.
@@ -1814,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.030234 seconds and 4 git commands to generate.