Commit graph

622 commits

Author SHA1 Message Date
Ken Raeburn
9b0da7f468 ldmisc.h (einfo, minfo, info): Don't bother with PARAMS macro when no
prototype is being supplied.
(ldmalloc, ldrealloc): Size argument is now size_t.

ldmisc.c (finfo): New function, accepts FILE* argument.
(vfinfo, case 'v'): New format character; displays bfd_vma in hex without
leading zeros.
(vfinfo, cases 'R' and 'C'): Use finfo(%v) when displaying a bfd_vma value,
instead of fprintf(%x) which won't hold a long long value.
(concat, buystring): String lengths are size_t.
(ldmalloc, ldrealloc, xrealloc): Size argument is now size_t.
1993-07-08 20:27:13 +00:00
Ken Raeburn
5af8e9d6a1 (new_stetement): Size argument is now type size_t.
Added forward declaration with prototype.
1993-07-08 20:25:26 +00:00
Ken Raeburn
58bf66f96e (ALL_EMULATIONS): Include $(OTHER_EMULATIONS) in case some target has stuff
to add.
1993-07-08 20:24:02 +00:00
Ken Raeburn
49bfda2c9a forgot to check this in yesterday 1993-07-08 18:56:54 +00:00
David MacKenzie
de87cdb466 * Make -v only print the version number.
Share some Texinfo documentation with BFD.
1993-07-08 18:00:11 +00:00
Ken Raeburn
a02945df81 Don't define bfd_vma here!
(Wasted at least a day tracking this damn thing down...)
1993-07-07 21:15:09 +00:00
Ian Lance Taylor
e357065c7e * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
collect2 doesn't look for gld any more anyhow.
1993-07-07 18:36:12 +00:00
Ian Lance Taylor
59624167d7 * config/hp300hpux.mt: Use emulation hp3hpux rather than
hp300hpux, since the latter does not exist.
1993-07-05 21:32:35 +00:00
Ian Lance Taylor
55636aa789 * ldlang.c (lang_relocate_globals): Skip indirect symbols, which
now have a non NULL srefs_chain.
1993-07-05 21:32:13 +00:00
David MacKenzie
a04f1d001e Passing -L. is no longer necessary. 1993-07-03 02:23:22 +00:00
David MacKenzie
ff76a7dbf3 Fix previous fix. 1993-07-03 02:18:12 +00:00
David MacKenzie
173a0c3d26 * ldmain.c (main): Don't add scriptdir to the lib search path.
* genscripts.sh: Put the scripts in the ldscripts directory, not
	emulations.
	* configure.in (ldscripts): Make, instead of emulations.
	* Makefile.in (scriptdir): Take off the "ld" part.
	(install, clean, distclean): Use ldscripts, not emulations.
	In tests, pass -L., not -Lemulations.
	(ldmain.o): Don't pass -DSCRIPTDIR=....
	* ldlang.c (lang_process): Add "ldscripts/" to the name of the
	default script file.
1993-07-03 02:01:03 +00:00
David Edelsohn
7434d4e5dc scripttempl/h8300.sc: Add .tors section for constructor/destructors. 1993-07-03 00:14:40 +00:00
Steve Chamberlain
9a004b148b h8500hms -> h8500 1993-07-02 03:05:30 +00:00
David Edelsohn
0f1c5ea23b h8300hms -> h8300 1993-07-01 23:38:29 +00:00
K. Richard Pixley
1e787898a0 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now run in
parallel without colliding on yacc's static file names. Without the
  stub rule, make will try to start two yacc's concurrently which
  fails because of yacc's static file names.
1993-07-01 01:23:39 +00:00
K. Richard Pixley
559d7baf89 * Makefile.in (ldgram.[hc]): rewrite this rule in such a way that gnu
make can run in parallel without colliding on yacc's static file
  names.
1993-06-30 22:48:51 +00:00
David Edelsohn
d26de265ef alpha-osf.mh -> alphaosf.mh 1993-06-30 20:56:07 +00:00
David MacKenzie
59fb874e52 * Makefile.in (scriptdir): Base on tooldir, not datadir. 1993-06-28 19:23:35 +00:00
David MacKenzie
bf065bfd97 * ldver.c (help): New function.
* ldver.h: Declare it.
	* ldlex.l, ldgram.y: Recognize new options --help and --version.
