Commit graph

480 commits

Author SHA1 Message Date
David MacKenzie
7b40f2b169 * ldmain.c ldmain.h ldgram.y: If -v -V or --version was given,
exit successfully instead of complaining if no input files are
	given.
1994-01-27 20:49:21 +00:00
Stan Shebs
74e6b793b8 * Makefile.in: Format variable definitions consistently.
(LD_PROG): Remove unnecessary variables from link command,
	change variable LOADLIBES to EXTRALIBS.
1994-01-26 04:24:30 +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
Ian Lance Taylor
5dad4c9728 * ldmain.c (reloc_overflow): Added name, reloc_name and addend
arguments.
1994-01-24 20:22:12 +00:00
Ian Lance Taylor
de08b0b153 * ldlang.c (lookup_name): Set BFD GP size to -G argument value
after opening BFD.
1994-01-24 19:55:02 +00:00
Ian Lance Taylor
755f42fe99 * ldlang.c (relaxing): Removed global variable.
(lang_size_sections): If the canonical symbols have not already
	been read in, read them in before relaxing.
	* ldlang.h (relaxing): Removed declaration.
1994-01-24 17:59:18 +00:00
Ian Lance Taylor
5e6cd559cf * ldlang.c (new_afile): Initialize loaded field to false.
(lookup_name): If file was already loaded, don't call the
	add_symbols entry point again.
1994-01-21 05:47:18 +00:00
David MacKenzie
8de26d624e * ld.texinfo: Clarify what -T option does. 1994-01-19 21:58:31 +00:00
Steve Chamberlain
a843c81763 * scripttempl/m88kbcs.sc: Don't use CREATE_OBJECT_SYMBOLS, that's
for a.out.
1994-01-19 00:21:59 +00:00
Ian Lance Taylor
8a432746ae Motorola Delta sysV68 support from phdm@info.ucl.ac.BE (Philippe
De Muyter).
	* configure.in (m68k-motorola-sysv*) New target.
	* config/delta68.mt: New file.
	* emulparams/delta68.sh: New file.
	* scripttempl/delta68.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Added em_delta68.o.
	(em_delta68.c): New target.
1994-01-14 20:43:07 +00:00
Ian Lance Taylor
901f3538ee * scripttempl/elf.sc: Correct typo. 1994-01-11 18:22:51 +00:00
David MacKenzie
c344d88420 * ldgram.y, ldlex.l: Make the space between -e, -u, and -y and
their arguments optional, for compatibility with the old GNU ld.
1994-01-11 03:59:49 +00:00
Ian Lance Taylor
267a3ab363 * scripttempl/elf.c: Define __bss_start before the .sbss section. 1994-01-08 01:01:23 +00:00
Ian Lance Taylor
2f84ec0d97 Various entries. 1994-01-06 20:05:44 +00:00
Ian Lance Taylor
3107eb5b38 * scripttempl/alpha.sc: Don't create .lit4 or .sdata sections,
since the Alpha doesn't use them.
1994-01-06 05:14:48 +00:00
David MacKenzie
080d8af095 * ldemul.h (ld_emulation_xfer_struct): Comment the members. 1994-01-06 01:57:11 +00:00
David MacKenzie
23fdc6bebd clarify change 1994-01-01 19:20:16 +00:00
David MacKenzie
34f9bf4b3c * scripttempl/aout.sc: Pad .text to DATA_ALIGNMENT if relocating;
needed for i386mach.

	* emulparams/i386mach.sh (SEGMENT_SIZE): Fix again.
	(PAGE_SIZE): Don't define; not used.
1994-01-01 19:15:50 +00:00
Ian Lance Taylor
1d166443d4 * ldgram.y (yyerror): Make argument const char *, and actually
print it out rather than assuming it is a syntax error.
	* ldmisc.h: Change declaration of yyerror.
	* ldemul.c, ldwrite.c: Add /*ARGSUSED*/ as appropriate.
1993-12-31 21:17:33 +00:00
David MacKenzie
ae9c800701 * emulparams/i386mach.sh (NONPAGED_TEXT_START_ADDR): Don't include
exec header offset, since the exec header isn't loaded.
	(PAGE_SIZE, SEGMENT_SIZE): Agree with bfd/i386mach3.c.
