Commit Graph

35 Commits

Author SHA1 Message Date
Ian Lance Taylor
a1ad915dc4 * ld.h (args_type): Add field rpath.
* lexsup.c (S_ISDIR): Define if not already defined.
	(parse_args): Add support for -rpath.  If -R is used to name a
	directory, treat it as -rpath for Solaris compatibility.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Pass command_line.rpath to bfd_elf32_size_dynamic_sections.
	* ldmain.c (main): Initialize command_line.rpath to NULL.
	* ld.texinfo: Document -rpath option.
1994-07-20 19:55:36 +00:00
Ian Lance Taylor
c96386c4d8 * ld.h (ld_config_type): Add new field traditional_format.
* lexsup.c (parse_args): Add traditional_format to longopts, and
	handle it.
	* ldmain.c (main): Initialize config.traditional_format to false.
	* ldlang.c (ldlang_open_output): Set BFD_TRADITIONAL_FORMAT in BFD
	flags of output_bfd according to config.traditional_format.
	* ld.texinfo: Document -traditional-format.
1994-06-15 06:01:45 +00:00
Ian Lance Taylor
f9d3d71ae8 Don't create unnecessary output sections.
* ldlang.c (out_bfd_get_section_by_name): Remove.
	(wild_section): Call bfd_get_section_by_name rather than
	our_bfd_get_section_by_name.  Don't call wild_doit if there is no
	section.
	(lang_create_output_section_statements): Remove.
	(map_input_to_output_sections): For several cases, call init_os if
	it has not already been called.
	(lang_size_sections): If output section was not created, skip it.
	(lang_process): Don't call lan_create_output_section_statements.
	(lang_place_orphans): Skip files with just_syms_flags set to true.
	* ld.texinfo: Document change.
1994-05-11 20:29:21 +00:00
David MacKenzie
d4e5e3c330 Use getopt instead of lex and yacc to parse the command line.
* ld.texinfo (Options): Document changes to option syntax.
	* Makefile.in: Update dependencies.
	* ldver.c (help): Tweak dashes in usage message.
	* ldgram.y (%union): Remove unused members.
	Remove %tokens for command line options; add ones for input types.
	(command_line): Rules removed.
	(file): Instead of command line, recognize an
	input type indicator, then use the nonterminal for that type.
	(defsym_expr): New nonterminal from code formerly in command_line.
	* ldlex.h: Declare parser input type enum and variable.
	Don't declare parse_line.
	* ldlex.l: Remove unused variables.  Make some used ones static
	and comment them.
	(COMMAND): Start state and its rules removed.
	At start of yylex, return input state token if at start of input.
	(lex_redirect): Don't need to set yyout.
	(ldlex_command): Function removed.
	* ldmain.c (main): Instead of calling parse_line, set up the
	redirections and call yyparse directly.
	* ldmisc.c (vfinfo): If there's no input filename, print nothing, not
	"command line".
	* lexsup.c: Remove #if 0'd code.
	(parse_line): Function removed.
	(parse_args): Rewrite to use getopt_long_only.
	(set_default_dirlist): New function from code formerly in
	ldgram.y:command_line.
	(set_section_start): New function.
	* emultempl/generic.em, emultempl/gld960.em, emultempl/hppaelf.em,
	emultempl/lnk960.em, emultempl/m88kbcs.em: Don't enclose
	compiled-in link scripts in "{" and "}", as the grammar no longer
	wants them to be.
