Commit Graph

549 Commits

Author SHA1 Message Date
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
K. Richard Pixley
3f350edad0 {} -> @{@} 1992-05-05 19:13:06 +00:00
Roland Pesch
e0047d4930 doc doc changes 1992-05-05 00:55:04 +00:00
Roland Pesch
2d59b2c30e Doc for MRI-compatible linker scripts. 1992-05-05 00:52:27 +00:00
Steve Chamberlain
bfbdc80f0a * 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.
1992-05-04 23:38:42 +00:00
Steve Chamberlain
0fdf9f815b More 29200 stuff 1992-05-02 02:09:20 +00:00
Steve Chamberlain
fe3e4dfcfd New stuff for 29200 1992-05-02 02:08:21 +00:00
Steve Chamberlain
e14a43bfaf * ldgram.y, ldlex.c, mri.c: added more compatible words; BASE, ALIAS and
PUBLIC.
	* Makefile.in: now use flex, not lex
1992-05-02 01:35:12 +00:00
K. Richard Pixley
d3451fe888 use bootstrap for check 1992-05-02 01:19:02 +00:00
Steve Chamberlain
51e6c7505f Add hp300bsd 1992-05-01 22:34:25 +00:00
Steve Chamberlain
a586b5bc64 Add mri.h 1992-05-01 22:08:40 +00:00
Steve Chamberlain
dc4726c236 lint 1992-05-01 20:09:44 +00:00
K. Richard Pixley
77b19d3d3e rework CFLAGS such that they can be passed on command line to make 1992-04-22 23:35:47 +00:00
Steve Chamberlain
ee0c4cf7d1 * ldlex.l: added CMDFILENAMECHAR state so that you can lex
different sorts of filenames on the command line than in a script.
1992-04-22 19:55:15 +00:00
K. Richard Pixley
119afd7b5f tooldir copy of ld belongs directly in tooldir 1992-04-21 05:34:11 +00:00
Steve Chamberlain
0d3e45eab0 * 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.
1992-04-17 15:59:37 +00:00
Steve Chamberlain
1bd1fa2ddb Lint found by Rich and gcc 1992-04-16 18:03:51 +00:00
Steve Chamberlain
b11a9b2866 added mri.c 1992-04-15 23:11:53 +00:00
Steve Chamberlain
2e38b71d27 Strange link script support 1992-04-15 23:11:09 +00:00
Steve Chamberlain
3d2b83ea49 Personal checkpoint - now should parse some MRI stuff 1992-04-15 22:23:33 +00:00
Sean Eric Fagan
b6422192ea Changed to allow hosting on an Apollo Series 400 under the BSD4.3 emulation
environment.
1992-04-14 21:32:34 +00:00
Ken Raeburn
1900f884b3 Install second copy as $(tooldir)/bin/ld, since that's what gcc wants. 1992-04-09 09:54:52 +00:00
Steve Chamberlain
9d1fe8a410 New lexer.
New targets for h8/300 simulator and DOS
1992-04-05 01:47:16 +00:00
Steve Chamberlain
5531526a10 Fix for new filenames 1992-03-17 00:38:14 +00:00
Steve Chamberlain
d5a13d8ea0 i960 bitrot fix 1992-03-16 22:54:51 +00:00
K. Richard Pixley
f0280cd218 install man page too 1992-03-14 03:47:55 +00:00
Steve Chamberlain
12fa72d472 * config/mt-<foo> renamed to <foo>.mt
* config/mh-<foo> renamed to <foo>.mt
	* configure.in changed to reflect this
	* genscripts.sh now make .xbn files rather than .xN files
1992-03-13 16:25:26 +00:00
Steve Chamberlain
4fe79f062d *** empty log message *** 1992-03-07 18:32:27 +00:00
Steve Chamberlain
9aa97a39fe Lint removal, extra prototypes.
Recopied cplus-dem from gdb, makes more things come out right.
1992-03-07 18:31:24 +00:00
Steve Chamberlain
fe563ffeb7 * ldmain.c (Q_enter_file_symbols): now aliases work again 1992-03-06 15:00:57 +00:00
Steve Chamberlain
76971f0da2 Modifed to care about semi colons again, newlines are ignored - sorry
Per.
1992-03-02 22:22:59 +00:00
Steve Chamberlain
d286190140 Why didn't it start emacs 1992-02-27 17:24:13 +00:00
Steve Chamberlain
65aa37242b DJ naming change 1992-02-22 00:11:39 +00:00
Per Bothner
573da2f371 * Makefile.in: Change mkscript rule into one for ./mkscript
(for the sake of makes that don't realize they're the same).
	* PORTING:  Add more details.
	* genscripts.sh:  Add more tailorability of DATA_ALIGNMENT.