1993-12-31 21:13:03 +00:00
Ian Lance Taylor
4a6afc88bb A major rewrite to move the bulk of the linker into BFD so that
more efficient backend code can be written for specific object
	files.
	* lderror.c, lderror.h, ldindr.c, ldindr.h, ldsym.c, ldsym.h,
	ldwarn.c, ldwarn.h, relax.c, relax.h: Removed.
	* ldctor.c, ldctor.h: Complete rewrite.
	* ldwrite.c, ldwrite.h: Complete rewrite.
	* ld.h (strip_symbols_type, strip_symbols): Removed.  Use
	link_info.strip instead.  Changed all uses.
	(discard_locals_type, discard_locals): Removed.  Use
	link_info.discard instead.  Changed all uses.
	(ld_config_type): Removed relocateable_output field; use
	link_info.relocateable instead; changed all uses.  Added stats
	field.
	(set_asymbol_chain, get_asymbol_chain, get_loader_symbol,
	set_loader_symbol): Removed.
	* ldexp.h (node_class): Added etree_rel.
	(etree_type): Added rel field.
	* ldexp.c (exp_print_token): Bracketed table initialization.
	(exp_relop): New function.
	(fold_name): Use linker hash table rather than ldsym functions.
	(exp_fold_tree): Likewise.  Also, handle etree_rel case.
	(exp_print_tree): Handle etree_rel.
	* ldgram.y (strip_symbols, discard_locals): Removed.
	(OPTION_stats, OPTION_no_keep_memory): New tokens.  Handle them.
	(REL): New token.  Does not appear in grammar, but needed for
	expression code.
	(file): Don't call lang_final; it's called by main anyhow.
	* ldlex.l: Accept -stats and -no-keep-memory options.
	* ldlang.h (fill_type): Make unsigned int, not unsigned short.
	* ldlang.c: Consistently use fill_type for fill argument.
	(lang_init_script_file, script_file): Removed.
	(create_object_symbols): Removed.  Use
	link_info.create_object_symbols_section instead.  Changed all
	uses.
	(lang_add_keepsyms_file): Removed.
	(lookup_name): Call bfd_link_add_symbols instead of
	ldmain_open_file_read_symbol.
	(wild): Don't iterate over script_file.
	(open_output): Create link hash table.
	(lang_place_undefineds): Rewrote.
	(lang_size_sections): Handle relaxing (doesn't work yet).
	(lang_relocate_globals): Removed.
	(lang_finish): Use link hash table rather than ldsym functions.
	(lang_common): Rewrote.
	(lang_one_common): New function.
	(ldlang_add_file): Add file to link_info.input_bfds list.  Set
	usrdata.
	(create_symbol): Removed.
	(lang_process): Don't call lang_init_script_file.  Call
	ldctor_build_sets rather than find_constructors.  Don't call
	lang_relocate_globals.
	(lang_abs_symbol_at_beginning_of): Rewrote.
	(lang_abs_symbol_at_end_of): Rewrote.
	* ldmain.c (had_y): Removed.
	(lprefix, lprefix_len): Removed; use link_info fields instead.
	Changed all uses.
	(multiple_def_count, commons_pending, undefined_global_sym_count,
	total_symbols_seen, total_files_seen): Removed.
	(link_callbacks, link_info): New variables.
	(main): Initialize link_info.  Don't call init_bfd_error_vector or
	ldsym_init.  Don't set now unused variables.  Handle -stats.
	(get_emulation): Removed obsolete and nonfunctional GNU960 code.
	(add_ysym): Rewrote.
	(read_entry_symbols, refize, enter_global_ref, enter_file_symbols,
	search_library, gnu960_check_format, decode_library_subfile,
	linear_library, symdef_library, clear_syms, subfile_wanted_p):
	Removed.
	(add_keepsyms_file, add_archive_element, multiple_definition,
	multiple_common, add_to_set, warning_callback, undefined_symbol,
	reloc_overflow, reloc_dangerous, unattached_reloc, notice_ysym):
	New functions.
	* ldmisc.c (vfinfo): Accept a string for %T, not a symbol.  Don't
	require symbols for %C; look them up instead.
	* emultempl/hppaosf.em: Pass link_info to
	hppa_look_for_stubs_in_section.
	* Makefile.in: Rebuilt dependencies.
	(CFILES): Removed lderror.c, ldindr.c, ldsym.c, ldwarn.c, and
	relax.c.
	(HFILES): Removed lderror.h, ldindr.h, ldsym.h, ldwarn.h, and
	relax.h.
	(EMULATION_OFILES): Depend on bfdlink.h, ldmain.h, ldexp.h,
	ldlang.h and ldctor.h.

	* Makefile.in (ldlex.c): Don't depend on ldgram.h.  Remove
	declarations of free and malloc from flex output.  Change malloc
	to ldmalloc in flex output.
1993-12-30 19:51:41 +00:00
Ian Lance Taylor
553b002162 * ldlex.h: Don't declare yywrap if it is a macro.
* ldlex.l: Include sysdep.h.
1993-12-14 22:34:41 +00:00
Ian Lance Taylor
498fbd3c56 * ldlang.c (lang_for_each_statement_worker,
lang_for_each_statement): Forgot to use PARAMS.
1993-12-14 22:20:35 +00:00
Ian Lance Taylor
1400cdc51d * Makefile.in: Added .PHONY targets where appropriate. Added some
comments.  Also:
	(gcclibdir, version): Removed unused variables.
	(DEP): New variable, set to mkdep.
	(ALL_CFLAGS): New variable.  Used in .c.o target.
	(CFILES, HFILES, GENERATED_CFILES, GENERATED_HFILES): New
	variables.
	(HEADERS, MANSOURCES, LDCSOURCES, GENERATED_SOURCES,
	GENERATED_HEADERS, LDSOURCES, BFD_SOURCES, SOURCES): Removed
	mostly obsolete variables.  Adjusted remaining uses.
	(DEF_EMUL): Removed variable.
	(ldmain.o): Handle undefined EMUL error correctly.
	(ldemul-list.h): Depend on config.status rather than Makefile.
	Create via temporary file.
	(ver960.c, roll, make): Removed obsolete targets.
	(.dep, .dep1, dep.sed, dep, dep-in): New targets.  Used to rebuild
	dependencies.
1993-12-13 19:46:45 +00:00
Ian Lance Taylor
fcf276c495 Made many changes to eliminate gcc warnings. Made various
cosmetic changes, declared various things in header files, removed
	various extern declarations from .c files.  No substantive
	changes.
1993-12-11 22:55:55 +00:00
Ian Lance Taylor
2c6635a46f * ldlang.c (lang_process): Ifdef out final call to
lang_size_sections again (reverting change of Nove 2), since it
	breaks the Sun4 linker.
1993-12-11 22:46:15 +00:00
Ian Lance Taylor
8e964b071d * ldgram.y (OPTION_Oval): New token.
(command_line_option): Accept and ignore it.
	* ldlex.l (<COMMAND>): Handle -On where n is a number.
1993-12-02 00:25:48 +00:00
Ken Raeburn
d05ac46bc6 * configure.in: Group targets by CPU. Merge some m68k target entries with
different CPU specs that use the same ld_target values.

* configure.in: Add sparc*-*-coff.
* config/coff-sparc.mt, emulparams/coff_sparc.sh: New files.
* Makefile.in (ALL_EMULATIONS): Add em_coff_sparc.o.
(em_coff_sparc.c): Add dependencies and build rules.
1993-12-01 22:14:05 +00:00
Ian Lance Taylor
f651733a12 * ldgram.y (OPTION_call_shared, OPTION_non_shared): New tokens.
(command_line_option): Accept and ignore them (for now).
	* ldlex.l (<COMMAND>): Handle -non_shared and -call_shared.
1993-12-01 17:22:03 +00:00
Ian Lance Taylor
2332114c71 * configure.in (mips*-sgi-irix5*): New target. Use mipsb-elf32.
* emulparams/elf32mipsb.sh (DATA_ADDR): Define.
	(OTHER_READONLY_SECTIONS): Define for .reginfo.
	(EXECUTABLE_SYMBOLS): Define for _DYNAMIC_LINK.
	* scripttempl/elf.sc: Use EXECUTABLE_SYMBOLS when not relocating.
	Move OTHER_READONLY_SECTIONS after all the other readonly
	sections.  Don't use DATA_ADDR twice.
1993-11-19 19:31:51 +00:00
David Henkel-Wallace
b11b3aceb2 netware target support. 1993-11-08 14:28:46 +00:00
David MacKenzie
2ccb88c0d6 correct mach3 values 1993-11-06 05:51:14 +00:00
Ken Raeburn
4ecfad7942 Fix up dependencies and rules for ld.dvi, ld.info. 1993-11-04 00:09:39 +00:00
Ken Raeburn
3c1af24dd5 * Makefile.in (distclean): Don't get rid of dvi or info files. 1993-11-03 23:09:24 +00:00
David MacKenzie
3c292c5a46 make -o override OUTPUT 1993-11-03 21:19:18 +00:00
Jeff Law
f1f6b5e9cf * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
edata, _edata, end): Add definitions of these symbols.
	(__end):  Remove definition of this symbol.
	(__data_start): Move definition of this symbol.