1994-02-25 03:26:25 +00:00
Roland Pesch
139c8857be Formatting adjustments, for better smallbook formatting
and to agree better w/FSF (RMS) indentation conventions.
1994-02-03 04:38:58 +00:00
Roland Pesch
7c8fab26c8 Describe -retain-symbols-file. 1994-02-03 04:18:11 +00:00
Roland Pesch
1fb57a5d3e misc updates:
(1) show `-y SYMBOL' with space
(2) weaken multi-target stuff, to avoid false expectations now that
linker now often config'd with only one target
(3) describe -relax support on i960
(4) correct description of hyphen chars in symbols
(5) describe CONSTRUCTORS linker script cmd
1994-02-03 03:12:38 +00:00
Roland Pesch
67c4333b27 Describe AT option of SECTIONS command, at long last. 1994-02-02 02:27:55 +00:00
Stan Shebs
8594f56890 Tue Jan 25 13:19:41 1994 Stan Shebs (shebs@andros.cygnus.com)
* ldmain.c (main): Compute and display total execution time.
	* ld.texinfo (-stats): Document the option.
1994-01-25 21:30:00 +00:00
David MacKenzie
8de26d624e * ld.texinfo: Clarify what -T option does. 1994-01-19 21:58:31 +00:00
Ian Lance Taylor
c477527cbb * ld.h (QUAD_SIZE): Define.
* ldgram.y (QUAD): New token.
	(length): Handle it.
	* ldlex.l: Return QUAD.
	* lexsup.c (keywords): Add QUAD.
	* ldwrite.c (build_link_order): Handle QUAD.
	* ldlang.c (print_data_statement): Handle QUAD.
	(lang_size_sections): Likewise.
	(lang_do_assignments): Likewise.
	* ldexp.c (exp_print_token): Add QUAD to table.
	* ld.texinfo: Describe QUAD.
1994-01-06 19:38:36 +00:00
Roland Pesch
8920addc82 Fixed minor typo ("host" sb "target" in discussion of GNUTARGET).
To my shame, this was reported 28 aug 92 by Jonathan Ryshpan, and lost
in my mail pile til now.
1993-11-03 00:09:34 +00:00
Roland Pesch
7f9ae73e76 Makefile.in: correct out-of-date TEXIDIR default
ld.texinfo: (a) fix INPUT cmd description (b) fix bad formatting in FSF
            style (warning examples) (c) add some index entries on warnings
1993-10-01 21:08:13 +00:00
David MacKenzie
836a5ee449 tiny additions & fixes 1993-09-03 22:47:04 +00:00
David MacKenzie
91fd30d46c mention that [section] is no longer supported 1993-08-10 16:12:30 +00:00
David MacKenzie
867a1b8a18 error fixes and clarifications 1993-08-05 22:49:26 +00:00
David MacKenzie
1cd4cca9bf add more info about -warn-common 1993-08-03 23:09:03 +00:00
David MacKenzie
2a28d8b006 add -warn-common option 1993-08-03 22:47:28 +00:00
David MacKenzie
3e27cc11c4 don't list objfiles... as an option 1993-08-03 00:33:38 +00:00
David MacKenzie
de87cdb466 * Make -v only print the version number.
Share some Texinfo documentation with BFD.
1993-07-08 18:00:11 +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
David MacKenzie
d18a45278e Document -Map option. 1993-06-17 23:23:48 +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
ec40bbb87f Clean up English and Texinfo usage. 1993-04-29 03:39:02 +00:00
Roland Pesch
d76ae847f0 Fix index reference (h8/300, not i960). 1993-03-30 06:55:41 +00:00
Roland Pesch
cb70c87297 Introduce more blanks in examples; minor formatting cleanup. 1992-08-19 21:34:47 +00:00
Roland Pesch
246504a5c4 Restore docn for -N, now reintroduced into this generation of linker. 1992-08-08 00:31:17 +00:00
Roland Pesch
7b0155478d @{ ... @} --> @code{ ... } 1992-05-07 19:54:26 +00:00
K. Richard Pixley
3f350edad0 {} -> @{@} 1992-05-05 19:13:06 +00:00
Roland Pesch
2d59b2c30e Doc for MRI-compatible linker scripts. 1992-05-05 00:52:27 +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
Roland Pesch
c8072296ee Smallbook format fixes. 1991-11-08 01:46:38 +00:00
Roland Pesch
2c5c06749f Fixed info-markup bugs; makeinfo now succeeds with no complaints. 1991-10-05 01:49:09 +00:00
Roland Pesch
b4d4e8e33c Updated, amplified, and reorganized linker manual. Option-flag
description believed complete as of today; still holes---small
ones---in "commands" section.  BFD section also needs better table of
supported archs and formats; see FIXMEs for scattered q's and
desiderata.
1991-04-20 00:07:39 +00:00
Roland Pesch
f22eee0870 Initial revision 1991-04-15 22:51:21 +00:00