Commit Graph

365 Commits

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