1993-11-02 23:59:24 +00:00
Jeff Law
5f62613e11 * emultempl/hppaosf.em: Various fixes and support for linker stub
generation.
        (hppaosf_finish, hppaosf_search_for_padding_statements,
        hppaosf_create_output_section_statements): New functions in
        support of linker stub generation.
        (ld_hppaosf_emulation):  Redefine to include new
        emulation-specific routines.
1993-11-02 23:55:58 +00:00
Jeff Law
97fbbaca20 * ldlang.c (lang_process): Re-enable last call lang_size_sections.
Pass abs_output_section rather than NULL to avoid invalidating
        absolute symbols.
1993-11-02 23:47:41 +00:00
Ian Lance Taylor
c3b34cfd3b * ld.h (flag_is_*): Removed macros.
* ldmain.c (enter_global_ref), ldsym.c (write_file_locals):
	Consistently check the BFD symbol flags directly, rather than
	using file_is_* macros.
1993-10-29 19:02:26 +00:00
Stan Shebs
7b95fe96ef Sparc Lynx support 1993-10-29 02:39:07 +00:00
Ian Lance Taylor
d17eb3db0e * Makefile.in: Add dependency for $(EMULATION_OFILES). 1993-10-28 18:09:20 +00:00
Ian Lance Taylor
db4b5ad081 * relax.c (write_relax): Check return value of bfd_seclet_link. 1993-10-25 20:10:35 +00:00
Ken Raeburn
2fe6619ee0 * ldlang.c (delete_output_file_on_failure): New variable.
(open_output): Set it after bfd open succeeds.
* ldmisc.c (vfinfo): Test it.

