Commit graph

53 commits

Author SHA1 Message Date
David MacKenzie
d723cd17d5 * ldlang.c (lang_process): Use sizeof instead of magic constant.
* ldmain.c (get_emulation, check_for_scripts_dir,
	set_scripts_dir):  New functions.
	(main): Call them.
1993-07-12 19:34:04 +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
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
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 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
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
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
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
22f5b2b9e5 Added \n to error message. 1992-10-26 17:02:45 +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
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
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
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
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
075d735996 lint 1992-06-08 17:14:10 +00:00
Steve Chamberlain
ee4af9e839 don't crash when provided empty symbol table 1992-06-08 17:09:40 +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
dc4726c236 lint 1992-05-01 20:09:44 +00:00
Steve Chamberlain
1bd1fa2ddb Lint found by Rich and gcc 1992-04-16 18:03:51 +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
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
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
Steve Chamberlain
6fd50a2010 .Sanitize: added relax.c
ldsym.c ldlang.* more map stuff
1992-01-24 22:36:06 +00:00
Steve Chamberlain
c611e285bd Merging from VMS port. Doc to follow.. 1992-01-24 18:41:32 +00:00
Per Bothner
aeedc30e25 * configure.in: Fixed typo. Also, a fix for hp300bsd.
* ldlang.c (init_os):  Compensate for BFD change,
	where bfd_make_section now returns NULL for a duplicate
	section request, instead of the old section.
1991-11-03 23:03:01 +00:00
John Gilmore
f177a611f1 Include bfd.h before sysdep.h, so ansidecl and PROTO() get defined first. 1991-10-11 11:28:27 +00:00
Steve Chamberlain
b648e172cc *** empty log message *** 1991-08-01 23:59:06 +00:00
Steve Chamberlain
8101605119 Added new keyword 'CONSTRUCTORS'
Added N_WARNING handling
Added N_INDR handling
1991-08-01 23:29:23 +00:00
Steve Chamberlain
06850bead6 Initialized a variable 1991-07-31 00:37:42 +00:00
Steve Chamberlain
7bc4a0d7a8 Fixed a few bugs, added 29k coff support. 1991-07-15 23:43:26 +00:00
Steve Chamberlain
357a1f38a5 *** empty log message *** 1991-06-07 01:32:45 +00:00
Steve Chamberlain
48491e2e15 *** empty log message *** 1991-06-04 23:05:54 +00:00
John Gilmore
3f8d46e7cb Print reasonable error message when architecture mismatch happens.
However, still don't understand why we get arch mismatch.
1991-05-31 14:14:46 +00:00
Steve Chamberlain
e89432c7c9 Fixed problem with default output filename 1991-05-14 18:52:40 +00:00
Steve Chamberlain
8c514453d0 *** empty log message *** 1991-05-14 17:33:03 +00:00
Steve Chamberlain
a0ad303552 Lint 1991-05-08 19:23:35 +00:00
Steve Chamberlain
b63165349f *** empty log message *** 1991-05-03 23:52:48 +00:00
Steve Chamberlain
65c552e308 Added the sizeof_headers keyword. 1991-04-24 20:53:36 +00:00
Steve Chamberlain
a37cc0c05c *** empty log message *** 1991-04-23 15:59:24 +00:00
Steve Chamberlain
b0f368691e Fixed a bug where wild scripts stopped working.
Fixed another bug in -R symbol handling
1991-04-19 01:00:45 +00:00
Steve Chamberlain
ac00487023 Fixed some bugs. 1991-04-18 00:06:26 +00:00
Steve Chamberlain
d4c02e2923 Cleaned up a load of declarations
Fixed bug in unary - , ! and ~
1991-04-17 02:04:31 +00:00
Steve Chamberlain
097879bc04 Added support for OUTPUT_FORMAT keyword
Fixed problem where cofflike common was being badly sized due to
incorrectly owned common symbols.
1991-04-17 00:51:31 +00:00
Steve Chamberlain
070aa81923 *** empty log message *** 1991-04-16 14:32:02 +00:00
Steve Chamberlain
1418c83b39 checkpoint before a merge 1991-04-14 03:22:42 +00:00
Steve Chamberlain
de7c1ff613 *** empty log message *** 1991-04-08 23:26:05 +00:00
Steve Chamberlain
c660714fb1 *** empty log message *** 1991-03-27 02:29:23 +00:00