Commit Graph

504 Commits

Author SHA1 Message Date
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