+
+ * ldindr.c (add_indirect): Keep more information in the alias
+ symbol chain.
+ * ldlang.c (wild_doit): Don't inherit NEVER_LOAD section
+ attribute from an input section.
+ * ldmain.c (Q_enter_file_symbols): Common section is NEVER_LOAD by
+ default. (Q_enter_file_symbos): Indirect symbols now are known by
+ their section, not a special symbol flag.
+ * ldsym.c (write_file_locals): Indirect symbols aren't local.
+ (write_file_globals): Write the mapping for an indirect symbol.
+ * relax.c (build_it): When forced to write a NEVER_LOAD section,
+ fill it with zeros.
+
+
+ * ld.texinfo: changes for q1
+
+Tue Mar 23 00:13:29 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: add dvi target, define & use TEXI2DVI, add installcheck
+
+Mon Mar 8 20:30:35 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: rename HOST_CC to CC_FOR_BUILD
+
+
+ * mips.sc-sh: Added variables which may be overridden by a
+ specific emulation.
+ * mipsidt.sh: New file; emulation for IDT MIPS board.
+ * Makefile.in (ALL_EMULATIONS): Added em_mipsidt.o.
+ (em_mipsidt.c): New target. Uses mipsidt.sh and mips.sc-sh.
+ * config/mips-idt.mt: New file; sets EMUL to mipsidt.
+ * configure.in (mips-idt-ecoff): New target; uses mips-idt.
+
+
+ * aout-mipsbsd.sc-sh, mipsbsd.sh: New files from Ralph Campbell,
+ * i386bsd.sh, config/i386bsd.mt: New files.
+ * configure.in, Makefile.in: Added support for mipsbsd and 386bsd.
+
+
+ * mri.c: Add extern declaration of strdup.
+ * ldsym.c (KEEP macro): Add spaces around '=' for the
+ sake of old (e.g. PCC) compilers.
+
+
+ * ldver.c: Bump to version 2.1.
+
+
+ * ldgram.y: allow section types without address expressions.
+ * ldlang.c (lang_relocate_globals): avoid possible hang with
+ undefined but unreferenced symbols.
+ * relax.c (relax_section): don't complain if the script file isn't
+ relaxable but -relax is set
+
+Thu Feb 18 17:58:45 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * configure.in: go32 is the 3rd part of the triple, not the 2nd
+
+
+ * mipsbig.sh: New file. Big endian MIPS emulation.
+ * config/mips-big.mt: New file. Use mipsbig emulation.
+ * configure.in (mips-sgi-irix*): Use target mips-big.
+ * Makefile.in (ALL_EMULATIONS): Added em_mipsbig.o.
+ (em_mipsbig.c): New target. Uses mipsbig.sh.
+
+
+ * mips.sc-sh: Put .scommon sections into .sbss section.
+
+ * ldmain.c (subfile_wanted_p): Preserve section of common symbols,
+ rather than always putting them in bfd_com_section.
+ * ldlang.c (lang_common): If a common symbol is not in
+ bfd_com_section, put in a section of the same name, rather than
+ always putting it in section COMMON.
+
+
+ * ldmain.c (subfile_wanted_p): If we already have a common
+ definition of a symbol, don't necessarily pull in an object file
+ that provides a non-common definition.
+
+ * ldlex.l (COMMAND): Accept -EB and -EL command line arguments,
+ returning OPTION_EB and OPTION_EL. gcc passes these to a MIPS
+ linker.
+ * ldgram.y (OPTION_EB, OPTION_EL): New tokens.
+ (command_line_option): Accept and ignore OPTION_EB and OPTION_EL.
+
+
+ * Makefile.in (install): Remove $(tooldir)/bin/gld before creating
+ the link to it.
+
+
+ * ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
+ checking for equality to bfd_com_section.
+
+
+ * mips.sc-sh: New file. Ultrix, and hopefully other MIPS ECOFF
+ targets, linker script.
+ * mipslit.sh: New file. Little endian MIPS emulation.
+ * config/mips-lit.mt: New file. Use mipslit emulation.
+ * configure.in (mips-dec-ultrix*): Use target mips-lit.
+ * Makefile.in (ALL_EMULATIONS): Added em_mipslit.o.
+ (em_mipslit.c): New target. Uses mipslit.sh.
+
+
+ * Makefile.in (install): Install ld as both $(tooldir)/bin/ld and
+ $(tooldir)/bin/gld, so that gcc can find it with or without
+ collect2.
+
+
+ * ldwrite.c: Removed perform_relocation, copy_and_relocate, and
+ write_norel. All linking is now done via write_relax. Call
+ ldsym_write before calling write_relax.
+ * relax.c: Added copyright.
+ (write_relax): Renamed from write_relaxnorel. Added relocateable
+ argument. seclet_dump renamed to bfd_seclet_link.
+ * relax.h: Added copyright.
+
+
+ * ldmain.c (decode_library_subfile): Patch from
+
+Fri Jan 8 18:04:33 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * config/vxworks960.mt renamed to config/i960.mt
+
+ * configure.in: sparc-aout emulates a sun4, as does
+ sparc*-vxworks, i960-nindy uses gld960 emulation
+
+
+ Fix support for NOLOAD, add INCLUDE
+ * ldfile.c (ldfile_open_command_file): pass file name to
+ lex_push_file.
+ * ldlex.l, ldgram.y: tidy up, parse INCLUDE and NOLOAD
+ * ldlang.c (wild_doit): make output sections inherit NEVER_LOAD
+ attribute.
+
+Thu Jan 7 10:22:19 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in, config.h: no more default emulation. Make the lack
+ of emulation a compile time error
+
+Wed Jan 6 01:08:37 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * configure.in: recognise all sparclite variants, not just 'sparclite'
+
+
+ * m68kcoff.sc-sh: define _end as well as end, for consistency with
+ aout.sc-sh.
+
+ * configure.in: accept *-ericsson-ose for any m68k CPU.
+
+ * ldwrite.c (write_rel): don't always set SEC_HAS_CONTENTS flag
+ for each output section.
+
+
+ * ldexp.c, ldlang.c, ldmain.c, ldsym.c, ldwarn.c: Use new
+ macro bfd_asymbol_bfd as appropriate.
+ * Makefile.in: Un-duplicate ldlex.c dependency.
+ * condigure.in: Replace my_host case table by sourcing
+ ../bfd/configure.host. Allow std-host as the default.
+ * ldmisc.c: Change logic for C++ name demangling: There is
+ no initial '_' to remove from stab-derived function names.
+
+
+ * ldlang.c (lang_init_script_file): don't attach the output file
+ sections to the script file.
+
+ * ldlang.c (wild): run expansion loop over command line bfd too.
+ (lang_ini_script_file): initialize more parts of the command line
+ bfd.
+ * ldlex.l: fix DEFINED start states.
+ -y support
+ * ld.texinfo: new doc.
+ * ldgram.y, ldlex.l: understand -y<symbol>
+ * ldmain.c (Q_enter_file_symbols): if had -y, lookup symbol and
+ print info. (add_ysym): new function.
+ * ldsym.h: (ldsym_type): new define SYM_Y.
+
+
+ * ldctor.h, lderror.h, ldexp.h, ldfile.h, ldindr.h, ldlang.c,
+ ldlang.h, ldlex.h, ldmain.h, ldmisc.h, ldsym.h, ldver.h, ldwarn.h,
+ ldwrite.h, relax.h: Replace all uses of EXFUN and PROTO ansi-glue
+ macros with PARAMS. Recreational cleanup. Update copyrights.
+
+Tue Nov 10 00:23:37 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: pass down the bfd source directory for includes
+
+
+ * ldlang.c (lang_size_sections): don't change size and address for
+ SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
+ sections.
+
+
+ * relax.c (build_it): re-enable the processing of data_statements
+ in scripts, makes counted contructor lists work again.
+
+
+ * ldemul.h: Remove uses of SDEF and PROTO macros (use PARAMS).
+
+
+ * m68kcoff.sc-sh: don't use initial underscores for etext, edata
+ and end.
+
+
+ * Support for i386-sysv.
+ configure.in: check for i386-*-sysv* and i386-*-sco*.
+ i386coff.sc-sh: rewrote to support SVR3 by default.
+ ldctor.c (find_constructors): preserve stat_ptr.
+ ldlang.c (wild_doit): initialize vma and size of new output
+ section to corresponding input section. This is required for
+ shared library support.
+ (lang_size_sections): don't modify vma and size of sections which
+ are never loaded (for shared libraries).
+ ldwrite.c (copy_and_relocate): copy the contents of any section
+ which has contents, not just sections which are loaded (for shared
+ libraries).
+
+
+ * ldlang.c (size_input_section): count the sizes of all sections
+ we allocate.
+
+
+ * ldmisc.c (demangle,vfinfo): use the new underscore in bfd to
+ to demangle symbols better
+
+
+ * ldlang.c (lang_finish): don't warn if -e start symbol does not
+ exist when linking with -r.
+
+
+ * aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
+ .bss segment.
+
+
+ * ldmain.c (linear_library): don't even think about processing
+ an object file if it's already been done
+
+Thu Oct 1 23:14:59 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * configure.in: the hp9000/300 config file is now hp300
+
+
+ * config/z8ksim.mt: new file
+
+
+ * Makefile.in (ldexp.o, ldctor.o, ldlang.o, ldmain.o, ldwrite.o,
+ lexsup.o, mri.o, relax.o): Indicate dependence on ldgram.h.
+
+ * ld.h (strip_symbols_type): Add value STRIP_SOME.
+ * ldgram.y (OPTION_RETAIN_SYMBOLS_FILE): New terminal token.
+ * ldlang.c (lang_add_keepsyms_file): New function.
+ * ldlex.l: Handle "-retain-symbols-file".
+ * ldsym.c (keepsyms_file, kept_syms): New vars.
+ (process_keepsyms): New functihon; reads file, marks symbols for
+ saving.
+ (write_file_locals): File symbols should always be kept.
+ (ldsym_write): Warn about "-retain-symbols-file" overriding "-S"
+ and "-s". Process retain-symbols file before setting symtab.
+ * ldsym.h (SYM_KEEP): New flag for ldsym_type flags.
+ (keepsyms_file, kept_syms): Declare them.
+
+ * ldmain.c (main): Non-fatal errors should still cause non-zero
+ exit status even with -r.
+
+
+ Added initial support for the z8k
+ * z8ksim.em, z8ksim.sc-sh, z8ksim.sh: new files
+ * configure.in, Makefile.in: modified to reflect above
+
+ * ldlang.c (lang_check): when linking conflicting architectures,
+ make the output file reflect at least one of the bad inputs.
+
+
+ * Makefile.in (install): if $(tooldir) exists, install ld in
+ $(tooldir)/bin.
+
+
+ * Makefile.in, configure.in: modified to support i386-coff
+ * i386coff.sh: new file
+
+
+ * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
+ added m68k-coff emulation mode, stolen from a29k emulation.
+ Almost certainly wrong, but perhaps better than sun3.
+
+
+ * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
+ gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
+ vanilla.em: Rename all (generated) ld__*.c files to em_.c.
+ This is one character shorter, and lets people build on
+ SVR3 system. (ld__h8300xray.[co] was the killer there;
+ h8300xray.sc-sh is also overlong, but seems harmless.)
+ Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
+ * Makefile.in (clean): Fix typo mostclean -> mostlyclean.
+ * configure.in: Add host isc.
+
+ * ldver.c: Call it version 2.0.
+
+
+ * ldver.c: Bump to version 0.98.
+ * TODO: New file.
+
+ * Makefile.in: Added mostlyclean, distclean, realclean rules.
+
+
+ * ldmisc.c (xrealloc): New (needed by ../libiberty/cplus.dem.c).
+ * ldlex.l: Moved comment() to end, since some compilers
+ otherwise have problems with input() used before it is defined.
+
+Tue Sep 1 17:45:51 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * configure.in: added Solaris 2 and Irix 4 host support.
+
+Mon Aug 31 19:27:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in: remove -S flag from the FLEX definition
+
+ * configure.in: rewrote, using new style case statement. use
+ m68k.mt for m68k-aout systems
+
+
+ * Makefile.in: map "ld" through program_transform_name when
+ installing.
+
+
+ * cplus-dem.c: Removed. Use the version in libiberty now.
+ * ldmisc.c: Use new libiberty version of cplus_demangle().
+
+
+ * gld960.em (gld960_choose_target): default to little endian, not
+ big endian.
+
+
+ * 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.
+
+
+ * configure.in, config/ose68.mt: renamed OSE to ose.
+
+
+ * ldsym.c (write_file_locals): Reorder check for common or
+ undefined symbols so that it works.
+
+
+ * configure.in: accept all m68K family members.
+
+ * Makefile.in: always create installation directories.
+
+
+ * ldlex.l: now parses comment correctly, added ~ to acceptable
+ chars in filenames
+
+ * ldexp.c (exp_unop): pass down abs_output_section - now can have
+ unary -ve constants.
+
+ * ldlang.c (lang_finish): warn when an entry symbol supplied on
+ the command line can't be found.
+
+
+ * ldlang.h: add new field "loadable" to output_section_statement.
+ * ldlang.c (lang_output_section_statement_lookup): initilize new
+ field. (wild_doit): if new field is not set, then stop output
+ section from being loadable.
+ (lang_enter_output_section_statement): set the field from the
+ NOLOAD keyword
+ * ldgram.y: new synax for NOLOAD. Removes a shift/reduce too.
+ * h8300hms.sc-sh, h8300hms.em: get -r right.
+
+
+ * ldint.texinfo: New internals manual (beginnings thereof).
+ * PORTING: Removed, merged into ldint.texinfo.
+
+
+ * cdtest-main.cc, cdtest-func.cc, cdtest-foo.h, cdtest-foo.cc,
+ cdtest.exp: A test program (copied from libg++/test-install)
+ that tests that constructor and destructors are handled
+ corrrectly.
+
+Mon Aug 3 14:58:19 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * Makefile.in (install): install from ld.new, renaming during the
+ copy, or else the next 'make install' needs to re-link ld.
+
+
+ * configure.in: generalise hp recognition (from sef).
+
+Sat Jul 18 14:46:04 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
+
+ * configure.in: recognize bsd and hpux hppa configurations.
+ error messages echo to stderr, not stdout
+
+
+ * Makefile.dos, gld.1, ld.texinfo, ldemul.c, ldfile.c, ldlang.c,
+ ldmisc.c: removed rcsid's.
+
+
+ * ldlang.c (lang_map): print changes in sizes due to relaxing
+ (size_input_section): maintain the delta information.
+ * ldlang.h: add new field to struct to contain delta info.
+ * relax.c (relax_section): complain if input not relaxable.
+ * ldlex.l : add '_', ',' and '$' to chars which can appear at the
+ start of a filename
+
+
+ * ldmain.c(main): prevent -r and -relax from being on at the same
+ time.
+
+
+ * ldmain.c (Q_enter_global_ref), ldindr.c (add_indirect): fix for
+ aliasing problems
+
+
+
+ * h8300hms.em, h8300hms.sc-sh: do the right thing for -r
+ * ldexp.c: lint
+ * ldlang.c(open_output): set the target arch and machine as soon
+ as we can. (lang_size_sections): use new macros for setting vma
+ * ldwrite.c: lint
+
+
+ * configure.in (my_target): Accept m680?0 for wrs as vxworks68.
+ Also deleted an unreachable path to wrs.
+
+
+ * Makefile.in (install): use -d test for $tooldir before
+ installing ld there so that $tooldir can be inherited from
+ top-level Makefile.
+
+
+ * ldlang.c: Two non-substantial changes for the sake of
+ the old Portable C Compiler.
+
+
+ * ldgram.y, ldlex.l: parse ABSOLUTE
+ * ldexp.c: add support for ABSOLUTE
+
+
+ * Makefile.in: Added default definitions for HOSTING_CRT0,
+ HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
+ * config/*.mh: Miscellaneous clean-up: Removed definitions
+ of YACC (since it is not longer used in the Makefile).
+ Remove HOSTING_* definitions that are subsumed by the
+ ones added to Makefile.in. Removed most definitions of CC.
+ * config/{sparc,news,hp300bsd,decstation}.mh: Removed;
+ These are no longer needed.
+
+
+ * Makefile.in: Use srcdir instead of VPATH in ldgram/ldlex
+ rules, since these are used when building a distribution.
+ * Makefile.in (ldlex.c): Don't re-direct output, since that
+ leaves a bogus output files if it fails.
+
+ * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working.
+ * ldlex.c: Fix some unnecessary flex-specific-isms.
+
+
+ * ldgram.y: move spurious semicolon
+ * ldexp.h: fix prototype
+
+
+ * ld.texinfo: references to linker now say "ld" not "gld".
+
+
+ changed calling convention for Q_enter_global_ref
+ * ldexp.c, ldlang.c, ldmain.c: reflect this
+ * ldver.c: bump version to 1.97.1
+ * ldindr.c (add_indirect): when an edict declaring an indirect
+ symbol is found, make sure that any ideas about the symbol being
+ common are changed if it now known to be defined.
+ * ldmain.c (linear_library): complain once if archive isn't
+ ranlibbed.
+ * ldlang.h, ldlang.c: make room for and initialize the complain
+ once field.
+
+
+ * Makefile.in: use flex & bison from ../ if they exist.
+
+
+ * relax.c (build_it): don't allocate space in the output file for
+ stuff if -R flag applys to it.
+ * ldfile.c: merge in VMS filename support
+ * ldmain.c (main): take out ./ from library path, and close file
+ before unlinking. Make multiple defs of a symbol create an
+ unexecable file.
+ * ldmisc.c: fatal errosrs delete output file
+
+
+ * ldver.c: Increase version number to 1.97, for consistency
+ with ../binutils.
+
+
+ * Makefile.in: FLEX -> LEX.
+
+ * ld.texinfo: {} -> @{@}.
+
+
+ * ld.texinfo: describe alternate, MRI-compatible linker scripts
+ (and associated change in -c option, now used for these scripts)
+
+
+ * ldver.c: Bumped version to 1.96 - new release, resync with the
+ bfd too #.
+ * ldexp.c, ldlang.c: now build memory shape tree in obstacks
+ rather than with raw malloc, makes it easier to track where memory
+ is going.
+ * ldsym.h, ldsym.c: create obstack for all global symbols too.
+ * ldwrite.c (ldwrite): moved malloc so only used when needed.
+ * sa29200-sc.sh: added support for .lit, data1 and data2 sections.
+
+
+
+ * config/sparc.mh: use ../gcc/libgcc.a on check if it exists.
+
+ * Makefile.in: use bootstrap for check.
+
+
+ * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
+ PUBLIC.
+ * Makefile.in: now use flex, not lex
+ * ldlex.l, ldlang.c, ldctor.c: lint
+
+
+ * ldlex.l: added CMDFILENAMECHAR state so that you can lex
+ different sorts of filenames on the command line than in a script.
+
+
+ * Makefile.in: rework CFLAGS so that they can be passed on the
+ make command line. Remove MINUS_G. Default CFLAGS to -g.
+
+
+ * relax.c: added handling for new "padding" seclet type, used to
+ fill out gaps between section.
+ * ldgram.y, ldlex.l: now -defsym on the command line is done
+ properly.
+
+
+ * Makefile.in: the tooldir copy of ld goes directly in tooldir.
+
+
+ * mri.c, ldgram.y, ldlex.l: added support for minimal strange link
+ scripts.
+
+
+ * Makefile.in (install): Install second copy in $(tooldir)/bin
+ without $(program_prefix), since that's what gcc expects.
+
+
+ * ldlex.l, ldgram.y, ldlex.h: Rewrote lexer. Now it's much nicer.
+ * h8300*: fix bit rot and add support for h8300xray target
+ * go32.sh: target emulation for go32.
+
+
+ * gld960.em, i960.sc-sh. Fix i960 bit rot
+
+
+ * Makefile.in: install man page.
+
* config/mt-<foo> renamed to <foo>.mt