1993-06-26 20:13:24 +00:00
David MacKenzie
346535cc1f * ldlex.l, ldgram.y: Support new -oformat option.
Remove attempt at supporting script fragments on the command line.
	* ldlang.c (lang_add_output_format): Take new arg, FROM_SCRIPT.
	* mri.c (mri_format), ldgram.y: Change callers.
	* ldlang.h: Change prototype.
1993-06-22 17:41:28 +00:00
Ken Raeburn
304b747aad fix include path again 1993-06-22 03:42:59 +00:00
David MacKenzie
2b63dbfefd * .Sanitize (Things-to-keep): Add emulparams, emultempl, scripttempl. 1993-06-21 23:40:21 +00:00
David D. Zuhn
5ebaf24b77 single-quote $program_transform_name 1993-06-18 19:25:38 +00:00
David D. Zuhn
9cd039e778 more install/program_transform_name fixes 1993-06-18 17:03:58 +00:00
Steve Chamberlain
d360d135af Fix install. 1993-06-18 01:30:34 +00:00
David D. Zuhn
e9b991c691 doc last change 1993-06-17 23:55:23 +00:00
David D. Zuhn
e0d005f216 get install.sh canonicalized 1993-06-17 23:50:35 +00:00
David MacKenzie
d18a45278e Document -Map option. 1993-06-17 23:23:48 +00:00
David MacKenzie
2de8edce8f * ldgram.y: Tweak grammar to make reporting of invalid options work. 1993-06-17 22:55:38 +00:00
Steve Chamberlain
f216ecc54a Support for constructors. 1993-06-17 21:49:48 +00:00
David MacKenzie
565c93e92a * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
and .cc.o rule.
1993-06-17 21:34:11 +00:00
David MacKenzie
f1907ff24b Moved to emulparams subdir. 1993-06-17 21:23:10 +00:00
David MacKenzie
6fa11e9f43 Moved to scripttempl subdir. 1993-06-17 21:21:21 +00:00
David MacKenzie
e89ea690c9 Moved to emultempl subdir. 1993-06-17 21:19:58 +00:00
David MacKenzie
168bb59fe6 No longer needed. 1993-06-17 21:16:37 +00:00
David MacKenzie
8ddef5528d * ldfile.c (ldfile_open_command): Don't try .ld extension.
It wasn't documented (or likely used) and wastes time.
	(try_open): If EXTEN is empty, don't try it.

	* ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
	ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
	ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
	with normal function declarations.

	* Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
	Move *.sc-sh to scripttempl/*.sc.
	* {emultempl,emulparams,scripttempl}/README: New files.
	* sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
	removed, replaced with generic.em.
	* h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
	 h8[35]00hms.s[ch].  Change their contents to omit the "hms".

	* *.em (*_get_script): Return script name instead of script contents.
	* ldlang.c (lang_process): Change caller.

	* ldlex.l, ldgram.y: Recognize -m option.
	Check for input files after *all* options in grammar.
	* ldmain.c (main): Check for -m options.  Add default directory
	for -m.

	* mkscript.c: File removed.
	* genscripts.sh: Take two more parameters, tooldirlib and libdir,
	to add to the default LIB_PATH.
	Look for input files in the new subdirectories.
	Create the scripts in emulations subdirectory and don't filter
	them through mkscript.
	* configure.in: Make the emulations subdirectory.

	* Makefile.in: Account for all of the above changes.
	Remove unused .SUFFIXES.  Get libgcc.a path with gcc
	-print-libgcc-file-name instead of $(libdir)/libgcc.a.
	Put CFLAGS last in the compilation rules.
	Add -I../bfd to INCLUDES so sysdep.h is found.

	* ldfile.c (try_open): If opening without the extension fails,
	try with the extension even if -v or -V was given.
	had_script is imported (from ldgram.y), not exported.
1993-06-17 20:55:43 +00:00
David MacKenzie
1855298745 Nuke dir. 1993-06-16 21:16:16 +00:00
Ken Raeburn
f905eff404 look in ../include instead of ../bfd for bfd.h 1993-06-16 03:10:01 +00:00
Ken Raeburn
2a963f1a0e Makefile.in, aout.sc-sh, hp3hpux.sh changes 1993-06-16 03:07:27 +00:00
Ken Raeburn
31038b78a5 * aout.sc-sh: Add SHLIB_PATH like STACKZERO. Make STACKZERO
dependent on RELOCATING, not RELOCATION.
* hp3hpux.sh (SHLIB_PATH): Define it.
1993-06-16 03:06:33 +00:00
David D. Zuhn
c97b9003b0 remove parentdir support; use INSTALL_XFORM 1993-06-16 00:03:44 +00:00
Ian Lance Taylor
9de4d8f1c0 * ldexp.c (exp_fold_tree): Don't lose the old flag bits.
* ldgram.y (statement_list_opt): New nonterminal, either empty or
	statement_list.
	(section): Use statement_list_opt, not statement_list.
	* m68kcoff.sc-sh: Gather constructors and destructors and define
	__CTOR_LIST__ and __DTOR_LIST__ appropriately.
	* sa29200.sc-sh: Gather constructors and destructors and define
	___CTOR_LIST__ and ___DTOR_LIST__ appropriately.
1993-06-10 21:02:59 +00:00
Per Bothner
7f2649bb06 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
* configure.in:  No longer need to configure to get sysdep.h.
1993-06-07 19:57:26 +00:00
David D. Zuhn
91b3a2b678 * Makefile.in: remove old C++ rules; remove install:all and
install-info:info dependencies (these cause some spurious rebuilds
	at 'make install' time)
1993-06-04 23:20:08 +00:00
Steve Chamberlain
eb392e6825 Support for Alpha. 1993-06-04 23:14:16 +00:00
Ian Lance Taylor
1053ea99cb Remove sh sanitization comments. 1993-06-04 20:01:31 +00:00
Ian Lance Taylor
98f3d1afa4 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
(mips-idt-ecoff*): Added trailing '*'.
	* config/mips-idtl.mt: New file; use EMUL of mipsidtl.
	* mipsidtl.sh: New file; like mipsidt.sh, but little endian.
	* Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
1993-06-04 19:50:31 +00:00
Ian Lance Taylor
559d1cff43 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
incorrect definitions.
1993-06-04 15:54:57 +00:00
Per Bothner
1cf91c69b0 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
symbols, unless stripping.
1993-06-01 22:44:42 +00:00
K. Richard Pixley
87756e15db added things-to-lose sections 1993-05-27 06:44:29 +00:00
Ian Lance Taylor
6354589838 * Makefile.in: configure looks for ####, so remove lines with many
'#' characters.
	* config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
	and HOSTING_LIBS correctly so that ``make check'' will work.
1993-05-25 22:37:41 +00:00
Ken Raeburn
1fe65669e5 missed part of renaming update 1993-05-20 21:30:26 +00:00
Per Bothner
5b7876febe * mips.sc-sh: Define _etext, _edata, and _end, in addition
to etext, edata, and end.  Needed for IRIX 4.0.5F.
	Patch from mwp@iconix.oz.au (Michael Paddon).
1993-05-20 20:59:28 +00:00
Ken Raeburn
0cb51aa15a missed this in mipsbsd renaming 1993-05-20 17:40:30 +00:00
Ken Raeburn
5266c5ec29 rename aout-mipsbsd.sc-sh to mipsbsd.sc-sh for 14-char file systems 1993-05-20 15:58:49 +00:00
Per Bothner
bc3b479ce4 New file. 1993-05-17 19:45:17 +00:00
Ian Lance Taylor
1720003031 * mips.sc-sh: Don't define BSS_VAR unless relocating. 1993-05-14 18:33:37 +00:00
Ken Raeburn
c05e34defe keep new files; get rid of trailing spaces after sh-support file names 1993-05-06 02:04:18 +00:00
Ken Raeburn
dd2a363ca0 hppaosf host & target makefile frags 1993-05-05 03:17:01 +00:00
Ken Raeburn
b8fc168daf *** empty log message *** 1993-05-05 02:50:10 +00:00
Ken Raeburn
7543e2feb9 missed a file 1993-05-05 02:08:31 +00:00
Ian Lance Taylor
ef86818669 * mips.sc-sh: Put constructors in the .data section.
* Makefile.in (cdtest): Added dependency on ld.new.
1993-05-04 19:39:33 +00:00
Per Bothner
034351e334 * Makefile.in: Change definition of $(tooldir) to match FSF.
* vax.sh, config/vax.mt, configure.in, Makefile.in:
	Support VAX Ultrix and BSD.
1993-05-04 02:51:33 +00:00
Per Bothner
9a3293b145 * config/vax.mt: Support VAX Ultrix and BSD. 1993-05-04 02:50:14 +00:00
Steve Chamberlain
68b61e5dc9 More resonable default. 1993-05-03 22:43:35 +00:00
Ken Raeburn
55cb97d896 hppa-osf(elf) support files 1993-05-03 20:58:06 +00:00
Ken Raeburn
2a1c2bad8b comment formatting fixup 1993-05-03 19:47:38 +00:00
David MacKenzie
ec40bbb87f Clean up English and Texinfo usage. 1993-04-29 03:39:02 +00:00
Ken Raeburn
5b4249d76c changes for hp300hpux -- won't be enabled until bfd work is done 1993-04-28 23:04:12 +00:00
Steve Chamberlain
84d42ddd61 sh.em, sh.sh, sh.sc-sh: New files supporting Hitachi SH. 1993-04-27 01:37:02 +00:00
Steve Chamberlain
55237887a6 Support for the H8/500 1993-04-09 17:46:13 +00:00
Ian Lance Taylor
1b8a42f353 * ldlang.c (lang_output_section_statement_lookup): Initialize all
fields of newly created structure.
1993-04-02 22:34:38 +00:00
Roland Pesch
2412a76837 ld.texinfo:
Conditionalize manual to maintain Cygnus, Hitachi versions in parallel.
(Texinfo conditionals are stable enough to permit this, at last!)
NOTE: @ignore'd passages from earlier versions DELETED; use CVS history
      to retrieve if wanted.

gen-doc.texi, h8-doc.texi: manual configuration definitions.

Makefile.in: link config defn (`gen' by default) to configdoc.texi, included
      by ld.texinfo

.Sanitize: add gen-doc.texi, h8-doc.texi
1993-03-30 23:25:03 +00:00
Steve Chamberlain
9fce28edd5 Support for linking and loading at different places:
* ldlex.l: Add "AT" keyword.
	* ldgram.y: Cleanup, and parse AT.
	* ldlang.c (print_output_section_statement): Print output address
	of section in map. (lang_size_sections): Fill sections' lma with
	load address.
	* ldlang.h (lang_output_section_statement_type): Add load_base
	information.
1993-03-30 22:45:39 +00:00
Steve Chamberlain
29f33467f2 Tue Mar 30 09:40:25 1993 Steve Chamberlain (sac@thepub.cygnus.com)
* 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.
1993-03-30 17:49:00 +00:00
Roland Pesch
d76ae847f0 Fix index reference (h8/300, not i960). 1993-03-30 06:55:41 +00:00
David D. Zuhn
f20e984286 add dvi & installcheck 1993-03-23 08:14:13 +00:00
Ian Lance Taylor
16788ca9fd Removed obsolete Makefile.dos. 1993-03-09 18:16:38 +00:00
Ian Lance Taylor
ce7d4b0d57 * 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.
1993-03-04 20:49:26 +00:00
Ken Raeburn
e637dcf08b mips-bsd and 386bsd support 1993-02-28 14:46:25 +00:00
David Edelsohn
d9c2980f64 Added initial sparc-v9 support. 1993-02-26 18:53:13 +00:00
Per Bothner
26483cc668 * ldsym.c (KEEP macro): Add spaces around '=' for the
sake of old (e.g. PCC) compilers.
1993-02-25 23:47:21 +00:00
Per Bothner
05985c7724 Bump to version 2.1. 1993-02-25 03:50:17 +00:00
David D. Zuhn
fb8ecc3dc6 fix go32 configuration 1993-02-19 02:00:52 +00:00
David D. Zuhn
7c8592905d removing excess verbosity 1993-02-13 10:15:53 +00:00
David D. Zuhn
3b5c6197de keep everything that's present now 1993-02-13 09:10:57 +00:00
Steve Chamberlain
067e2baa3f * 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
1993-02-12 16:33:32 +00:00
Steve Chamberlain
25de6a20dd * 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
1993-02-12 16:12:28 +00:00
Ian Lance Taylor
04dd7520d0 Removed garbage after #endif. 1993-02-09 15:56:11 +00:00
Ian Lance Taylor
31965c32d0 Keep forgetting those .Sanitize files. 1993-02-03 17:11:22 +00:00
Ian Lance Taylor
2552fc24f1 Wed Feb 3 09:05:56 1993 Ian Lance Taylor (ian@cygnus.com)
* 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.
1993-02-03 17:10:09 +00:00
Ian Lance Taylor
e193c31baf Tue Feb 2 11:32:27 1993 Ian Lance Taylor (ian@cygnus.com)
* 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.
1993-02-02 19:37:55 +00:00
Ian Lance Taylor
f31cb329d5 Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
* 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.
1993-01-29 19:47:56 +00:00
Ian Lance Taylor
8a3efe67ae Fri Jan 29 09:57:58 1993 Ian Lance Taylor (ian@cygnus.com)
* 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.
1993-01-29 18:47:43 +00:00
Ian Lance Taylor
af6237a4a8 Thu Jan 28 15:12:04 1993 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in (install): Remove $(tooldir)/bin/gld before creating
	the link to it.
1993-01-28 23:13:32 +00:00
Ian Lance Taylor
8a045e502f Tue Jan 26 11:49:50 1993 Ian Lance Taylor (ian@cygnus.com)
* ldmain.c, ldsym.c: Use new bfd_is_com_section macro rather than
	checking for equality to bfd_com_section.
1993-01-26 19:56:17 +00:00
Ian Lance Taylor
388d890471 Correct syntax errors which only appeared when relocating. 1993-01-26 19:51:41 +00:00
Ian Lance Taylor
42b5c73927 Fri Jan 22 14:22:44 1993 Ian Lance Taylor (ian@cygnus.com)
* 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.
1993-01-22 22:30:52 +00:00
Ian Lance Taylor
ac496d4f7e Mon Jan 11 18:50:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
* 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.
1993-01-12 00:47:20 +00:00
Steve Chamberlain
0550e9f45c * ldmain.c (decode_library_subfile): Patch from
hoogen@shafer.cs.utah.edu, don't reread library symbol tables.
1993-01-11 23:51:52 +00:00
David D. Zuhn
39431ec362 fix default emulations for nindy and sparc-vxworks 1993-01-09 02:07:17 +00:00
Steve Chamberlain
dadd414a89 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.
1993-01-08 22:42:42 +00:00
David D. Zuhn
c1d53021ae fix my default emulation changes 1993-01-08 22:06:17 +00:00
David D. Zuhn
0fcfee638b no more default emulation 1993-01-07 18:23:07 +00:00
Ian Lance Taylor
a70947c195 Mon Dec 28 11:15:35 1992 Ian Lance Taylor (ian@cygnus.com)
* 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.
1992-12-28 19:43:59 +00:00
Per Bothner
086c5e37f4 * 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.
1992-12-22 23:46:19 +00:00
K. Richard Pixley
43bbd567f2 recording file death 1992-12-08 04:59:31 +00:00
Steve Chamberlain
85e38cfa01 -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.
1992-12-07 16:49:54 +00:00
John Gilmore
e20873a7bf * 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.
1992-11-21 11:18:00 +00:00
Ian Lance Taylor
2229261331 Thu Nov 5 15:41:55 1992 Ian Lance Taylor (ian@cygnus.com)
* ldlang.c (lang_size_sections): don't change size and address for
	SEC_SHARED_LIBRARY sections rather than for SEC_NEVER_LOAD
	sections.
1992-11-06 00:39:51 +00:00
Steve Chamberlain
85c838d613 * relax.c (build_it): re-enable the processing of data_statements
in scripts, makes counted contructor lists work again.
1992-11-05 19:35:38 +00:00
John Gilmore
6e94236ab6 Remove uses of SDEF and PROTO macros (use PARAMS). 1992-11-05 13:44:51 +00:00
Steve Chamberlain
0b5995da24 * mri.c, ldlang.c, ldlex.l, ldgram.y: add new keywords
ALIGN, ALIGNMOD, and TRUNCATE.
	* ldsym.c: (hash_string, search, process_keepsyms): support
	truncation of symbols.
1992-10-29 00:21:36 +00:00
Ian Lance Taylor
22f5b2b9e5 Added \n to error message. 1992-10-26 17:02:45 +00:00
Ian Lance Taylor
668f26b5fe Tue Oct 20 10:56:06 1992 Ian Lance Taylor (ian@cygnus.com)
* m68kcoff.sc-sh: don't use initial underscores for etext, edata
	and end.
1992-10-20 17:57:28 +00:00
Ian Lance Taylor
e9b63852ca Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
* 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).
1992-10-19 16:53:41 +00:00
Steve Chamberlain
ba2c2b1c42 * ldlang.c (size_input_section): count the sizes of all sections
we allocate.
1992-10-15 22:22:08 +00:00
Steve Chamberlain
a385b38f00 Thu Oct 8 09:05:25 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* ldmisc.c (demangle,vfinfo): use the new underscore info in bfd to
	to demangle symbols better
1992-10-12 17:25:00 +00:00
Ian Lance Taylor
81150d3470 Tue Oct 6 13:08:54 1992 Ian Lance Taylor (ian@cygnus.com)
* ldlang.c (lang_finish): don't warn if -e start symbol does not
	exist when linking with -r.
1992-10-06 20:10:27 +00:00
Ian Lance Taylor
b5ddf9421c Mon Oct 5 14:07:37 1992 Ian Lance Taylor (ian@cygnus.com)
* aout.sc-sh, m68kcoff.sc-sh: set __bss_start to the start of the
	.bss segment.
1992-10-05 21:08:41 +00:00
Steve Chamberlain
f3739bc349 Mon Oct 5 08:55:14 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* ldmain.c (linear_library): don't even think about processing
	an object file if it's already been done
1992-10-05 16:15:11 +00:00
Ian Lance Taylor
b89a86ac08 Use target i386-aout for i386-*-aout. This just provides a default
emulation mode (of 1386aout).
1992-10-02 18:48:41 +00:00
David D. Zuhn
bdd4be4104 renamed hp9000.h to hp300.h 1992-10-02 07:26:50 +00:00
Steve Chamberlain
ac0832f3d3 * config/z8ksim.mt: new file 1992-09-30 14:35:19 +00:00
Ian Lance Taylor
ce201b347f Added new hp9000.mh file. 1992-09-29 15:51:10 +00:00
Ian Lance Taylor
26c4173247 HP/UX needs -Wp,-P when compiling with -O (comment only, since the
default is not to use -O).
1992-09-29 15:50:30 +00:00
Ken Raeburn
f3b36ecb30 * 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.
(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.
1992-09-25 21:05:20 +00:00
Steve Chamberlain
22a78f0d96 Fri Sep 25 11:08:01 1992 Steve Chamberlain (sac@thepub.cygnus.com)
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.
1992-09-25 18:11:04 +00:00
Ian Lance Taylor
5640944588 Tue Sep 15 15:35:38 1992 Ian Lance Taylor (ian@cygnus.com)
* Makefile.in (install): if $(tooldir) exists, install ld in
	$(tooldir)/bin.
1992-09-15 23:30:30 +00:00
Steve Chamberlain
e92bddcd1b Sanitize slip 1992-09-11 20:43:33 +00:00
Steve Chamberlain
1d7c7537dc Add i386coff.sh 1992-09-11 17:47:22 +00:00
Steve Chamberlain
2a9f20dbf1 New files 1992-09-11 17:47:01 +00:00
Steve Chamberlain
99e6298ae3 Support for i386-coff 1992-09-11 17:25:43 +00:00
Ian Lance Taylor
f5d8987980 Brought in from p3. If anybody knows good numbers for m68k COFF,
please let me know, or plug them in yourself.

Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)

	* 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.
1992-09-09 18:59:30 +00:00
Ian Lance Taylor
ab57b17418 Brought in from p3. If anybody knows good numbers for m68k COFF,
please let me know, or plug them in yourself.

Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)

	* 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.

Also fixed an error message in configure.in so that it started with
'***' like the other error messages do.
1992-09-09 18:59:11 +00:00
Per Bothner
d73812a1d6 * 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.
1992-09-04 03:29:15 +00:00
Per Bothner
8e71a9842c Note version change to 2.0. 1992-09-04 02:45:57 +00:00
Per Bothner
fbd74d0712 Add TODO. 1992-09-03 22:56:45 +00:00
Per Bothner
091a79f59a * ldver.c: Bump to version 0.98.
* TODO:  New file.
1992-09-03 06:02:56 +00:00
Per Bothner
c52bdfecfd * 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.
1992-09-02 06:45:13 +00:00
David D. Zuhn
2df681368b new configure triple work, added solaris 2 & irix host support, fix FLEX definition 1992-09-02 00:49:47 +00:00
Per Bothner
fc60e4f737 Removed cplus-dem.[ch]. (These are now in ../libiberty.) 1992-09-01 23:10:08 +00:00
Per Bothner
e4b9262014 Add scripts. 1992-09-01 22:14:49 +00:00
Per Bothner
a2d5971d85 Add isc-sysv3.2.sc. 1992-09-01 22:14:24 +00:00
Per Bothner
8f5a6be62c Remove non-existant file hp300bsd.mh. 1992-09-01 22:07:32 +00:00
Ian Lance Taylor
0bb95ac84a Brought forward from p3:
Sun Aug 30 21:38:53 1992  Ian Lance Taylor  (ian@cygnus.com)

	* Makefile.in: map "ld" through program_transform_name when
	installing.
1992-09-01 01:17:01 +00:00
Per Bothner
fe2b6209ff * cplus-dem.c: Removed. Use the version in libiberty now.
* ldmisc.c:  Use new libiberty version of cplus_demangle().
1992-08-31 01:14:44 +00:00
Ian Lance Taylor
5f2d9799ce Update ChangeLog, removing yesterday's 960 change and putting in
todays (960 now always uses little endian ordering).
1992-08-29 00:17:29 +00:00
Ian Lance Taylor
378dac8cc6 Back out yesterday's change for using host endian order in 960 bout files. 1992-08-28 21:10:36 +00:00
Ian Lance Taylor
94cc1ee79d Thu Aug 27 16:38:42 1992 Ian Lance Taylor (ian@cygnus.com)
* gld960.em (gld960_choose_target): the target depends on
	HOST_BIG_ENDIAN_P.
1992-08-28 00:08:35 +00:00
Steve Chamberlain
cd1d8c6d89 * 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.
1992-08-27 00:32:05 +00:00
Ian Lance Taylor
afba2b2286 Renamed OSE configuration to ose. 1992-08-24 22:32:46 +00:00
Ken Raeburn
571c4c2636 common/undef sym handling fix from p3 1992-08-21 01:43:49 +00:00
Roland Pesch
cb70c87297 Introduce more blanks in examples; minor formatting cleanup. 1992-08-19 21:34:47 +00:00
Ian Lance Taylor
b189e892be Moved in from p3:
Tue Aug 18 13:41:36 1992  Ian Lance Taylor  (ian@cygnus.com)

	* configure.in: accept all m68K family members.

	* Makefile.in: always create installation directories.
1992-08-18 20:48:29 +00:00
Roland Pesch
40ab85327f Use new name of man page (ld.1). 1992-08-17 18:35:59 +00:00
Roland Pesch
0e166a6353 Thanks to Zoo watchfulness:
(1) reflect current name of linker (now "ld", not "gld");
(2) fill in missing portion of a reference to full manual;
(3) fix old random typo spotted while proofing above.
1992-08-17 18:28:26 +00:00
Steve Chamberlain
6bf2e3a762 * 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.
1992-08-13 19:16:49 +00:00
Roland Pesch
426fad1ef9 Include -N description (and include -N in synopsis). 1992-08-08 00:36:16 +00:00
Roland Pesch
246504a5c4 Restore docn for -N, now reintroduced into this generation of linker. 1992-08-08 00:31:17 +00:00
Steve Chamberlain
ae475b39b2 * 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.
1992-08-07 19:34:59 +00:00
Per Bothner
4b91c519fd * ldint.texinfo: New internals manual (beginnings thereof).
* PORTING:  Removed, merged into ldint.texinfo.
1992-08-07 01:37:39 +00:00
Per Bothner
917bffa7f6 * 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.
1992-08-05 04:15:37 +00:00
David D. Zuhn
b40f9c73f7 fix installation problem which forced a relink of ld on 2nd and subsequent installation 1992-08-03 22:07:36 +00:00
David Henkel-Wallace
12ad398426 OSE stuff. 1992-07-23 19:01:34 +00:00
David Henkel-Wallace
3dfac3bc35 hp stuff. 1992-07-23 19:01:19 +00:00
K. Richard Pixley
ec467c8310 removed rcsids 1992-07-18 05:06:56 +00:00
Steve Chamberlain
67cddd9faf * 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
1992-07-14 15:39:31 +00:00
Steve Chamberlain
f7c7689713 * ldmain.c(main): prevent -r and -relax from being on at the same
time.
1992-07-14 01:00:31 +00:00
David Henkel-Wallace
0b0b5dbac1 Support -program_suffix (and make -program_prefix actually work). 1992-07-10 18:37:35 +00:00
Steve Chamberlain
28b6b1ab85 , 1992-07-02 00:53:25 +00:00
Steve Chamberlain
be1627d309 Aliasing bug fixes 1992-07-02 00:53:14 +00:00
Steve Chamberlain
5cdea2ac20 Install into the right place for cross 1992-06-26 22:42:15 +00:00
Steve Chamberlain
30d1a3904f * 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
1992-06-18 16:42:46 +00:00
Steve Chamberlain
833ff6f0f7 hitachi bug gix 1992-06-16 17:12:59 +00:00
Steve Chamberlain
305d9b19c8 Bug fixes for Hitachi 1992-06-16 17:12:51 +00:00
Michael Tiemann
5bdf878ebf Accept m680?0 for wrs as vxworks68. Also deleted an unreachable path to wrs. 1992-06-15 15:49:30 +00:00
Steve Chamberlain
bb63f602dd Keep this just in case 1992-06-10 14:44:52 +00:00
Steve Chamberlain
e47bfa6305 *** empty log message *** 1992-06-08 17:14:18 +00:00
Steve Chamberlain
075d735996 lint 1992-06-08 17:14:10 +00:00
Steve Chamberlain
b257477fa0 *** empty log message *** 1992-06-08 17:09:57 +00:00
Steve Chamberlain
ee4af9e839 don't crash when provided empty symbol table 1992-06-08 17:09:40 +00:00
Steve Chamberlain
5e81edb2ec * ldgram.y, ldlex.l: parse ABSOLUTE
* ldexp.c: add support for ABSOLUTE
1992-05-27 22:18:50 +00:00
Per Bothner
52d6340e55 * 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.
1992-05-27 20:21:42 +00:00
Per Bothner
7aacc9cc02 * Makefile.in: Added default definitions for HOSTING_CRT0,
HOSTING_LIBS, and HOSTING_EMU, based on those in config/*.mh.
1992-05-27 20:20:47 +00:00
Steve Chamberlain
cf2623b060 Don't be too sanitary
(thanks Per)
1992-05-26 22:28:07 +00:00
Per Bothner
5ff21fa5c0 * 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.
1992-05-22 22:36:35 +00:00
Per Bothner
91e25b4f8f * ldlex.c: Fix some unnecessary flex-specific-isms. 1992-05-22 20:56:37 +00:00
Per Bothner
d219bf5068 * config/sparc.mh: Fix HOSTING_LIBS so it has a chance of working. 1992-05-22 20:48:50 +00:00
Steve Chamberlain
a1fb7cd400 Keep sa29200.mt 1992-05-08 15:14:38 +00:00
Roland Pesch
82d1666a7c Thu May 7 17:01:12 1992 Roland H. Pesch (pesch@fowanton.cygnus.com)
* ld.texinfo: references to linker now say "ld" not "gld".
1992-05-08 00:05:32 +00:00
Roland Pesch
7b0155478d @{ ... @} --> @code{ ... } 1992-05-07 19:54:26 +00:00
Steve Chamberlain
32846f9c3e 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.
1992-05-06 20:31:01 +00:00
K. Richard Pixley
bf3acf4485 use flex & bison from ../ if they exist 1992-05-06 18:08:10 +00:00
Steve Chamberlain
7153b2ff71 *** empty log message *** 1992-05-06 01:08:02 +00:00
Steve Chamberlain
a72f4e5f84 * 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
1992-05-06 01:07:05 +00:00
Steve Chamberlain
9c99a57eca * relax.c (build_it): don't allocate space in the output file for
stuff if -R flag applys to it.
1992-05-06 00:49:18 +00:00
Per Bothner
98377f31b7 * ldver.c: Increase version number to 1.97, for consistency with ../binutils. 1992-05-05 21:07:32 +00:00
K. Richard Pixley
813da1a517 FLEX -> LEX 1992-05-05 19:13:58 +00:00