Changes from Peter Hoogenboom, hoogen@cs.utah.edu:

* ldsym.c (write_file_locals): Set the BSF_FILE flag for object symbols.

* ldemul.c: Support was added to allow emulation-specific processing to occur.
This support was added primarily for linker stub generation in the elf32-hppa
gld.
(ldemul_finish, ldemul_create_output_section_statements):  New functions.
* ldemul.h: Support was added to allow emulation-specific processing to occur.
(As described above.)  Added finish and create_output_section_statements fields
to ld_emulation_xfer_struct structure.
* ldlang.c: Add calls to emulation-specific routines.
(lang_process):  Add call to ldemul_create_output_section_statements function.
(lang_process):  Add call to a emulation-specific routine (and
some processing after the call).
1993-10-25 16:35:23 +00:00
Ian Lance Taylor
1c4b3cda62 * configure.in (alpha-*-osf*): New target; use alpha.mt.
* Makefile.in (ALL_EMULATIONS): Added em_alpha.o.
	(em_alpha.c): New target; use alpha.sh and alpha.sc.
	* config/alphaosf.mh (NATIVE_LIB_DIRS, HOSTING_CRT0): Define.
	* config/alpha.mt: New file.
	* emulparams/alpha.sh: New file.
	* scripttempl/alpha.sc: New file.
1993-10-19 19:55:52 +00:00
Ian Lance Taylor
98b5caadf3 * ldmain.c (enter_global_ref): Just ignore any weak symbol for
which we already have a definition, rather than checking in
	several different places whether the symbol is weak.
1993-10-13 20:04:30 +00:00
Ian Lance Taylor
a71da76017 * configure.in (mips-*-elf*): New target; use mipsb-elf32.
* scripttempl/elf.sc: Only use OTHER_READONLY_SECTIONS and
	OTHER_READWRITE_SECTIONS if relocating.  Shell variables are not
	expanded within them.
	* config/mipsb-elf32.mt: New file.
	* emulparams/elf32mipb.sh: New file.
	* Makefile.in (em_elf32mipb.c): New target.
1993-10-12 21:46:52 +00:00
Rob Savoye
a4aeaacf69 * ldlang.c (lang_add_input_file): If it's a library brought in by
INPUT(), then change the file type to lang_input_file_is_l_enum.
	* ldgram.y: In input_list, change lang_input_file_is_file_enum to
	lang_input_file_is_search_file_enum so objects brought in using
	INPUT() do a path lookup.
1993-10-01 01:28:55 +00:00
Ian Lance Taylor
9a467cb2b5 Finish up support for i386-sysv4 (without shared libraries):
* ld.h (flag_is_weak): Define.
	* ldlang.c (print_symbol): Mention whether symbol is weak.
	(print_input_section): Print weak symbols as globals.
	* ldmain.c (refize): Do not zero out BSF_WEAK flag.
	(enter_global_ref): Do not warn if a weak symbol redefines a
	global symbol.  Do not let a weak symbol redefine a common symbol.
	(enter_file_symbols): Treat weak symbols as global symbols.
	(subfile_wanted_p): Do not pull in an object file from a archive
	just to resolve an undefined weak symbol.
	* ldmisc.c (vfinfo): Don't needlessly malloc space after a fatal
	error; the error might be that malloc has run out of space.
	* ldsym.c (write_file_locals): Treat weak symbols as global.
	* configure.in (i[34]86-*-sysv4*, i[34]86-*-elf*): New targets;
	use i386-elf.
	* config/i386v4.mh: New file; set NATIVE_LIB_DIRS to /usr/ccs/lib.
	* config/i386-elf.mt: New file; set EMUL to elf_i386.
	* emulparams/elf_i386.sh: New file.
	* scripttempl/elf.sc: Use ${NOP} as filler (defaults to 0).
	* Makefile.in (NATIVE_LIB_DIRS): Define to be empty.
	(ALL_EMULATIONS): Add em_elf_i386.o.
	(GENSCRIPTS): Pass NATIVE_LIB_DIRS as sixth argument.
	(em_elf_i386.c): New target, like other em_*.c targets.
	($(LD_PROG)): Pass $(CFLAGS) to $(CC).
	* genscripts.sh: Accept NATIVE_LIB_DIRS as sixth argument.  If
	nonempty, and configured for native, add it to LIB_PATH.