1992-02-21 01:59:57 +00:00
Per Bothner
1584d0697d New hp300bsd port. 1992-02-17 20:08:20 +00:00
Per Bothner
c3d97ef66b *** empty log message *** 1992-02-16 20:49:26 +00:00
Per Bothner
7e5c1057bb * Makefile.in: Major changes. Removed some the sed
magic to converts scripts, since that is now handled
	by genscripts.sh and the *.sc-sh scipt generators.
	* config.h:  Remove a bunch of macros defining emulations
	and targets.  This becomes one less file to edit when
	adding emulations or targets.
	* ldemul.h (struct ld_emulation_xfer_struct):  Add
	emulation_name and target_name fields.
	* ldemul.c, ldemul.h:  Define some default functions used
	by most emulations (and remove from the *.em scripts).
	* ldemul.c (ldemul_choose_target):  Search the new
	ld_emulations array using a loop (instead of a hardwired
	nested if statement).
	Define the ld_emulation from the automatically-geenrated
	ldemul-list.h.  This means you no longer have to edit ldemul.c
	to add a new emulation.
	* ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
	their expansions, since the former no longer exist.
	* PORTING:  A very rough first draft of a porting guide.
1992-02-15 23:13:00 +00:00
Per Bothner
15c5ec2e27 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
	* config/mh-foo:  Rename LDEMULATION names as appropriate
	(usually 'gldfoo' -> plain 'foo').
1992-02-15 22:21:43 +00:00
Per Bothner
de566389ca Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* Each emulation is defined by a short shell script with
	extension *.sh that specifies the emulation-specific
	parameters (such as the name of the *.sh-sc and *.em
	files to use).
	* genscript.sh is the master shell script used to generate
	an emulation.  It is passed various argument, including
	the name a the emulation-speciic *.sh file that it
	"sources" to set variables to emulation-specifc parameters.
1992-02-15 22:13:53 +00:00
Per Bothner
6ecb2b74ee Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* generic.em replaces ldtemplate.
	* Other *.em files replace various *.c files.
	A *.em file is a shell script that generates the corresponding
	ld__*.c file that implements an emulation.  This is usually
	a straight 'cat' of a here-document, possibly with substitutions.
	* Script files (*.sc) are places by *.sc-sh scripts.
	Again, these are simple shell scripts that 'cat'
	here-documents, usually with some substitutions.
	The output a *.sc-sh is a script file.
1992-02-15 22:07:15 +00:00
Steve Chamberlain
ee1e80ef4c Make the emulation GLD960, not GLD 1992-02-12 06:42:21 +00:00
Steve Chamberlain
dcde00c429 ldlang.c: now won't core dump with -M
configure.in: add configure target for vxworks960
1992-02-11 20:21:52 +00:00
Steve Chamberlain
ffc5003225 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
tests for NULL pointers all over the place.
	* ldlang.c (lang_process): remember to relocate global symbols
	*after* relaxing has done it stuff.
1992-02-11 00:23:32 +00:00
Steve Chamberlain
ca3c5c6329 Make undefined refs not make an executable 1992-02-10 18:54:27 +00:00
Heinz G. Seidl
7d5326148d added mt-sun3 mt-vxworks68 mt-vxworks960 1992-02-07 22:34:19 +00:00
Heinz G. Seidl
2c43314875 added h8300hms.c and h8300hms.sc 1992-02-07 22:32:29 +00:00
Michael Tiemann
c556c4267b Add ${srcdir} for makefile_frags. 1992-02-07 07:52:08 +00:00
Steve Chamberlain
ab6c26bae1 From h8300hds* 1992-02-06 19:44:44 +00:00
Steve Chamberlain
67c7ea668f * config/mt-coff-h8300: use EMUL like everything else
* ldlang.c: (print_padding_statement): print the right address.
	* Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
