Commit Graph

34 Commits

Author SHA1 Message Date
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
Per Bothner
1cf91c69b0 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
symbols, unless stripping.
1993-06-01 22:44:42 +00:00
Ken Raeburn
2a1c2bad8b comment formatting fixup 1993-05-03 19:47:38 +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
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
Ian Lance Taylor
04dd7520d0 Removed garbage after #endif. 1993-02-09 15:56:11 +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
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
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
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
Ken Raeburn
571c4c2636 common/undef sym handling fix from p3 1992-08-21 01:43:49 +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
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
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
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
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
Steve Chamberlain
b773e0e582 uses __inline for now for gcc 1991-11-12 04:26:12 +00:00
Steve Chamberlain
d9c53949d8 Call new bfd entrypoint bfd_make_section_old_way 1991-11-06 01:21:19 +00:00
Steve Chamberlain
ce4d59e25d Sun Nov 3 16:37:37 1991 Steve Chamberlain (steve at cygnus.com)
i386 aout changes from Bob Kukura
	* Makefile.in, config.h: added i386aout support
	* configure.in: fixed /h-{myhost} typo
	* ldgram.y: -MM now gives more boring map.
	* ldlang.c: now does D_PAGED flag the right way.
	* ldsym.c: -MM flags does the right thing.
1991-11-04 00:45:25 +00:00
Per Bothner
2d1a2445ff Add or update copyright notices. 1991-10-16 19:39:40 +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
7fe11a82b4 Various lints and uses the new arch functions 1991-10-01 03:51:53 +00:00
Steve Chamberlain
1af27af8bc Patches to fix bugs reported by roland McGrath 1991-08-06 21:28:21 +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
48491e2e15 *** empty log message *** 1991-06-04 23:05:54 +00:00
Steve Chamberlain
19b03b7aa4 *** empty log message *** 1991-05-18 02:57:45 +00:00
Steve Chamberlain
d646b568d0 Moved declarations from header file into here. 1991-04-17 02:03:34 +00:00
Steve Chamberlain
99fe455360 Merges from Intel.
Chrisb bug fixes.
1991-04-15 15:27:15 +00:00
Steve Chamberlain
1418c83b39 checkpoint before a merge 1991-04-14 03:22:42 +00:00
Steve Chamberlain
c660714fb1 *** empty log message *** 1991-03-27 02:29:23 +00:00
Steve Chamberlain
8cb5eb316c Brought up to sync with Intel again. 1991-03-22 23:02:38 +00:00
David Henkel-Wallace
c074abeebc Back from Intel with Steve 1991-03-21 21:29:07 +00:00
David Henkel-Wallace
2fa0b342a5 Initial revision 1991-03-21 21:29:06 +00:00