1993-09-17 22:11:00 +00:00
Stan Shebs
4f6d6db937 Added statements for stab sections in coff files. 1993-09-17 20:16:17 +00:00
David Edelsohn
1bff7c388a * ldmain.c (main): Call set_scripts_dir after argv has been processed. 1993-09-12 23:07:40 +00:00
Jeffrey Wheat
8a6665aef8 Changed CXX back to g++. ../gcc/xgcc breaks the cdtest because of <assert.h> 1993-09-10 16:50:52 +00:00
Jeffrey Wheat
3a9149a7b7 Fixed RUNTEST* CXX CXXFLAGS macros and check rule. 1993-09-10 16:37:47 +00:00
David MacKenzie
cbb5c2d133 * Makefile.in (TAGS): Use shell wildcards. 1993-09-10 14:29:45 +00:00
Jeffrey Osier
959eba2070 * Makefile.in: add TEXINPUTS variable and use it in ld.dvi target 1993-09-08 01:08:26 +00:00
Roland Pesch
a0a55af6a7 * ld.texinfo: re-enable included config file; conditionalize doc
for -oformat to interact properly with SingleFormat doc config
	var; rename @up/@down to @raisesections/@lowersections.
1993-09-03 23:48:59 +00:00
David Edelsohn
c10744770c * ld.h (BYTE_SIZE, SHORT_SIZE, LONG_SIZE): Define as suggested by
Steve.
1993-08-26 22:22:36 +00:00
Ken Raeburn
4346166b07 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
* emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
ELF emulation is "elf32-hppa" not "elf-big".
(hppaosf_before_parse): Remove unneeded processing of environment variables.
* scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
.text segment of output file.
* emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
1993-08-24 23:45:26 +00:00
K. Richard Pixley
95a2b9d2ce move BYTE_SIZE, SHORT_SIZE, LONG_SIZE from ldlang.c into ld.h 1993-08-24 23:34:32 +00:00
K. Richard Pixley
b98bd3db83 define BYTE_SIZE, SHORT_SIZE, and LONG_SIZE which are no longer in bfd.h. 1993-08-24 23:17:52 +00:00
Ian Lance Taylor
ddddcdf0f3 * ldlang.c (open_output, lang_check): Check return value of
bfd_set_arch_mach.
1993-08-17 19:25:18 +00:00
Steve Chamberlain
ea1c0ad276 * scripttempl/h8500.sc: Start all sections in a different segment.
* scripttempl/z8ksim.sc: Handle constructors
1993-08-17 14:04:24 +00:00
Jeffrey Wheat
d301e438b5 check targets reimplemented to old way. 1993-08-12 15:54:30 +00:00
Ian Lance Taylor
d62026add2 * config/i386v.mh, config/irix4.mh: Use gcc
-print-libgcc-file-name rather than $(libdir)/libgcc.a.
1993-08-11 19:14:25 +00:00
Ian Lance Taylor
75fe54719c * config/i386sco.mh: New file; copy of i386v.mh to correspond to
bfd/configure.host change.
1993-08-11 15:57:39 +00:00
David MacKenzie
31f55aa540 clean up error messages 1993-08-06 20:13:28 +00:00
Ian Lance Taylor
3353630442 * scripttempl/mips.sc: Always define _ftext, _fdata, _fbss.
(BSS_VAR): Removed; now always define _fbss.
	* emulparams/mipsidt.sh, emulparams/mipsidtl.sh (BSS_VAR):
	Removed.