1992-02-06 19:43:25 +00:00
Steve Chamberlain
aa34a7c3c1 * ldlex.l: Put pack -noinhibit-exec and -sort-common
* ldlang.c (print_data_statement): print the right address.
1992-02-04 23:29:33 +00:00
Michael Tiemann
58216160ef Work around for problems in linking C++ programs that need file-level
initialization.  Now C++ programs can be linked.
1992-02-02 21:12:25 +00:00
Steve Chamberlain
d20fb44510 A change to the makefile got lost; ldmain. forgot that it should set
DEFAULT_EMULATION, so ld didn't know who it was.
1992-02-01 00:50:35 +00:00
K. Richard Pixley
60048a2cee add bootstrap target 1992-01-29 22:47:09 +00:00
Steve Chamberlain
0cc6a79622 ldlnk960.c: Special #ifdef to choose little endian ony
ldgram.y: allow forward ref of section
1992-01-29 16:44:09 +00:00
Steve Chamberlain
cbbdbb9f29 * config/mh-sparc.h: now uses libgcc.a
* ldmain.c: quit using exit
	* *.sc: use *(COMMON) rather than [COMMON]
	* ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
	to allow preprocessing of .l file.
	* Makefile.in: New ldlex.l mangling
	* ldexp.c (fold_binary): perform expressions with % and / in
	integer.
	* ldfile.c (open_a): open archives on VMS in a special way
	* lderror.c: forgot to check in from a long while ago
1992-01-29 16:43:16 +00:00
Steve Chamberlain
870f54b2c8 * ldgram.y: map -M behave in the same way as -Map (sets file name
to be "-".
	* ldsym.c, ldlang.c: remember that size of a section is dependent on
	whether or not relaxing has been done.
	* ldmain.c: don't open a map file if it doesn't have a name
	* relax.c: all the brains have moved into bfd.
	* ldwrite.c: ammend comment
1992-01-28 18:21:36 +00:00
Steve Chamberlain
ac5939079f Now compiles with gcc too. 1992-01-24 23:44:10 +00:00
Steve Chamberlain
95a876f3fa target file for h8300 1992-01-24 22:37:17 +00:00
Steve Chamberlain
6fd50a2010 .Sanitize: added relax.c
ldsym.c ldlang.* more map stuff
1992-01-24 22:36:06 +00:00
Steve Chamberlain
2e2bf962db * Makefile.in: added relax, also made three stage go through a
partial link stage.
	* relax.c : added
	* config.h: if GNU960 defined, then default emulation mode is
	GLD960
	* ldexp.h, ldexp.c: map to file hooks
	* ldlang.c: map to file hooks
	* ldgram.y: added -Map -relax
	* ldlex.l: added -relax, -Map
	* ldmain.c: open map file
	* ldmisc.c: support for map file
	* ldwrite.c: new relax magic
1992-01-24 22:34:34 +00:00
Heinz G. Seidl
2cbe4c5f9e install ld in the gcclibdir if present 1992-01-24 22:11:28 +00:00
Steve Chamberlain
c611e285bd Merging from VMS port. Doc to follow.. 1992-01-24 18:41:32 +00:00
Roland Pesch
0acfc45154 (1) describe -relax
(2) push rev, copyright dates to present
1992-01-24 03:40:21 +00:00
Roland Pesch
1c48127ed7 (1) describe -relax
(2) restructure machine dependencies into separate chapter
(3) replace pretty, but quick to become obsolete, graph of BFD platforms
    vs architectures with extended excerpt from (and ref to ) objdump -i.
1992-01-24 03:38:02 +00:00
Michael Tiemann
7316c642a3 Initial revision 1992-01-21 07:27:29 +00:00
Steve Chamberlain
df0c47d497 Initial revision 1991-12-30 18:15:12 +00:00
John Gilmore
c2bb024d97 * Makefile.in, config/tm-*.h: Clean up make output, only
pass DEFAULT_EMULATION to ldmain.c.
1991-12-20 07:48:11 +00:00
Steve Chamberlain
71fc99e9e6 Add mt-coff-h8300 1991-12-12 04:01:28 +00:00
Steve Chamberlain
0cc795aaa4 New dos files 1991-12-12 03:42:08 +00:00
Steve Chamberlain
f9ea3c982e Initial revision 1991-12-12 03:42:06 +00:00
Per Bothner
e06ba18dad * Makefile.in: Pass -y to bison. (Again; accidentally deleted by Rich.)
* news.sc, ldgld68k.sc:  Define __end as well as _end.
1991-12-10 00:31:17 +00:00
Steve Chamberlain
1cc27b5ed3 *** empty log message *** 1991-12-08 01:27:59 +00:00
Steve Chamberlain
f0b87c7d97 * ldindr.h: added to contain prototypes of ldindr.c
* ldfile.c: include ctype.h
	* ldmain.c: include the requried prototype headers
	* ldwrite.c: get_reloc_upper_bound has been renamed
	bfd_get_reloc_upper_bound
1991-12-08 01:21:28 +00:00
Steve Chamberlain
bc71278ddd Initial revision 1991-12-08 01:21:25 +00:00