1993-08-06 18:35:03 +00:00
Jeffrey Wheat
7c6a9e798c Changes to add dejagnu testsuite support 1993-08-05 04:16:43 +00:00
David MacKenzie
8bf66be8aa add missing newlines in messages 1993-08-05 02:52:17 +00:00
David MacKenzie
2a28d8b006 add -warn-common option 1993-08-03 22:47:28 +00:00
Ken Raeburn
94f9d427e5 * scripttempl/elf.sc: Add hooks for .sdata, .sbss, and
target-specific sections, and for changing data section vma.
1993-08-02 16:52:10 +00:00
Ken Raeburn
6b93d764ca solaris 2 changes 1993-07-26 18:09:05 +00:00
David MacKenzie
d59e5a4707 move compile-in decision to genscripts.sh 1993-07-22 00:55:56 +00:00
David MacKenzie
18d9a9c502 fix typo 1993-07-22 00:37:43 +00:00
David MacKenzie
a6152e399b The default script is now compiled in; the others are still in the filesystem. 1993-07-22 00:33:10 +00:00
Ken Raeburn
820c446cce Make emul-list.h depend on Makefile, so changes to EMULATION_OFILES get
reflected.
1993-07-20 16:38:49 +00:00
Ken Raeburn
0750b974c0 disable em_i386linux.o until emulparams/i386linux.sh is checked in 1993-07-20 16:31:47 +00:00
Ian Lance Taylor
fe619ced4a * ldgram.y (OPTION_Lfile): New token.
(command_line_option): Accept OPTION_L NAME (whitespace after -L).
	* ldlex.l (<COMMAND>): Accept -L without FILENAME.
1993-07-16 21:15:40 +00:00
David Edelsohn
dd8ca662ce h8/300h stuff 1993-07-16 20:46:46 +00:00
David MacKenzie
922018a10c remove dupliate include 1993-07-15 22:02:01 +00:00
David Edelsohn
4ab3a31f9e Add h8/300h support. 1993-07-15 21:45:16 +00:00
David MacKenzie
bbd2521f26 source cleanups; fix finding scripts 1993-07-15 21:43:28 +00:00
Ian Lance Taylor
b0955bc979 * scripttempl/m88kbcs.sc: Removed TARGET statement. Changed
OUTPUT_FORMAT to use ${OUTPUT_FORMAT}.
	* emulparams/m88kbcs.sh: It's coff-m88kbcs, not m88kbcs.
1993-07-15 19:59:21 +00:00
Ian Lance Taylor
9edc5b2eca * Makefile.in (em_m88kbcs.c): Correct dependency.
(scripttempl/m88kbcs.sc): It's ARCH, not arch.
1993-07-15 17:57:26 +00:00
David MacKenzie
cffdcde9e9 * ldfile.c (ldlang_open_file, ldfile_open_command_file),
main.c (main): Print the errno string in the error message.
1993-07-15 04:46:25 +00:00
David Edelsohn
ac2c0ee786 * configure.in: Accept h8300h for target cpu.
* ldmisc.c (vfinfo): Have demangle remove leading underscore if
present (demangle is smart enough to know whether to do it or not).
1993-07-14 03:08:33 +00:00
David MacKenzie
f42084627b * ldmain.c (set_scripts_dir): Check . and <ld bin dir>/../lib for
ldscripts, as well as <ld bin dir> and SCRIPTDIR.
1993-07-13 00:54:45 +00:00
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
e7affb090d configure.in, elf.sc changes 1993-07-12 15:07:42 +00:00
Ken Raeburn
3cb6141731 ldmisc,ldlang,Makefile changes 1993-07-08 20:28:03 +00:00
Ken Raeburn
49bfda2c9a forgot to check this in yesterday 1993-07-08 18:56:54 +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
Ian Lance Taylor
e357065c7e * Makefile.in (install): Don't install as $(tooldir)/bin/gld;
collect2 doesn't look for gld any more anyhow.
1993-07-07 18:36:12 +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
a04f1d001e Passing -L. is no longer necessary. 1993-07-03 02:23:22 +00:00
David MacKenzie
ff76a7dbf3 Fix previous fix. 1993-07-03 02:18:12 +00:00
David Edelsohn
7434d4e5dc scripttempl/h8300.sc: Add .tors section for constructor/destructors. 1993-07-03 00:14:40 +00:00
K. Richard Pixley
1e787898a0 * Makefile.in (.y.c): skip default .y.c rules. gnu make can now run in
parallel without colliding on yacc's static file names. Without the
  stub rule, make will try to start two yacc's concurrently which
  fails because of yacc's static file names.
1993-07-01 01:23:39 +00:00
K. Richard Pixley
559d7baf89 * Makefile.in (ldgram.[hc]): rewrite this rule in such a way that gnu
make can run in parallel without colliding on yacc's static file
  names.
1993-06-30 22:48:51 +00:00
David MacKenzie
59fb874e52 * Makefile.in (scriptdir): Base on tooldir, not datadir. 1993-06-28 19:23:35 +00:00
David MacKenzie
bf065bfd97 * ldver.c (help): New function.
* ldver.h: Declare it.
	* ldlex.l, ldgram.y: Recognize new options --help and --version.
1993-06-26 20:13:24 +00:00
Ken Raeburn
304b747aad fix include path again 1993-06-22 03:42:59 +00:00
David MacKenzie
2b63dbfefd * .Sanitize (Things-to-keep): Add emulparams, emultempl, scripttempl. 1993-06-21 23:40:21 +00:00
David D. Zuhn
e9b991c691 doc last change 1993-06-17 23:55:23 +00:00
David MacKenzie
2de8edce8f * ldgram.y: Tweak grammar to make reporting of invalid options work. 1993-06-17 22:55:38 +00:00
David MacKenzie
565c93e92a * Makefile.in (.cc.o): Restore .SUFFIXES entry for .cc
and .cc.o rule.
1993-06-17 21:34:11 +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
Ken Raeburn
2a963f1a0e Makefile.in, aout.sc-sh, hp3hpux.sh changes 1993-06-16 03:07:27 +00:00
David D. Zuhn
c97b9003b0 remove parentdir support; use INSTALL_XFORM 1993-06-16 00:03:44 +00:00
Per Bothner
7f2649bb06 * Makefile.in (INCLUDES): Add -I../bfd for sysdep.h and bfd.h.
* configure.in:  No longer need to configure to get sysdep.h.
1993-06-07 19:57:26 +00:00
David D. Zuhn
91b3a2b678 * Makefile.in: remove old C++ rules; remove install:all and
install-info:info dependencies (these cause some spurious rebuilds
	at 'make install' time)
1993-06-04 23:20:08 +00:00
Ian Lance Taylor
98f3d1afa4 * configure.in (mips-idt-ecoffl*): New target; use mips-idtl.
(mips-idt-ecoff*): Added trailing '*'.
	* config/mips-idtl.mt: New file; use EMUL of mipsidtl.
	* mipsidtl.sh: New file; like mipsidt.sh, but little endian.
	* Makefile.in (ALL_EMULATIONS): Added em_mipsidtl.o.
1993-06-04 19:50:31 +00:00
Ian Lance Taylor
559d1cff43 * config/sun3.mh (HOSTING_LIBS, HOSTING_EMU): Removed obsolete and
incorrect definitions.
1993-06-04 15:54:57 +00:00
Per Bothner
1cf91c69b0 * ldsym.c (write_file_locals): Write BSF_CONSTRUCTOR
symbols, unless stripping.
1993-06-01 22:44:42 +00:00
Ian Lance Taylor
6354589838 * Makefile.in: configure looks for ####, so remove lines with many
'#' characters.
	* config/irix4.mh, config/i386v.mh: New files; set HOSTING_CRT0
	and HOSTING_LIBS correctly so that ``make check'' will work.
1993-05-25 22:37:41 +00:00
Ken Raeburn
5266c5ec29 rename aout-mipsbsd.sc-sh to mipsbsd.sc-sh for 14-char file systems 1993-05-20 15:58:49 +00:00
Per Bothner
bc3b479ce4 New file. 1993-05-17 19:45:17 +00:00
Ken Raeburn
b8fc168daf *** empty log message *** 1993-05-05 02:50:10 +00:00
Ian Lance Taylor
ef86818669 * mips.sc-sh: Put constructors in the .data section.
* Makefile.in (cdtest): Added dependency on ld.new.
1993-05-04 19:39:33 +00:00
Per Bothner
034351e334 * Makefile.in: Change definition of $(tooldir) to match FSF.
* vax.sh, config/vax.mt, configure.in, Makefile.in:
	Support VAX Ultrix and BSD.
1993-05-04 02:51:33 +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
David D. Zuhn
f20e984286 add dvi & installcheck 1993-03-23 08:14:13 +00:00
Ken Raeburn
e637dcf08b mips-bsd and 386bsd support 1993-02-28 14:46:25 +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
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
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
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
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
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
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
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
Steve Chamberlain
ac0832f3d3 * config/z8ksim.mt: new file 1992-09-30 14:35:19 +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
99e6298ae3 Support for i386-coff 1992-09-11 17:25:43 +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
8e71a9842c Note version change to 2.0. 1992-09-04 02:45:57 +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
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
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
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
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
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
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
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
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
5e81edb2ec * ldgram.y, ldlex.l: parse ABSOLUTE
* ldexp.c: add support for ABSOLUTE
1992-05-27 22:18:50 +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
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
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
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
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
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
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
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
2e38b71d27 Strange link script support 1992-04-15 23:11:09 +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
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
fe563ffeb7 * ldmain.c (Q_enter_file_symbols): now aliases work again 1992-03-06 15:00:57 +00:00
Steve Chamberlain
d286190140 Why didn't it start emacs 1992-02-27 17:24:13 +00:00
Per Bothner
1584d0697d New hp300bsd port. 1992-02-17 20:08:20 +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
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
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
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
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
K. Richard Pixley
818a192aae Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
* Makefile.in: punt "fundamental" mode because it breaks my emacs
	  macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
	  spaces following hyphens, bsd make can't cope.  added
	  standards.text support and made it look like all the other
	  makefiles.

	* configure.in: configure now runs entirely in objdir so make file
	  existence checks against ${srcdir}.  Mark this directory as
	  target dependent.

Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)

	* Makefile.in: idestdir and ddestdir go away.  Added copyrights
	  and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
	  and mandir now keyed off datadir by default.
1991-12-07 07:35:43 +00:00
Steve Chamberlain
092df318fa * Makefile.in: Take out the version number for install
* m88kbcs.sc: put in contructor blocks.
1991-11-13 02:39:14 +00:00
Per Bothner
1c9e4b1512 * ldmisc.c, ldmisc.h: Re-write info() to take a filename
parameter, a format, and an arg pointer, and rename it to
	vfinfo().  Write info() in terms of new vfinfo().
	New einfo() is the same as info(), except it writes to stderr.
	* ldemul.c, ldexp.c, ldlang.c, ldlnk960.c, ldmain.c, ldwrite.c,
	ldmisc.c:  Replace "error" calls to info() by new einfo().
1991-11-12 03:03:42 +00:00
Steve Chamberlain
550e87b54d * ldlex.l ldgram.y: made -V option do same as -v
* Makefile.in: Added $(MINUS_G) flag so debugging can be
turned off
1991-11-11 17:59:52 +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
Per Bothner
3410447c4a Add copright notice to mkscript.c as well. 1991-10-16 19:41:33 +00:00
Per Bothner
2d1a2445ff Add or update copyright notices. 1991-10-16 19:39:40 +00:00
Roland Pesch
954ac2eafd * Makefile.in: new targets ld.mm, ld.me
(more roff forms of doc)
1991-10-15 00:31:56 +00:00
Per Bothner
972e7b4bc4 * Makefile.in, ldtemplate: Need to use separate scripts
for -n and -N options.  Yet more complication.
1991-10-15 00:28:43 +00:00
John Gilmore
33ce0085ba * Makefile.in: Avoid using $< in explicit Make rules (it doesn't
work).  Add some lines to avoid Sun Make VPATH bugs.
1991-10-12 05:42:05 +00:00
Per Bothner
b7e24eef35 * news.sc: Add alignment for data segment.
* ldtemplate: Add (yet another) script to get for -n or -N
	options.  (These need different alignment than ZMAGIC files.)
	* Makefile.in:  Add stuff for new foo.xn scripts.
	These are generated by replacing "ALIGN(0x...00)" by ".".
1991-10-11 23:47:05 +00:00
Roland Pesch
b55e0948ed * Makefile.in: new targets ld.ms, ld-index.ms
ld.texinfo: remove tabs, other cleanups for texi2roff
1991-10-11 22:44:11 +00:00
Per Bothner
6719c75b99 * ldmain.c (main): Make config.magic_demand_paged be true
by default.  Don't the WP_TEXT and D_PAGED flags of
	output_bfd here; it's too late, so set it when output_bfd
	is created (in ldlang.c).  Also fix setting of EXEC_P flag
	* ldlang.c (ldlang_open_output):  Set output_bfd->flags here.
	* ldlang.c: Remove some duplicate extern declarations.
	* ldgram.y: Fixes to -N and -n options.
	* Makefile.in:  Recognize upper case letters in sed script
	to remove assignments from script files.
	* ldtemplate:  Don't assukme that -N or -n options
	imply use of -r script.
	* mkscript.c:  Tweaking to correctly handle \n and \\ in input.
1991-10-11 21:02:22 +00:00
Steve Chamberlain
8e10cea146 * ldtemplate: include bfd.h before sysdep.h. 1991-10-11 17:30:20 +00:00
John Gilmore
1f8fc34f25 Restructure configuration scheme for bfd, binutils, ld. 1991-10-11 11:54:33 +00:00
Roland Pesch
8d317d2a7a * Makefile.in: fix target ld.dvi, add target ld.info
ld.texinfo: make info filename ld.info
1991-10-08 21:52:43 +00:00
John Gilmore
558175fb60 Initial revision 1991-10-05 04:55:03 +00:00