Commit graph

1327 commits

Author SHA1 Message Date
Ian Lance Taylor
a89d9f5bf1 * ld.h (ld_config_type): Add field warn_constructors.
* ldmain.c (add_to_set): Warn if config.warn_constructors.
	(constructor_callback): Likewise.
	* lexsup.c (parse_args): Handle -warn-constructors.
	* ld.texinfo, ld.1: Document -warn-constructors.
PR 7406.
1995-07-10 22:16:12 +00:00
Ian Lance Taylor
c16b92d224 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Don't
get confused by directory names if we searched for the file.
PR 7401.
1995-07-10 22:01:03 +00:00
Ian Lance Taylor
7213def760 Based on patches from H.J. Lu <hjl@nynexst.com>:
* ldlang.h (lang_input_statement_type): Add new field dynamic.
	* ldlang.c (new_afile): Set dynamic from config.dynamic_link.
	* ldfile.c: Include bfdlink.h.
	(ldfile_open_file): Check dynamic field of entry, not global
	dynamic_link field.  Don't do a dynamic search when doing a
	relocateable link.
	* ldmain.c (main): Don't warn about dynamic_link for a
	relocateable link.
	* emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Skip file if
	dynamic is false.
	(gld${EMULATION_NAME}_create_output_section_statements): Always
	loop over input files.
	* Makefile.in: Rebuild dependencies.
1995-07-10 21:16:40 +00:00
Ian Lance Taylor
4551e108a0 * ld.texinfo, ld.1: Document -Bstatic, -Bdynamic, -Bshared, and
-shared.

Mon Jul 10 13:29:43 1995  Eric Youngdale  <eric@aib.com>

	* ldmain.c (main): Set link_info.symbolic to false.
	* lexsup.c (parse_args): Handle -Bsymbolic.
1995-07-10 17:41:13 +00:00
Ian Lance Taylor
1730bce9a3 Move testsuite ChangeLog entry into testsuite ChangeLog. 1995-07-10 15:18:38 +00:00
Ian Lance Taylor
3219881fcd Remove C comment characters from modified FSF address in expect scripts. 1995-07-10 15:16:41 +00:00
Ian Lance Taylor
10de6952c9 * ld-versados/versados.exp: If a test fails, report it correctly:
don't try to run the next test, and don't report a pass as well as
	a fail.
1995-07-10 15:15:10 +00:00
Ken Raeburn
943fbd5bd5 fsf address update, but not in COPYING files 1995-07-07 22:49:42 +00:00
Fred Fish
eac6290c7e * ldmain.c (HAVE_SBRK): Define for everything except
specific systems that are known to not support sbrk.
	(main):  Use HAVE_SBRK to decide whether or not to use sbrk.
1995-07-05 07:47:43 +00:00
Ian Lance Taylor
7158d2b1a3 * emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
Handle etree_provide.
PR 7164.
1995-07-04 17:44:38 +00:00
Ian Lance Taylor
7523be3552 * emultempl/elf32.em (global_needed): New static variable.
(global_found): Likewise.
	(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_search_needed): Likewise.
	(gld${EMULATION_NAME}_try_needed): Likewise.
	(gld${EMULATION_NAME}_check_needed): Likewise.
	(ld_${EMULATION_NAME}_emulation): Replace after_open_default with
	gld${EMULATION_NAME}_after_open.
PR 7083.
1995-07-04 16:57:34 +00:00
Steve Chamberlain
cb848d619c * configure.in (i386-*-win32): New target.
* ld/testsuite/versados/(t1,t2).ld: End in newlines.
1995-07-03 21:34:53 +00:00
Ian Lance Taylor
22d3533cae * lexsup.c (parse_args): Let -G either set the small data size or
be equivalent to --shared, depending on the next argument.  Accept
	and ignore -z for Solaris compatibility.
PR 7118.
1995-07-03 18:40:26 +00:00
Ian Lance Taylor
243e769870 * lexsup.c (parse_args): Cast fopen result to PTR before storing
it in link_info.base_file.  Fix indentation.
1995-07-02 21:53:21 +00:00
Steve Chamberlain
de71eb7786 Wed Jun 28 17:11:25 1995 Steve Chamberlain <sac@slash.cygnus.com>
* ldmain.c (main): Always initialize PE info in link_info.
	* lexsup.c (OPTION_BASE_FILE): New option.
	(parse_args): Handle new option.
	* emulparams/armpe.sh: Output pei.
	* emultempl/i386pe.em: Add newline to end.
	* scripttempl/armpe.sc: Change output and quote the $s.
	* scripttempl/i386pe.sc: Change output and quote the $s.
1995-06-29 00:21:00 +00:00
Steve Chamberlain
a900bc406e Fix pathnames right.. 1995-06-25 14:52:42 +00:00
Steve Chamberlain
cd5431634a Fix filenames with two dots. 1995-06-24 02:48:48 +00:00
Ken Raeburn
a2fb6995e0 msdos and moss code from Bryan Ford 1995-06-23 02:05:04 +00:00
Michael Meissner
d513119138 Add .fixup section 1995-06-22 19:08:18 +00:00
Steve Chamberlain
b368d24697 Sanitize seems to care about trailing spaces. 1995-06-22 16:30:19 +00:00
Steve Chamberlain
1684136b21 add ld-versados. 1995-06-21 20:55:01 +00:00
Stan Shebs
aad9058089 Keep MPW x SH compiled linker script. 1995-06-21 20:00:22 +00:00
Steve Chamberlain
8370f03b67 New tests. 1995-06-21 17:15:11 +00:00
Stan Shebs
0283d893cb * mpw-esh.c: New file, modified for MPW from esh.c.
* scripttempl/sh.sc: Reformatted to simplify MPWification,
	use *() to concat stab sections instead of [].
1995-06-21 00:52:21 +00:00
Steve Chamberlain
8a239b6235 * scripttempl/armpe.sc: Add constructor support. 1995-06-15 15:48:35 +00:00
Steve Chamberlain
935cd0dd9d * ldlang.c (lang_size_sections): Any section with a DATA
statement has contents.
1995-06-13 16:12:04 +00:00
Ken Raeburn
74b3ead343 m68k elf linker fixes from Andreas Schwab 1995-06-11 19:30:02 +00:00
Steve Chamberlain
ba0784fe48 * emulparams/armpe.sh, scriptempl/armpe.sc: Add end and stack. 1995-06-08 21:19:31 +00:00
Steve Chamberlain
28d0c3ce19 Add support for ARM-PE.
* Makefile.in (ALL_EMULATIONS): Add armpe.o
	* configure.in: Recognize armpe.
	* config/arm-pe.mt: New file.
	* emulparams/armpe.sh: New file.
	* scripttempl/armpe.sc: New file.
1995-05-24 18:26:23 +00:00
Ken Raeburn
6a98ecf24e * lib/ld.exp (default_ld_compile): If cc argument is multiple words, use only
the first when trying to verify the availability of the compiler.
1995-05-23 00:20:44 +00:00
David Edelsohn
8574107796 (cf-h8300h.mt): Deleted. 1995-05-22 22:25:46 +00:00
Ken Raeburn
ff15324f63 Bunch of changes from Richard Earnshaw for generic bi-endian ARM aout targets.
Details in change logs.
1995-05-18 22:21:18 +00:00
Michael Meissner
7e11b1db3d Make filenames unique to 8.3 characters for Powerpc. 1995-05-16 22:29:39 +00:00
Steve Chamberlain
3f38a017be Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com>
Tom Griest <griest@cs.yale.edu>

	Initial support for PE executables (eg NT, win32)

	* Makefile.in (configure.in, ei386pe): Add support.
	* ldmain.c (main): Initialize PE argument info.
	* ldwrite.c (print_file_stuff): Don't print out .drectve
	and .debug section info.
	* lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
	 OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
	 Handle new arguments.
	* config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
	New files
1995-05-12 18:55:06 +00:00
Stu Grossman
dea16e4dba * scripttempl/hppaelf.sc: Remove .PARISC.unwind section from text
segment.  This allows ld -r to preserve unwind sections.
1995-05-11 01:40:42 +00:00
Michael Meissner
417ced0de7 Add little endian PowerPC support. 1995-05-09 21:23:44 +00:00
Ken Raeburn
fa9dea803d * ldlang.c (print_output_section_statement): Check subsection_alignment,
instead of checking section_alignment twice.  Noticed by Alan Modra
<alan@spri.levels.unisa.edu.au>.
1995-05-03 18:08:09 +00:00
Jeff Law
55ac59da2e Add hppa1.1-hp-lites support. 1995-05-02 22:39:41 +00:00
Ken Raeburn
575a4d91ed keep new files 1995-04-15 08:21:11 +00:00
Ken Raeburn
bd1a093d78 * Makefile.in (ALL_EMULATIONS): Added em68kelf.o.
(em68kelf.o): New target.
* config/m68k-elf.mt, emulparams/m68kelf.sh: New files.
* configure.in: Use them for m68*-*-elf.
1995-04-14 20:33:05 +00:00
Stan Shebs
36ae618cfb Always keep MPW support 1995-04-12 18:46:15 +00:00
Stan Shebs
b8e2d17d95 Merge MPW ChangeLog with generic ChangeLog 1995-04-12 18:44:27 +00:00
David Edelsohn
7e87eb1342 * emulparams/arcelf.sh (ENTRY): Define. 1995-04-07 03:40:15 +00:00
Ian Lance Taylor
59b4c1998a Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com)
* configure.in: Change linux to default to elf.  Using
	i[345]86-*-linuxaout will build a linker which defaults to a.out.
	* config/i386-laout.mt: Rename from old config/i386-linux.mt.
	* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
	* config/i386-lelf.mt: Remove.
1995-03-30 19:42:38 +00:00
Ian Lance Taylor
e920526d00 * ld.texinfo, ld.1: Document the -no-keep-memory option. 1995-03-30 18:10:51 +00:00
Ian Lance Taylor
a735edad13 * ldmain.c (main): Revert patch of March 10, since the SVR4 linker
does mark shared libraries as executable.
1995-03-27 16:11:22 +00:00
Ian Lance Taylor
68233e44d9 * ldlang.c (lang_common): Change power to int. Pass larger values
before smaller values.
	(lang_one_common): Treat info as int *.  Don't bother to check for
	last value, since it is now zero.
1995-03-21 20:17:07 +00:00
Ian Lance Taylor
4da1dceac5 tipo 1995-03-18 06:56:51 +00:00
Ian Lance Taylor
f400bbbb4f * ldlang.c (load_symbols): An empty is archive is OK. 1995-03-18 06:53:14 +00:00
Stan Shebs
6e49f018bc update for changed mpw filename 1995-03-18 00:14:30 +00:00
Stan Shebs
ab4ccfd5bc * mpw-config.in (i386-unknown-aout): Change to i386-unknown-go32.
(i386-unknown-coff): Remove.
	(sh-hitachi-hms): New target.
	(emulation_ofiles): Set correctly for each target.
	(version, TDEFINES): Add to makefile fragment.
	* mpw-make.in (BISON): Use byacc instead of bison.
	(em_*.c): Replace with e*.c everywhere.
	(ldgram.h): Separate action from ldgram.c generation.
	(LD_PROG): Depend on Version.r.
	(Version.r): generate from version info.
	* mpw-em.c: Remove.
	* mpw-emipsidt.c: New file, modified for MPW from emipsidt.c.
1995-03-18 00:13:26 +00:00
Michael Meissner
86d0248d41 Provide eabi C++ static constructor/destructor support. 1995-03-16 22:22:39 +00:00
Ian Lance Taylor
ee499d8192 * ld.texinfo, ld.1: Document --whole-archive. 1995-03-16 19:14:24 +00:00
Ian Lance Taylor
f2f55b1677 * ldlang.c (load_symbols): If whole_archive is true and ENTRY
describes an archive, call bfd_link_add_symbols on each member.
	* ldmain.c (whole_archive): New variable.
	(main): Initialize it to false.
	* ldmain.h: Declare whole_archive.
	* lexsup.c (parse_args): Grok --whole-archive switch.
1995-03-16 19:06:41 +00:00
Ian Lance Taylor
171eb2f259 * genscripts.sh (EMULATION_NAME): Set LIB_PATH to empty when not
using the default emulation.
1995-03-16 17:03:26 +00:00
Ian Lance Taylor
cb5362c557 * config/dgux.mh (HOSTING_EMU): Use -m rather than trying to set
LDEMULATION.
	* config/hppaelf.mh (HOSTING_EMU): Likewise.
1995-03-16 16:39:53 +00:00
Ian Lance Taylor
e66fa842d0 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Set force_maj
for -lc.N.  From H.J. Lu <hjl@nynexst.com>.
1995-03-14 17:32:12 +00:00
Ian Lance Taylor
22c41f00b6 * ldmain.c (main): Don't set EXEC_P if link_info.shared is set. 1995-03-10 20:26:49 +00:00
Ian Lance Taylor
01bc8f35b5 * ldlex.l: Return -lFILENAME as the token LNAME.
* ldgram.y: Add token LNAME.
	(input_list): Treat LNAME like NAME, but pass it to
	lang_add_input_file as lang_input_file_is_l_enum.
	* ld.texinfo: Document using -lFILENAME in INPUT.
1995-03-10 20:02:51 +00:00
Ian Lance Taylor
ec5865657b document split-by-reloc and split-by-file 1995-03-10 18:36:43 +00:00
David Edelsohn
17948aa1bc * emulparams/arcelf.sh (OUTPUT_FORMAT): Change to elf32-littlearc.
(LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
1995-03-08 05:11:53 +00:00
Ian Lance Taylor
b939d1f43b * ldemul.c (ldemul_choose_mode): If emulation not recognized, list
all supported emulations.
1995-03-07 05:53:47 +00:00
Ian Lance Taylor
b73b413106 * ldemul.c (ldemul_list_emulations): New function.
* ldemul.h (ldemul_list_emulations): Declare.
	* ldver.c (help): List supported targets and emulations.
PR 6345.
1995-03-06 19:21:33 +00:00
Ian Lance Taylor
30e1257637 * emultempl/elf32.em (hold_rel): New static variable.
(gld${EMULATION_NAME}_place_orphan): Place readonly sections with
	contents whose names begin with ".rel" after hold_rel.  Remove the
	assertion which checked for unplaced .rel sections.  Don't try to
	sort the section into place if place->bfd_section is NULL.
	(gld${EMULATION_NAME}_place_section): Set hold_rel to the first
	section beginning with ".rel".
1995-03-03 22:09:24 +00:00
Ian Lance Taylor
21a2f02616 Doc note from pierre@phi.la.tce.com (Pierre Willard):
* ld.texinfo: -X and -x work even if -s or -S are not specified.
	* ld.1: Similar change.
1995-03-02 19:36:10 +00:00
Ian Lance Taylor
0b153077ec * emulparams/gld960coff.sh (COFF_CTORS): Define.
* scripttempl/i960.sc: Use COFF_CTORS if CONSTRUCTING.
1995-03-01 18:57:24 +00:00
Ian Lance Taylor
882c80a7cc * configure.in (i[345]86-*-linuxelf*): New target. Use i386-lelf.
(i[345]86-*-gnuelf*): New target.  Use i386-gelf.
	* config/i386-lelf.mt: New file.
	* config/i386-gelf.mt: New file.
1995-02-28 17:44:35 +00:00
Rob Savoye
decc32b7c1 * configure.in: Match on mips-ecoff, and default to the IDT
configuration.
1995-02-28 17:29:02 +00:00
Michael Meissner
1e4b4b1c03 Add support for .got1 and .got2 sections; Offset _GLOBAL_OFFSET_TABLE_ by 32768 from GOT start. 1995-02-17 18:09:23 +00:00
Ken Raeburn
4ad2d64031 * Makefile.in (distclean): Do recursive deletion, since ldscripts is a directory. 1995-02-09 23:33:41 +00:00
Ian Lance Taylor
be2213ebee * ldmain.c (main): If trace_file_tries is true, and we are using
an internal linker script, print out the script.
	* ldfile.c (try_open): Reindent function.  Make the messages about
	opening script files more informative.
PR 6309.
1995-02-09 21:57:55 +00:00
Ian Lance Taylor
1f59c7a7fd * lexsup.c (parse_args): For -V, call ldversion with 1, not 0.
* ld.texinfo, ld.1: Update accordingly.
1995-02-09 16:41:28 +00:00
Ian Lance Taylor
fa247c00bc fix comments 1995-02-09 16:31:54 +00:00
Ian Lance Taylor
3565dee4eb * ldlang.c (lang_one_common): Adjust references to common symbol
information for new structure.
1995-02-08 22:56:15 +00:00
Ian Lance Taylor
23244cd6e0 * ldmain.c (undefined_symbol): Handle section being NULL. 1995-02-06 23:24:20 +00:00
Ian Lance Taylor
484a089694 tipo 1995-02-06 20:12:54 +00:00
Ian Lance Taylor
8ed88239b4 * ldctor.c (ldctor_build_sets): Handle bfd_link_hah_defweak.
* ldexp.c (fold_name): Likewise.
	* ldlang.c (print_one_symbol): Likewise.
	(lang_finish): Likewise.
	* ldmain.c (multiple_common): Likewise.
	* ldwrite.c (print_symbol): Likewise.  Also, bfd_link_hash_weak
	renamed to bfd_link_hash_undefweak.
1995-02-06 20:01:38 +00:00
Ian Lance Taylor
5039302a4c * scripttempl/alpha.sc: Set address of .data section correctly
when -n or -N is used.  Patch from Chris G Demetriou
	<Chris_G_Demetriou@LAGAVULIN.PDL.CS.CMU.EDU>.
1995-02-06 17:18:57 +00:00
David Edelsohn
e802f0be04 * ldlang.c (lang_size_sections): Clarify error message when user
specified start addr conflicts with region.  Fix resetting of
	region pointer.
1995-02-01 00:23:47 +00:00
Ian Lance Taylor
1abb243d51 * ldexp.c (fold_name): In case NAME, permit an absolute symbol
in lang_allocating_phase_enum.
PR 6259.
1995-01-31 17:40:50 +00:00
Ian Lance Taylor
50708d5612 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): For
a MIPS target, clobber the size of all but the first input
	.reginfo section to be 0, so that lang_size_sections sets the
	correct size for the output .reginfo section.
1995-01-27 21:28:52 +00:00
Ian Lance Taylor
ae02b41c50 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Remove unused variable is.
1995-01-27 00:54:51 +00:00
Michael Meissner
5f16938da9 Add embedded PowerPC ELF support. 1995-01-26 17:59:08 +00:00
Ian Lance Taylor
2a056eaff2 * ld-bootstrap/bootstrap.exp: If not in the ld build directory,
call untested for each test, rather than ignoring it.  If one test
	fails, go on to the next one instead of returning.
	* ld-cdtest/cdtest.exp: If compilations fail, mark tests as
	unresolved.
	* ld-empic/empic.exp: Likewise.  Also, always pass the same test
	name to pass or fail.
	* ld-shared/shared.exp: Likewise.  Also, always run all tests.
	* ld-scripts/defined.exp: If as or nm fail, mark test as
	unresolved.  Always pass the same test name to pass or fail.
	* ld-scripts/script.exp: Likewise.
	* ld-scripts/sizeof.exp: Likewise.
1995-01-24 20:16:49 +00:00
Ian Lance Taylor
5f3548d6c7 update copyrights 1995-01-24 16:01:04 +00:00
Ian Lance Taylor
6ade1673fc * ldctor.c (ldctor_add_set_entry): Don't dump core if a
constructor entry is in the absolute section.
1995-01-24 15:34:16 +00:00
Ian Lance Taylor
c1e128e5a1 * configure.in (i[345]86-*-gnu*): Set ld_target to i386-gnu.
* config/i386-gnu.mt: New file.  Include ELF support.
1995-01-23 19:00:46 +00:00
Steve Chamberlain
506f4ede9c * configure.in (w65-*-*): New target.
* Makefile.in: Update.
	* scripttempl/w65.sc: New.
	* config/coff-w65.mt: New.
1995-01-16 00:51:02 +00:00
Ian Lance Taylor
cc37d01df3 * ldlang.c (lang_place_orphans): Don't ignore files with
just_syms_flag set.  Instead, put all their sections in
	bfd_abs_section_ptr, using the section VMA as the output_offset.
PR 6159.
1995-01-12 06:34:11 +00:00
Ken Raeburn
cc38364d44 Don't use const with reloc_howto_type, since it's now defined to be const. 1995-01-12 05:04:04 +00:00
Ian Lance Taylor
1db367dae0 * ld-scripts/sizeof.exp: New test, based on bug report from
anders.blomdell@control.lth.se.
	* ld-scripts/sizeof.s: New file.
	* ld-scripts/sizeof.t: New file.
1995-01-11 16:49:57 +00:00
Ian Lance Taylor
93a0630f61 * ldexp.c (fold_binary): Adding or subtracting an absolute value
to a relative value does not require forcing the relative value to
	be absolute.  Also, reindent function.
1995-01-11 16:26:15 +00:00
Ian Lance Taylor
e2a8da6a50 * lib/ld.exp: Use [which $ld] rather than [file exists $ld] to see
if the linker exists.
1995-01-04 23:59:43 +00:00
Steve Chamberlain
fa440b5a55 * ldwrite.c (clone_section): Create a symbol with the
same name as the section.
1994-12-29 06:06:56 +00:00
Steve Chamberlain
885ae6b979 * ld.h (split_by_reloc, split_by_file): New flags.
* ldwrite.c  (clone_section, split_sections): New functions.
	* lexsup.c (parse_args): Understand new split options.
1994-12-19 22:16:27 +00:00
Ken Raeburn
a466a7a00a there isn't a configure script here though 1994-12-17 21:19:38 +00:00
Ken Raeburn
0672158da0 need to sanititze Makefile.in for arc too 1994-12-17 21:07:51 +00:00
David Edelsohn
c5b5589ed3 Remove duplicate of ARC sanitization. 1994-12-16 23:29:55 +00:00
Ken Raeburn
d0bfd8ec2b sanitize out arc stuff 1994-12-14 21:45:07 +00:00
Ken Raeburn
f8eccafb19 * lib/ld.exp (prune_system_crud): Define if not already defined, in case the
user isn't using the newest DejaGnu version that we haven't released to the net
yet.
1994-12-14 21:40:30 +00:00
Stan Shebs
1a8b189e1c * mpw-config.in (m68k-apple-macos, ppc-apple-macos,
i386-unknown-aout, i386-unknown-coff): New targets.
	(m68k-aout, m68k-coff): Remove targets.
	(mk.tmp): Add definition of EMUL.
1994-12-14 21:33:33 +00:00
David Edelsohn
070ac72796 Initial arc-elf support. 1994-12-14 00:44:50 +00:00
Ian Lance Taylor
4e59f36df8 * scripttempl/elf.sc: Move .ctors and .dtors from .text segment to
.data segment.  They must be writable when creating a shared
	library.  From H.J. Lu <hjl@nynexst.com>.
1994-12-09 22:24:03 +00:00
Ken Raeburn
89a19a0df7 keep everything 1994-12-06 23:30:12 +00:00
Michael Tiemann
0041db5a97 Switch r3 to scratch register, r0 to stack register.
Other misc changes before beta shipment to customer.
1994-12-06 02:04:58 +00:00
Ian Lance Taylor
3c2476067c * config/default.exp: Define objdump if it is not defined.
* ld-empic/*: New tests to test -membedded-pic code.
1994-12-02 22:29:20 +00:00
Ian Lance Taylor
dc5df17b8a * emultempl/miposecoff.em: New file.
* emulparams/mipsidt.sh (TEMPLATE_NAME): Set to mipsecoff.
	* emulparams/mipsidtl.sh (TEMPLATE_NAME): Likewise.
	* scripttempl/mips.sc: Put .rel.sdata sections in .text, and
	provide __runtime_reloc_start and __runtime_reloc_stop if they are
	used.   Align _fdata to a 16 byte boundary.
	* Makefile.in (emipsidt.c): Depend upon mipsecoff.em rather than
	generic.em.
	(emipsidtl.c): Likewise.
	(check): Pass CC_FOR_HOST and CFLAGS_FOR_HOST to runtest.
1994-12-02 22:28:09 +00:00
Ian Lance Taylor
39a6e282d1 * ld.h (args_type): Add new field embedded_relocs.
* ldemul.h (ldemul_after_open, after_open_default): Declare.
	(ld_emulation_xfer_struct): Add new field after_open.
	* ldemul.c (ldemul_after_open): New function.
	(after_open_default): New function.
	* ldlang.c (lang_process): Call ldemul_after_open.
	* lexsup.c (parse_args): Handle --embedded-relocs.
	* emultempl/elf32.em (ld_${EMULATION_NAME}_emulation): Initialize
	new after_open field to after_open_default.
	* emultempl/generic.em, emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em, emultempl/hppaelf.em: Likewise.
	* emultempl/linux.em, emultempl/m88kbcs.em: Likewise.
	* emultempl/sunos.em, emultempl/vanilla.em: Likewise.
	* ld.texinfo, ld.1: Mention -embedded-relocs.
1994-12-02 22:25:50 +00:00
Ian Lance Taylor
6294d8d0a5 * ld-bootstrap/bootstrap.exp: Pass cmp output through
prune_system_crud.
	* ld-cdtest/cdtest.exp: Pass diff output through
	prune_system_crud.
	* ld-shared/shared.exp: Likewise.

	* config/default.exp: Remove unused and useless proc ld_load.
1994-11-28 16:26:30 +00:00
Steve Chamberlain
6ae98644a4 Add shl 1994-11-26 18:10:37 +00:00
Michael Tiemann
fb870b50a7 Add changes from customer since last work. 1994-11-26 00:17:52 +00:00
Michael Tiemann
fb14975b70 Enable ld to build for RCE. This is not tested yet! 1994-11-25 17:06:38 +00:00
Michael Tiemann
ff030c9827 *** empty log message *** 1994-11-25 00:25:34 +00:00
Michael Tiemann
03c4ce2fcc Rename r16 files to rce, and fix some more .Sanitize typos. 1994-11-25 00:01:26 +00:00
Michael Tiemann
5fa6096860 Recognize and sanitize r16 as a target. 1994-11-24 22:02:18 +00:00
Michael Tiemann
d94aca1aff Safely check in r16 targets for binutils. 1994-11-24 20:30:11 +00:00
Steve Chamberlain
e93e87cb7b * Makefile.in: Add eshl.o.
* config/coff-sh.mt: Add shl emulation.
1994-11-24 06:06:23 +00:00
Ian Lance Taylor
18368f46c4 * scripttempl/elf.sc: Fill .text section with NOPS. From Eric
Youngdale <eric@aib.com>.
1994-11-22 17:19:36 +00:00
Ian Lance Taylor
60822a364f Patches from pirker@eiunix.tuwien.ac.at (Martin Pirker).
* config/i386linux.mh: New file; set HOSTING_CRT0.
	* genscripts.sh: Don't put ${libdir} in LIB_PATH if it is
	/usr/lib, since that is already in LIB_PATH.
1994-11-17 20:11:15 +00:00
Jeff Law
15ec1d5c97 * scripttempl/hppaelf.sc (.text): Handle a use rdefined text start
address.
	(.data, .bss): If "-N", then place the data/bss just after the end
	of the .text section rather than at the default 0x40000000.
1994-11-16 23:40:44 +00:00
Jeff Law
831d7ac47c * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
text segment.
1994-11-16 17:06:20 +00:00
Ken Raeburn
8e0e09f600 keep riscix, pc532mach files 1994-11-15 09:15:56 +00:00
Ian Lance Taylor
fee3930ea4 Keep ld-shared. 1994-11-14 16:57:14 +00:00
Ian Lance Taylor
0632d303d1 Keep i386lynx.mh. 1994-11-14 16:54:44 +00:00
Ian Lance Taylor
fd41732af2 * scripttempl/elf.sc: Add ENTRY(${ENTRY}), and default ${ENTRY} to
_start.
1994-11-12 20:59:18 +00:00
Ian Lance Taylor
5efddb2e7c * ld.h (args_type): Add field export_dynamic.
* lexsup.c (parse_args): Recognize --export-dynamic.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Pass export_dynamic argument to bfd_elf32_size_dynamic_sections.
1994-11-12 20:54:09 +00:00
Ian Lance Taylor
809391bd0a * ldlang.c (lang_one_common): Set SEC_ALLOC in any section where
we allocate common symbols.
1994-11-09 17:48:24 +00:00
Ian Lance Taylor
cd1d4f83e7 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
* scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
	.rela.fini to the list of .rel* sections.
1994-11-08 22:57:13 +00:00
Ian Lance Taylor
6a02a973c4 * ldlang.c (load_symbols): Add new argument place. Only accept
linker scripts if place is not NULL.  Put commands found in an
	assumed linker script into place.
	(lookup_name): Pass NULL as place argument to load_symbols.
	(open_input_bfds): In lang_input_statement_enum case, pass a place
	argument to load_symbols, and store any new statements after the
	current one.
PR 5917.
1994-11-08 22:54:07 +00:00
Ken Raeburn
ca8f2f0d74 Makefile.in: fix tipo in e*nbsd.c dependencies 1994-11-04 20:14:03 +00:00
Ken Raeburn
0128cbae50 * Makefile.in (check): Add missing "else true" clause.
* emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".

* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start".  Align at end of each section to 0x200.  Start .text section 0x1000
later.  Add _etext, _edata, _end symbols.
1994-11-04 00:39:49 +00:00
Ian Lance Taylor
52329a29a2 * ldctor.c (ldctor_add_set_entry): Don't permit a set to be
composed of different object file formats.
	(ldctor_build_sets): If the output format does not support the
	reloc, and we are not generating a relocateable link, try getting
	the reloc from the input format.
1994-11-02 17:22:28 +00:00
J.T. Conklin
e574ddd43a * Makefile.in (ALL_EMULATIONS): Added em68knbsd.o.
(em68knbsd.c): New target.

* config/m68k-nbsd.mt: New file.
* emulparams/m68knbsd.sh: New file.
* configure.in (m68*-*-netbsd*): Use above configs.
1994-11-01 18:33:35 +00:00
Ian Lance Taylor
fbf967b0da * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): If we find an
appropriately named static library, stop the search at that
	directory.
1994-11-01 00:37:05 +00:00
Ian Lance Taylor
0d29b6cc9d * lib/ld.exp (default_ld_compile): Remove the output file before
compiling.
1994-10-31 00:05:09 +00:00
Ian Lance Taylor
f9c3e5871e * ld-shared: New directory, with new files to test generating ELF
shared libraries.
1994-10-27 21:33:10 +00:00
Ian Lance Taylor
b5bd927ce5 * lib/ld.exp (default_ld_compile): If the compilation worked, but
no object file was created, check to see if the compiler foolishly
	ignored the -o switch when compiling, and move the resulting
	object if it did.
1994-10-27 21:31:50 +00:00
J.T. Conklin
32286e08a5 * Makefile.in (ALL_EMULATIONS): Added ei386nbsd.o, ens32knbsd.o
and esparcnbsd.o; sorted entries.
  (ei386nbsd.c,ens32knbsd.c,esparcnbsd.c): New targets.

* config/netbsd532.mt: Removed.
* emulparams/netbsd532.sh: Removed.

* config/{i386-nbsd.mt,ns32k-nbsd.mt,sparc-nbsd.mt}: New files.
* emulparams/{i386nbsd.sh,ns32knbsd.sh,sparcnbsd.sh}: New files.
* configure.in (i[345]86-*-netbsd*, ns32k-pc532-netbsd*,
  sparc*-*-netbsd*): Use above configs.
1994-10-26 21:02:02 +00:00
Ian Lance Taylor
fdfe873a8a * ldmain.c (multiple_common): One of the types may now be
bfd_link_hash_indirect.  The old BFD argument may be NULL.
1994-10-25 15:48:09 +00:00
Ian Lance Taylor
3286598fca * configure.in: Add * at the end of m68k-hp-hpux. 1994-10-21 02:02:54 +00:00
Ian Lance Taylor
81100e78a3 * ldlex.l: Cast assignment to yy_ch_buf field to char *, not to
YY_CHAR *.
1994-10-18 19:59:52 +00:00
J.T. Conklin
51bdfd9b22 * scripttempl/nw.sc: Gather constructors and destructors and
define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
1994-10-17 22:03:09 +00:00
Ken Raeburn
0a1e63c4b5 updated version 1994-10-17 20:33:46 +00:00
J.T. Conklin
9ff30f20cd * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
(ei386nw.c, eppcnw.c): New targets.

* config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh,
  scripttmpl/nw.sc: New files, for i386 and powerpc netware.

* configure.in: Changed netware ld_target name to be {i386,ppc}-nw
  instead of {i386,ppc}-elf.

* configure.in (sparc*-*-netware): Removed.  There is no such
  thing anymore.
1994-10-14 22:57:12 +00:00
J.T. Conklin
54d6484691 * ldint.texinfo: Move misplaced `@end iftex'. 1994-10-14 21:38:10 +00:00
Ian Lance Taylor
81d191be79 Fri Oct 14 12:02:18 1994 Eric Youngdale (eric@aib.com)
* scripttempl/elf.sc: Add .rel.ctors, .rela.ctors, .rel.dtors, and
	.rela.dtors to the list of .rel* sections.
1994-10-14 16:04:27 +00:00
Ken Raeburn
f608f62e26 configure.in: handle i[345]86-*-linux*, not just -linux 1994-10-13 18:17:11 +00:00
Ian Lance Taylor
243f6d0d67 * scripttempl/aout.sc: Set _etext and __etext to ., not
${DATA_ALIGNMENT}.  This is compatible with SunOS, and, with luck,
	will not break any other system.  From Eric Valette
	<ev@chorus.fr>.
1994-10-13 15:26:35 +00:00
Ian Lance Taylor
a82ae15d4b * lexsup.c (parse_args): Change -V to be a synonym for -v. Add
--verbose to get the old -V behaviour.
	* ld.1, ld.texinfo: Document this change.
1994-10-12 20:26:35 +00:00
Ian Lance Taylor
f2b38b9848 missed this file 1994-09-29 16:42:43 +00:00
Ian Lance Taylor
d2c0200413 * VMS does not permits `.' in directory names. Renamed
ld.bootstrap to ld-bootstrap, ld.cdtest to ld-cdtest, and
	ld.scripts to ld-scripts.
1994-09-29 16:39:01 +00:00
Ian Lance Taylor
f81eadb499 * config/default.exp: Set variables as and nm. Create tmpdir if
it does not already exist.
	* ld.bootstrap/bootstrap.exp: Don't create tmpdir here.
	* ld.cdtest/cdtest.exp: Likewise.
	* ld.scripts/defined.exp: Likewise.  Also, don't set as and nm
	here.  Change perror for no variables found to fail.
	* ld.scripts/script.exp: New test.
	* ld.scripts/script.t, ld.scripts/script.s: New files.
1994-09-28 16:21:32 +00:00
Ian Lance Taylor
9de5523bb6 * ld.scripts: New directory.
* ld.scripts/defined.exp, ld.scripts/defined.s: New files.
	* ld.scripts/defined.t: New file.
	* lib/ld.exp (default_ld_simple_link): New function.
	(default_ld_assemble, default_ld_nm): New functions.
	* config/default.exp: Rename from unix-ld.exp.
	(ld_simple_link, ld_assemble, ld_nm): New functions.
1994-09-28 00:06:27 +00:00
Ian Lance Taylor
aa61b92302 * ldexp.c (fold_name): For DEFINED case, don't try to look up the
name in the hash table during the first phase--the hash table does
	not even exist at that point, much less have the right value.
PR 5699.
1994-09-27 22:41:51 +00:00
Ian Lance Taylor
262c876349 * Makefile.in (CC): Define.
(CXX): Move definition, change from g++ to gcc.
	(EXPECT, RUNTEST): Copy definitions from top level Makefile.in.
	(RUNTEST_CC, RUNTEST_CFLAGS): Remove.
	(RUNTEST_CXX, RUNTEST_CXXFLAGS): Remove.
	(CC_FOR_TARGET, CXX_FOR_TARGET): Copy from top level Makefile.in.
	(.cc.o): Comment out.
	(testdir): Remove.
	(site.exp): Don't create testdir or set tmpdir.
	(check): Run checks even if not running native.  Use CC_FOR_TARGET
	instead of RUNTEST_CC, and likewise for CXX.
	(cdtest targets): Comment out.
	* config/solaris2.mh (HOSTING_LIBS): Only mention crtend.o once.
	* cdtest-bar.cc, cdtest-foo.cc, cdtest-foo.h: Remove.
	* cdtest-main.cc, cdtest.exp: Remove.
1994-09-27 22:25:04 +00:00
Ian Lance Taylor
5c680d3f29 * config/unix-ld.exp: Set ld using findfile.
* lib/ld.exp (default_ld_relocate): Return a value.  Change format
	of log messages.
	(default_ld_compile): Likewise.
	(default_ld_link): Likewise.  Also, don't include $BFDLIB and
	$LIBIBERTY in link.
	* ld.bootstrap/bootstrap.exp: Rewrite.
	* ld.cdtest/cdtest.exp: Rewrite.
	* ld.cdtest/cdtest-foo.cc: Update from top level ld directory.
	* ld.cdtest/cdtest-foo.h: Likewise.
	* ld.cdtest/cdtest-main.cc: Likewise.
1994-09-27 22:23:51 +00:00
Ian Lance Taylor
1eadd162c4 * emulparams/elf32bmip.sh: Rename from elf32mipb.sh to avoid DOS
file naming problems.
	* emulparams/elf32lmip.sh: Rename from elf32mipl.sh.
	* Makefile.in (ALL_EMULATIONS): Rename eelf32mipb.o to
	eelf32bmip.o and eelf32mipl.o to eelf32lmip.o.
	(eelf32bmip.c): Rename from eelf32mipb.c.  Use elf32bmip.sh.
	(eelf32lmip.c): Rename from eelf32mipl.c.  Use elf32lmip.sh.
	* config/mipsb-elf32.mt (EMUL): Use elf32bmip, not elf32mipb.
	* config/mipsl-elf32.mt (EMUL): Use elf32lmip, not elf32mipl.
1994-09-26 22:08:57 +00:00
Ian Lance Taylor
381897782a * genscripts.sh: Always search /usr/local/TARGET/lib. 1994-09-26 18:00:10 +00:00
Ian Lance Taylor
2150c3eea6 * scripttempl/elf.sc: If -N is set, force DATA_ADDR to be ".". 1994-09-26 15:41:20 +00:00
Ian Lance Taylor
a2eea82333 * lexsup.c (parse_args): Add support for -a for HP/UX
compatibility.
1994-09-23 16:31:32 +00:00
Ian Lance Taylor
8603728123 * ld.h (args_type): Add new field endian.
* lexsup.c (parse_args): Handle -EB and -EL by setting
	command_line.endian.
	* ldgram.y (ifile_p1): Accept OUTPUT_FORMAT with three arguments.
	* ldlang.c (lang_add_output_format): Add arguments big and little.
	If command_line.endian is set, use it to select big or little
	rather than the default.  Changed all callers.
	* ldlang.h (lang_add_output_format): Update declaration.
	* emulparams/elf32mipb.sh: Define BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT.
	* emulparams/elf32mipl.sh: Likewise.
	* emulparams/mipsbig.sh: Likewise.
	* emulparams/mipsbsd.sh: Likewise.
	* emulparams/mipsidt.sh: Likewise.
	* emulparams/mipsidtl.sh: Likewise.
	* emulparams/mipslit.sh: Likewise.
	* scripttempl/elf.sc: Define BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT if not already defined.  Pass them to
	OUTPUT_FORMAT.
	* scripttempl/mips.sc: Pass BIG_OUTPUT_FORMAT and
	LITTLE_OUTPUT_FORMAT to OUTPUT_FORMAT.
	* scripttempl/mipsbsd.sc: Likewise.
1994-09-20 21:16:11 +00:00
Ian Lance Taylor
5ccef1803e * Makefile.in (ALL_EMULATIONS): Add eelf32mipb.o and eelf32mipl.o.
(eelf32mipl.c): New target.
1994-09-20 19:07:36 +00:00
Ian Lance Taylor
f1781adcf3 * configure.in (mips*el-elf*): New target.
* config/mipsl-elf32.mt: New file.
	* emulparams/elf32mipl.sh: New file.
1994-09-20 18:41:27 +00:00
Ian Lance Taylor
006ae0e478 * ldmain.c (main): Rather than prohibiting ld -r -s, treat it as
ld -r -S -x.
PR 5596.
1994-09-16 16:17:26 +00:00
Ian Lance Taylor
7aa8f49656 * ldmisc.c (vfinfo): Print BFD file name as well as file name
returned by find_nearest_line, in case the file name is something
	unhelpful such as a .h file.  Handle %u.
1994-09-15 17:07:02 +00:00
Ian Lance Taylor
8150b20a18 Add some news. 1994-09-15 17:05:24 +00:00
Ian Lance Taylor
809ee7e036 * ld.h (ld_config_type): Add new field warn_once.
* ldmain.c (undefined_symbol): Handle -warn-once.
	* lexsup.c (parse_args): Recognize -warn-once.
	* ld.texinfo (Options): Document -warn-once.
	* ld.1: Likewise.
PR 4456.
1994-09-14 22:27:16 +00:00
Steve Chamberlain
467a038026 Wed Sep 14 12:49:12 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* ldlang.c (lang_do_assignments): Make sure output statement
	has an attached bfd_section before trying to dereference it.
1994-09-14 20:45:43 +00:00
Ian Lance Taylor
31c271643b Tweak the new handling of function names. 1994-09-14 18:29:06 +00:00
Ian Lance Taylor
cc23cc69c5 * ldmisc.c (vfinfo): Handle %D as %C, but never print the function
name.  For %C, print the function name on a separate line, to keep
	the length of error messages under control.
	* ldmain.c (multiple_definition): Use %D for ``first defined
	here.''
	(undefined_symbol): Use %D for ``more undefined references
	follow''.
PR 3770.
1994-09-14 17:08:37 +00:00
Ian Lance Taylor
8bff41c1b7 * ldmisc.c (multiple_warn): Remove; no longer used.
* ldmisc.h (multiple_warn): Don't declare.
1994-09-14 16:50:19 +00:00
Steve Chamberlain
3deb20fbc1 * ldlang.c (print_output_section_statement): Print all lines
to the map file.
1994-09-14 04:55:00 +00:00
Ian Lance Taylor
0b3499f672 * ldlang.c (load_symbols): Check for archive before object. Use
bfd_check_format_matches, and, if ambiguous, print a list of
	matching formats.  If file format is not recognized, treat file as
	a linker script.
	* ldgram.y (yyerror): If assuming an object file is a script,
	mention that.  Tweak the format of the error messages.
	* ldlex.l (lex_warn_invalid): If assuming an object is a script,
	guess that this is not actually a script, and just report that the
	file format was not recognized.
	* ld.texinfo (Options): Admit that -( may be used more than once.
	Add note that unrecognized object files are now treated as linker
	scripts.

	* ldfile.c (ldfile_input_filename): Make const.
	(ldfile_assumed_script): New variable.
	(try_open): Change arguments types to const.
	(ldfile_find_command_file): Likewise.
	(ldfile_open_command_file): Likewise.  Also, set lineno to 1.
	* ldfile.h: Update declarations for ldfile.c changes.
	* ldlex.l: Include <ctype.h>.
	(file_name_stack): Change to be const char *.
	(lineno_stack): New static variable.
	(<<EOF>>): Set lineno as well as ldfile_input_filename.
	(lex_push_file): Make name argument const.  Initialize
	lineno_stack entry.
	(lex_redirect): Initialize lineno_stack entry.
	(lex_warn_invalid): Handle non printable characters nicely.
	* ldlex.h (lex_push_file): Declare second argument as const.

	* ldgram.y (ifile_p1): Recognize GROUP.
	* ldlex.l: Recognize GROUP.
	* ld.texinfo (Option Commands): Document GROUP.
1994-09-13 20:42:47 +00:00
Stan Shebs
177941a1c9 Merge in former supposed GM-specific bits 1994-09-13 00:20:31 +00:00
Stan Shebs
2b51073813 Remove supposedly (but not really) GM-specific bits 1994-09-13 00:18:55 +00:00
Ian Lance Taylor
2fd87dbc90 * config/m68klynx.mh: New file. 1994-09-12 21:06:35 +00:00
Jeff Law
cb2af5cfec * emultempl/hppaelf.em: Add newlines to the error messages. 1994-09-12 07:51:14 +00:00
Ian Lance Taylor
7b63ff7683 * config/i386lynx.mh: New file.
* scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
	unless CONSTRUCTING.
1994-09-12 02:42:49 +00:00
Ian Lance Taylor
dd37f21531 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
(GENERATE_SHLIB_SCRIPT): Define as yes.
	(DYNAMIC_LINK): Define as false.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
	Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
	(gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
	* Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
	generic.em.
1994-09-10 20:04:17 +00:00
Steve Chamberlain
fa3539fe77 * scripttempl/h8500b.sc: Put rdata stuff into own segment. 1994-09-08 23:36:17 +00:00
Ian Lance Taylor
a864a26ecc * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
.got section is now explicitly handled in elf.sc.
1994-09-08 17:26:27 +00:00
Ian Lance Taylor
82950a806a x 1994-09-07 03:57:59 +00:00
Ian Lance Taylor
1822664fe4 * scripttempl/m68kcoff.sc: Put .bss in data segment.
* scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
	0, and to only be marked as NOLOAD if relocating.
	* scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
	* scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
	* scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
	* scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
	* scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
	* scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
	* scripttempl/sparclynx.sc: Likewise.
1994-09-07 03:57:09 +00:00
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ian Lance Taylor
3b21918aa6 * ld.h (args_type): Add field soname.
* lexsup.c (parse_args): Handle -soname argument.
	* emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
	pass soname.
	* ld.texinfo: Document -soname.
1994-08-30 16:04:19 +00:00
Ian Lance Taylor
69927008de * ldlang.c (lang_check): Don't try to set the architecture if the
input and output files are incompatible.  Just warn.
For Synoptics.
1994-08-29 19:24:48 +00:00
Ian Lance Taylor
6d4454364b * configure.in: Change i[34]86 to i[345]86. 1994-08-24 16:53:39 +00:00
Ian Lance Taylor
b400f56dbb Make the ELF linker handle orphaned sections reasonably. Also,
define __start_SECNAME and __stop_SECNAME around sections whose
	names can be represented in C, for the benefit of symbol sets in
	glibc.
	* ldemul.h (ldemul_place_orphan): Declare.
	(ld_emulation_xfer_type): Add place_orphan field.
	* ldemul.c (ldemul_place_orphan): New function.
	* ldlang.h (wild_doit): Declare.
	* ldlang.c (wild_doit): Make nonstatic.
	(lang_place_orphans): Call ldemul_place_orphan.
	* emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
	(hold_section, hold_use, hold_text, hold_data, hold_bss): New
	static variables.
	(gld${EMULATION_NAME}_place_orphan): New static function.
	(gld${EMULATION_NAME}_place_section): New static function.
	(ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
1994-08-18 20:10:54 +00:00
Ian Lance Taylor
9e5a036f28 * scripttempl/aout.sc: Add .linux-dynamic after .data. 1994-08-16 04:19:32 +00:00
Ian Lance Taylor
c1a9aaa316 * Treat --dll-verbose as --version, for Linux compatibility. From
hjl@nynexst.com (H.J. Lu).
1994-08-16 04:10:03 +00:00
Ian Lance Taylor
1fee94ece0 * ldexp.h (exp_get_abs_int): Declare. 1994-08-15 21:18:48 +00:00
Jason Molenda
28d1c6ec8c Fri Aug 5 20:55:55 1994 Jason Molenda (crash@phydeaux.cygnus.com)
* configure.in: add i960-nindy-coff support.
1994-08-06 03:57:19 +00:00
Jean Marie Diaz
63936abc32 * ldlex.l (yy_create_string_buffer): Handle change to internal
interface in flex 2.4.7.
1994-08-04 18:56:04 +00:00
Jean Marie Diaz
bb329c2009 Tue Aug 2 11:52:06 1994 Eric Youngdale (ericy@cais.cais.com)
* emultempl/linux.em (gld${EMULATION_NAME}_find_address_statement):
	New function; add 0x20 to any use of -Ttext.
	(gld${EMULATION_NAME}_create_output_section_statements): New
	function.
	(ld_${EMULATION_NAME}_emulation): Use the new function
	gld${EMULATION_NAME}_create_output_section_statements.
1994-08-02 16:01:56 +00:00
Ian Lance Taylor
a1ed243577 * scripttempl/mips.sc: Redo script to set . outside of sections
and not bother to explicitly specify section addresses.
1994-08-01 19:55:21 +00:00
Ian Lance Taylor
b019d460d1 * scripttempl/elf.sc: Copy several more relocation sections into
the output.  Put .got.plt sections into .got.
1994-07-26 15:04:40 +00:00
Ian Lance Taylor
31ddb15694 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
Add a new script operator, PROVIDE, to define a symbol only if it
	is needed.
	* ldgram.y (PROVIDE): New token.
	(assignment): Accept PROVIDE.
	* ldlex.l (PROVIDE): New token.
	* ldexp.h (node_type): Add etree_provide to node_class enum.
	(exp_provide): Declare.
	* ldexp.c (exp_fold_tree): Handle etree_provide.
	(exp_provide): New function.
	(exp_print_tree): Handle etree_provide.
	* ld.texinfo: Document PROVIDE.
1994-07-22 20:55:45 +00:00
Ian Lance Taylor
36c6e8c37f * ldlang.c (lang_common): Pass desired alignment to
lang_one_common as power of two.
	(lang_one_common): Get common symbol alignment from linker hash
	table entry.  Treat desired alignment as a power of two.
1994-07-22 18:46:28 +00:00
Ian Lance Taylor
309c8153fa * ldlang.c (wild_section): Attach all section with the given name,
not just the first one.  If there is no name, attach all sections
	even if the SEC_IS_COMMON flag is set.
1994-07-22 16:23:35 +00:00
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
Ken Raeburn
cdf7137776 ns32k port from Ian Dall 1994-07-14 19:20:53 +00:00
Ian Lance Taylor
db770dfa72 * lexsup.c (parse_args): Changed "retain-symbols-file" from
no_argument to required_argument.  From djm.
1994-07-08 15:06:29 +00:00
Jeff Law
aee611f53c * scripttempl/hppaelf.sc (__stack_zero): Don't define this name,
it was for the HPUX dynamic loader's use and it creates problems
	with ELF GDB.
1994-07-05 01:38:32 +00:00
Stan Shebs
10f1b5978b Elim dup of file names 1994-06-30 23:19:26 +00:00
Stan Shebs
8b50a709e9 Fix typo 1994-06-30 00:08:11 +00:00
Jean Marie Diaz
0373062441 * config/solaris2.mh (NATIVE_LIB_DIRS): Define as /usr/ccs/lib. 1994-06-29 21:18:47 +00:00
Jean Marie Diaz
111b24d572 * lexsup.c (parse_args): Accept -Bstatic and -Bdynamic. Do not
accept plain -B.
	* ld.texinfo: -Bstatic is not ignored.
1994-06-29 20:59:53 +00:00
Stan Shebs
22691fe7be * mpw-config.in (emulname): Set based on target.
(ldemul-list.h): Construct.
	* mpw-make.in (install-only): New target.
	(install): Depend on install-only.
1994-06-28 20:20:35 +00:00
Stan Shebs
83896c8b2b * mpw-xconfig.in: Remove ldemul-list.h construction, now in
generic config.
1994-06-28 20:16:32 +00:00
Stan Shebs
1c883f34fc * ldlex.l: Recognize \r the same as \n. 1994-06-28 19:16:24 +00:00
David MacKenzie
1f8b3b5746 Change --with-targets to --enable-targets, per GNU coding standards. 1994-06-23 20:08:57 +00:00
Ian Lance Taylor
cf4245afad * lexsup.c (parse_args): Add support for new options -( -) with
synonyms --start-group --end-group.
	* ldlang.h (enum statement_enum): Add lang_group_statement_enum.
	(lang_group_statement_type): Define new struct.
	(lang_statement_union_type): Add group_statement field.
	(lang_enter_group, lang_leave_group): Declare.
	* ldlang.c (lang_for_each_statement_worker): Handle
	lang_group_statement_enum.
	(map_input_to_output_sections, print_statement): Likewise.
	(lang_size_sections, lang_do_assignments): Likewise.
	(open_input_bfds): Completely rewrite.  Now does its own looping,
	rather than using lang_for_each_statement.  Handle groups.
	(lang_process): Update call to open_input_bfds.
	(print_group): New static function.
	(lang_enter_group, lang_leave_group): New static functions.
	* ldfile.c (ldfile_open_file): If the file has already been
	opened, just return rather than taking an assertion failure.
	* ldver.c (help): Mention new options.
	* ld.texinfo: Document new options.
1994-06-23 00:36:00 +00:00
Ian Lance Taylor
02b5798089 * ldlang.c (end_of_data_section_statement_list): Don't define.
(lang_leave_output_section_statement): Don't set obsolete variable
	end_of_data_section_statement_list.
1994-06-22 23:07:14 +00:00
Ian Lance Taylor
62a4b36c6b * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
ALIGN.
1994-06-22 20:11:07 +00:00
Ian Lance Taylor
686739e2c6 * ldlang.c (lang_size_sections): Adjust current region address
even for sections with an explicit address.  From
	ralphc@pyramid.com (Ralph Campbell).
1994-06-22 20:04:29 +00:00
Ian Lance Taylor
7d56d4f1c6 * emulparams/i386linux.sh (NONPAGED_TEXT_START_ADDR): Set to 0.
From jrs@world.std.com (Rick Sladkey).
1994-06-22 18:07:32 +00:00
Ian Lance Taylor
3b7553e793 * scripttempl/mipsbsd.sc: Let sections align to their natural
boundaries.
1994-06-22 17:47:11 +00:00
Jeff Law
c4aa82c196 * scripttempl/hppaelf.sc: Place .data and .bss at 0x40000000
when generating relocatable objects.
1994-06-17 04:50:29 +00:00
Ken Raeburn
8e3b100c24 deleted code for keep-v9 that does nothing useful 1994-06-17 00:52:10 +00:00
Ian Lance Taylor
64887de2ee * lexsup.c (parse_args): Add -shared to longopts, and handle it.
* ldmain.c (main): Initialize link_info.shared to false.  Give
	error if link_info.relocateable and link_info.shared are both set.
1994-06-16 19:32:07 +00:00
Ian Lance Taylor
5d1ffb2fe3 * configure.in: If EMUL_EXTRA* is defined in a config file, treat
it as naming an emulation to be added to EMULATION_OFILES.
	* config/i386-linux.mt (EMUL_EXTRA1): Define as elf_i386.
1994-06-16 19:11:03 +00:00
Ian Lance Taylor
bf82ab6830 * Makefile.in: Rebuilt dependencies.
(ALL_EMULATIONS): Add ei386linux.o, eelf32_sparc.o,
	eelf64_sparc.o.  Remove $(OTHER_EMULATIONS).
	(ei386linux.c, eelf32_sparc.c, eelf64_sparc.c): New targets.
	* config/i386-linux.mt (OTHER_EMULATIONS): Don't define.
	(ei386linux.c): Remove; now in Makefile.in.
	* config/i386-lynx.mt (OTHER_EMULATIONS): Don't define.
	* config/m68k-lynx.mt (OTHER_EMULATIONS): Don't define.
	* config/sparc-lynx.mt (OTHER_EMULATIONS): Don't define.
	* config/sparc64-elf.mt (OTHER_EMULATIONS): Don't define.
	(eelf64_sparc.c): Remove; now in Makefile.in.
	* config/sun4sol2.mt (OTHER_EMULATIONS): Don't define.
	(eelf32_sparc.c): Remove; now in Makefile.in.
1994-06-16 19:01:48 +00:00
Ian Lance Taylor
08f20f66c4 Thu Jun 16 14:25:22 1994 Eric Youngdale (ericy@cais.cais.com)
* emultempl/linux.em: New file providing support for linking
	against Linux shared libraries.
	* config/i386-linux.mt (ei386linux.c): Depend upon linux.em.
	* emulparams/i386linux.sh (TEMPLATE_NAME): Define as linux.
1994-06-16 18:36:40 +00:00
Ian Lance Taylor
641fe79b46 * ldexp.c (exp_print_tree): Don't crash if etree_rel section has
no owner--it might be bfd_abs_section.  From Eric Youngdale
	<ericy@cais.cais.com>.
1994-06-16 16:32:03 +00:00
Ian Lance Taylor
952b6c2c8d * scripttempl/aout.sc: Let sections align to their natural
boundaries.
1994-06-16 16:23:19 +00:00
Ian Lance Taylor
33b90e5265 * ldemul.h (ldemul_open_dynamic_archive): Declare.
(ld_emulation_xfer_type): Add new field open_dynamic_archive.
	* ldemul.c: Include ldexp.h and ldlang.h.
	(ldemul_open_dynamic_archive): New function.
	* ldfile.h (ldfile_open_file_search): Declare.
	* ldfile.c: Include ldemul.h.
	(try_open_bfd): Rename from cache_bfd_openr.  Return boolean
	argument, not bfd *.  Change all callers.
	(ldfile_open_file_search): Rename from open_a.  Return boolean
	argument, not bfd *.  Clean up.  Change all callers.
	(ldfile_open_file): If doing a dynamic link, call
	ldemul_open_dynamic_archive rather than assuming the extension of
	a dynamic object is ".so".
	* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
	New function.
	(ld_${EMULATION_NAME}_emulation): Initialize open_dynamic_archive
	field.
	* emultempl/sunos.em (ld_${EMULATION_NAME}_emulation): Likewise.
1994-06-15 23:49:01 +00:00
Ian Lance Taylor
ece5b08d17 Comment fix. 1994-06-15 21:23:28 +00:00
Ian Lance Taylor
4279241152 * lexsup.c (parse_args): Accept -static as a synonym for
-non_shared.
1994-06-15 21:22:43 +00:00
Ian Lance Taylor
cbbf960822 * ldmain.c (get_emulation): Ignore -m486 for Linux compatibility.
* lexsup.c (parse_args): Ignore -qmagic for Linux compatibility.
1994-06-15 21:04:21 +00:00
Ian Lance Taylor
7fb9ca5fc2 Let the user change the dynamic linker used by ELF code.
* ld.h (args_type): Add new field interpreter.
	* lexsup.c (parse_args): Add dynamic-linker to longopts, and
	handle it.
	* ldmain.c (main): Initialize command_line.interpreter to NULL.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Get
	the ELF backend to return the .interp section.  If
	command_line.interpreter is not NULL, set the contents of .interp
	to it.
	* ld.texinfo: Mention -dynamic-linker.
1994-06-15 20:46:43 +00:00
Ian Lance Taylor
57569ce8d1 * config/sun4sol2.mt (eelf32_sparc.c): Depend upon elf32.em, not
generic.em.
1994-06-15 20:44:54 +00:00
Ian Lance Taylor
bec7a138ab * lexsup.c (parse_args): Sort out the option macros and change the
definitions to make it easier to add a new option.
1994-06-15 17:55:46 +00:00
Ian Lance Taylor
66da6c8470 * scripttempl/aout.sc: Define __etext and __edata to go along with
_etext and _edata.
1994-06-15 16:17:48 +00:00
Ian Lance Taylor
605da7e26f * ldver.c (help): Mention -traditional-format. 1994-06-15 16:01:17 +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
7fe331f17b * ldctor.c (ldctor_add_entry): Add entries to a set in the order
they are encountered.
1994-06-15 03:12:42 +00:00
Ian Lance Taylor
39a00f7d5a Tue Jun 14 18:05:09 1994 Eric Youngdale (ericy@cais.cais.com)
* emulparams/i386linux.sh (TEXT_START_ADDR): Define as 0x1000.
	(NONPAGED_TEXT_START_ADDR): Define as 0x20.
1994-06-14 22:07:40 +00:00
Ian Lance Taylor
236772170b * scripttempl/alpha.sc: Define _ftext, _etext and _fdata insted of
_FTEXT, _ETEXT and _FDATA.  Dont define _END.
1994-06-13 22:34:46 +00:00
Ian Lance Taylor
e845d28994 * ldfile.c (open_a): If this is not an archive, try to open it in
the current directory before searching for it.
1994-06-13 21:35:27 +00:00
Ian Lance Taylor
3e1fd33d8a * lexsup.c (parse_args): Treat -i as a synonym for -r. 1994-06-13 21:00:20 +00:00
Ian Lance Taylor
f24078fd07 * ldgram.y (exp): Treat BLOCK as a synonym for ALIGN, so that
BLOCK works in a section address as documented.
1994-06-13 20:25:28 +00:00
Ian Lance Taylor
eb7edfa156 * ldgram.y (YYDEBUG): Don't define. 1994-06-13 19:47:50 +00:00
Stan Shebs
9d5baff61b Conditionalize on mips-idt-ecoff. 1994-06-12 23:59:15 +00:00
Ian Lance Taylor
6beb80b22f Don't sanitize out SPARC v9 stuff. 1994-06-10 21:22:31 +00:00
Ian Lance Taylor
5cad5873e0 Restore sparc64 targets clobbered in 1994/04/07 checkin. 1994-06-10 21:19:49 +00:00
Ian Lance Taylor
f8015b8526 * emultempl/gld960.em: Pass false for new argument to
ldfile_add_library_path.
	* emultempl/gld960c.em, emultempl/lnk960.em: Likewise.
1994-06-10 20:48:41 +00:00
Ian Lance Taylor
b6ef97506c * emultempl/sunos.em: Only look for .so files if doing a dynamic
link.
1994-06-10 20:46:42 +00:00
Ian Lance Taylor
9beeb5d9e5 * scripttempl/i960.sc: Add CONSTRUCTORS to .data. 1994-06-09 15:39:33 +00:00
Bill Cox
64bb143c6b * Makefile.in (check): Delete ld.new dependency so that a regression
test doesn't trigger a rebuild of the linker.
1994-06-09 13:54:28 +00:00
Ian Lance Taylor
ef01a8a873 * ldlang.c (map_input_to_output_sections): For lang_address, call
init_os if it hasn't already been called.
1994-06-09 04:18:39 +00:00
Ian Lance Taylor
fb5b11ee01 Rebuilt dependencies. 1994-06-03 00:09:21 +00:00
Ian Lance Taylor
f7e66391df Use SunOS shared libraries on a Sun 3. 1994-06-02 23:55:50 +00:00
Ian Lance Taylor
2f4b5b5302 Correct handling of .sa file. 1994-06-02 23:54:37 +00:00
Ian Lance Taylor
ed601bea1c Add support for SunOS shared libraries.
* aout.sc: Don't define __DYNAMIC here.  Add new sections used by
	shared library support code.
	* emultempl/sunos.em: New file.
	* emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
	* Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
1994-06-02 22:01:53 +00:00
Ian Lance Taylor
a4d2a48e42 * ldlang.c: Minor formatting cleanups.
(lang_for_each_input_file): New function.
	* ldlang.h (lang_for_each_input_file): Declare.
1994-06-02 21:31:40 +00:00
Ian Lance Taylor
0cd82d00da * ldfile.h (search_dirs_type): Move from ldfile.c, and add cmdline
field.
	(search_head): Declare.
	(ldfile_add_library_path): Add new cmdline argument in prototype.
	* ldfile.c (search_head): Make non-static.
	(search_dirs_type): Move to ldfile.h.
	(ldfile_add_library_path): Accept cmdline argument, and save it.
	* lexsup.c (parse_args): Pass true for new cmdline argument of
	ldfile_add_library_path.
	(set_default_dirlist): Likewise.
	* ldmain.c (check_for_scripts_dir): Pass false for new cmdline
	argument of ldfile_add_library_path.
	* ldgram.y (ifile_p1): Likewise.
1994-06-02 21:30:57 +00:00
Ian Lance Taylor
210c52ac91 * ldlang.h (lang_input_statement_type): Remove fields subfiles,
total_size, superfile and chain.
	* ldfile.c (open_a): Don't clear search_dirs_flag.
	(ldfile_open_file): Don't try to open superfile.  Assert that file
	has not already been opened.
	* ldlang.c (new_afile): Don't initialize superfile.
	* ldmain.c (add_archive_element): Don't initialize subfiles or
	chain or superfile.  Initialize search_dirs_flag to false.
1994-06-01 18:28:26 +00:00
Ken Raeburn
c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor
60e8a53407 * ldlang.c (entry_symbol): Make static.
(lang_add_entry): Add cmdline argument.
	* ldlang.h (lang_add_entry): Change prototype.
	* ldgram.y (statement_anywhere): Change lang_add_entry call.
	* lexsup.c (parse_args): Likewise.
1994-05-27 15:39:11 +00:00
Ian Lance Taylor
29371b1feb * ldlang.c (lang_add_entry): Only set the entry symbol if it has
not been set already.
1994-05-27 05:09:31 +00:00
Ian Lance Taylor
f49f58c6a8 * emulparams/elf32mipb.sh (OTHER_READONLY_SECTIONS): Don't give
.reginfo an address.
	(OTHER_READWRITE_SECTIONS): Don't give .lit4 or .lit8 an address.
	(OTHER_SECTIONS): Define for .gptab.sdata and .gptab.sbss.
	* scripttempl/elf.sc: Use OTHER_SECTIONS at end of script.
1994-05-24 20:21:27 +00:00
Ian Lance Taylor
eb8f714f21 Remove sanitization of PowerPC NetWare 1994-05-20 18:25:30 +00:00
Ian Lance Taylor
2a9fa50cd8 Add support for ELF shared libraries.
* ld.h (ld_config_type): Add field dynamic_link.
	* ldmain.c (main): Initialize config.dynamic_link to false.  Warn
	on attempts to use -r with -relax, -call_shared or -s.
	* lexsup.c (longopts): Separate OPTION_CALL_SHARED from
	OPTION_NON_SHARED.  Add OPTION_IGNORE.  Adjust macro values
	accordingly.  Add "dy" and "non_shared" options.  Change "Qy" to
	OPTION_IGNORE for now.  Handle OPTION_CALL_SHARED and
	OPTION_NON_SHARED by setting dynamic_link field accordingly.
	Handle OPTION_IGNORE by ignoring it.  Clear dynamic_link field for
	-r and -Ur.
	* ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
	opening a file with a .so extension first.
	* emultempl/elf32.em: New file.
	* emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
	(NONPAGED_TEXT_START_ADDR): Likewise.
	(TEMPLATE_NAME): Define as elf32.
	(DATA_PLT): Define.
	* emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
	* scripttempl/elf.sc: Add placement for new dynamic sections.
	Don't use CREATE_OBJECT_SYMBOLS.  Define _etext, _edata and _end
	outside of any section.  Don't use ALIGN(8); just let one section
	VMA follow another.  Put .dynbss in .bss.  Don't mention debugging
	sections; they'll be handled correctly anyhow.
	* Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
1994-05-19 18:25:10 +00:00
Ian Lance Taylor
188ce70585 * Makefile.in (install): Redirect output of ln to /dev/null. 1994-05-18 17:18:23 +00:00
Bill Cox
2a12627b21 * ld.bootstrap/bootstrap.exp, lib/ld.exp: Replace error proc
calls with perror calls.
1994-05-17 22:40:29 +00:00
Jeff Law
4bd5c39f5c * emultempl/hppaelf.em: Change all references of
.hppa_linker_stubs to .PARISC.stubs.
	* scripttempl/hppaelf.sc: Likewise.
1994-05-16 19:38:39 +00:00
Ian Lance Taylor
269773c1a9 * ldlang.c (print_output_section_statement): Change ``no attached
output section'' message slightly.
	(lang_do_assignments): Don't recurse down if there is no real
	section.
1994-05-13 18:01:59 +00:00
Ian Lance Taylor
439a3604ae * config/i386-linux.mt (OTHER_EMULATIONS): Change em_ to e to
match corresponding change in emulation templates.
	* config/i386-lynx.mt, config/m68k-lynx.mt: Likewise.
	* config/sparc-lynx.mt, config/sun4sol2.mt: Likewise.
1994-05-13 17:06:49 +00:00
Ken Raeburn
7e16be786a note name change of cdtest-bar.cc 1994-05-11 23:49:35 +00:00
Ken Raeburn
76a1b604a6 8.3 name fixes: ld.cdtest/cdtest-func.cc -> cdtest-bar.cc 1994-05-11 23:49:21 +00:00
Ken Raeburn
82ebe9a274 * ldver.c (ldversion): Updated version number.
* cdtest-foo.cc: Use explicit "#pragma implementation".
* cdtest-bar.cc: Renamed from cdtest-func.cc.
* Makefile.in: References to cdtest-func.o changed to cdtest-bar.o.
1994-05-11 23:10:34 +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
Ian Lance Taylor
27f7237eca * ldlang.c (wild_doit): Don't bother initializing the vma and
section size.  Don't special case SEC_SHARED_LIBRARY.
	(lang_size_sections): Handle SEC_COFF_SHARED_LIBRARY sections
	specially.
1994-05-10 18:33:44 +00:00
Ian Lance Taylor
c1124600ad Remove Delta68 support. Could not get copyright assignment for it.
From now on, I'll get that first.
1994-05-09 16:36:38 +00:00
Ken Raeburn
7009748cab keep gld960c.em 1994-05-08 05:38:24 +00:00
Ken Raeburn
c610b46c54 keep gld960coff.sh 1994-05-08 05:37:58 +00:00
Ken Raeburn
e5793ca025 deal with file renaming, new files 1994-05-08 05:37:17 +00:00
Steve Chamberlain
6149af094e support for Xgo32X. 1994-05-06 19:27:57 +00:00
Steve Chamberlain
90f2ba0625 * config/go32.mh : New file for Xgo32X. 1994-05-06 19:25:31 +00:00
Ian Lance Taylor
5acce559f4 * ldfile.c (ldfile_open_command_file): Set bfd_error_system_call
before calling einfo, since we are reporting an fopen failure.
	From jrs@world.std.com (Rick Sladkey).
1994-05-06 19:21:00 +00:00
Ian Lance Taylor
f6671f28a4 * configure.in: Use "e" rather than "em_" as prefix for
emulations.
1994-05-06 19:16:30 +00:00
Ken Raeburn
6e1e82a0be em_->e, mips-idtl->mipsl-idt name changes 1994-05-06 06:55:54 +00:00
Ken Raeburn
38cae0cd30 * emultempl/generic.em: Use "e" rather than "em_" as prefix for filename.
* emultempl/gld960.em, emultempl/gld960c.em, emultempl/lnk960.em,
emultempl/hppaelf.em, emultempl/m88kbcs.em, emultempl/vanilla.em: Ditto.
* Makefile.in: Changed all generated file names.
(ldemul-list.h): Depend on Makefile, not config.status.  Changed sed patterns
to handle new filenames.
1994-05-06 06:55:35 +00:00
Ken Raeburn
97dc4cf850 * config/mipsl-idt.mt: Renamed from mips-idtl.mt.
* configure.in: Adjusted.
1994-05-06 06:54:15 +00:00
Ken Raeburn
db4a85f981 * emulparams/gld960coff.sh: New file.
Patches from Ralph Campbell:
* emulparams/mipsbsd.sh (OUTPUT_FORMAT): Fix name to have `a.out'
instead of `aout'.
1994-05-06 00:40:18 +00:00
Ken Raeburn
7182a4df5d * config/cf-h8300h.mt: Renamed from coff-h8300h.mt, to make it unique in 8.3.
* config/i960coff.mt: New file.

Patches from Ralph Campbell:
* config/mipsbsd.mh: New file.
1994-05-06 00:39:32 +00:00
Ian Lance Taylor
0573a3b135 * config/m68k.mt (EMUL): Set to m68kaout.
* emulparams/m68kaout.sh: New file.
	* Makefile.in (ALL_EMULATIONS): Add em_m68kaout.o.
	(em_m68kaout.c): New target.
1994-05-04 20:22:15 +00:00
Ian Lance Taylor
269ec825af For PR 4906.
* ldlang.c (lang_size_sections): If dot moves because of an
	assignment, don't try to insert a pad into the absolute output
	section, just change the address of the default memory region
	instead.
1994-05-04 16:14:00 +00:00
Ian Lance Taylor
083038a72a * Makefile.in (mostlyclean): Remove cdtest.tmp, cdtest-ur,
cdtest-ur.out, and cdtest-ur.tmp.
1994-05-04 16:00:30 +00:00
Stan Shebs
89464c7a1d Keep Lynx linker scripts. 1994-05-02 22:51:34 +00:00
Bill Cox
ea68d58d4e Back-migrate minor changes in these files from 94Q1 progressive into devo:
dejagnu/ChangeLog, dejagnu/Makefile.in,
	dejagnu/example/calc/Makefile.in, dejagnu/lib/remote.exp,
	dejagnu/testsuite/Makefile.in,
	dejagnu/testsuite/runtest.all/options.exp,
	gcc/testsuite/config/unix.exp, gdb/testsuite/Makefile.in,
	ld/ChangeLog, newlib/testsuite/ChangeLog, texinfo/testsuite/ChangeLog
1994-04-28 21:49:40 +00:00
Ian Lance Taylor
e6d84626b4 * scripttempl/sa29200.sc: Align all sections to four byte
boundaries.
1994-04-27 20:04:55 +00:00
Steve Chamberlain
6c86b9ff98 * Makefile.in, configure.in: Support for go32 coff.
* config/i386-go32.mt: New file
	* emulparams/i386go32.sh: New file
	* scripttempl/i386go32.sc: New file
1994-04-27 17:52:13 +00:00
Stan Shebs
028f887219 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
* Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
	Lynx-specific script templates.
	* configure.in (sparclite*-*-coff): Use coff-sparc.
	* emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
	* emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
	(ENTRY): Set to __main.
	* scripttempl/i386lynx.sc: New file, script for I386 Lynx.
	* scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
	* scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
1994-04-27 00:31:11 +00:00
Ian Lance Taylor
c435aba810 * scripttempl/mips.sc: Force _gp and .lit8 to be aligned to a 16
byte boundary, in case the global constructors do not take up an
	even 16 bytes.
1994-04-26 21:49:45 +00:00
Ian Lance Taylor
cde7350107 * config/i386v4.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
exist, get crtbegin based on gcc -print-libgcc-file-name.
	(HOSTING_LIBS): Similar change for ../gcc/crtend.o.
1994-04-26 16:42:52 +00:00
Ian Lance Taylor
feaa9c4bda * ldlang.c (lang_size_sections): When no address is given for a
section, align it according to its requirements.
1994-04-25 19:28:58 +00:00
Ian Lance Taylor
1e45c4c38e * Makefile.in (clean, distclean): Remove configdoc.texi. 1994-04-21 21:25:17 +00:00
Bill Cox
9ad75873fa * configure.in: Add recognition of i[34]86-*-bsd386. 1994-04-19 19:14:15 +00:00
Ian Lance Taylor
9d87af5697 * ldlang.c (lang_size_sections): When relaxing, adjust the
position of a padding statement, and adjust dot accordingly.
1994-04-15 18:37:05 +00:00
Ian Lance Taylor
b22034745a There is no interesting Irix 5, or PowerPC, or RS/6000 support in the
linker, so don't mention them.
1994-04-14 04:02:34 +00:00
Bill Cox
099c286e74 * Makefile.in (check): Set TCL_LIBRARY for runtest. 1994-04-11 23:17:18 +00:00
Ian Lance Taylor
4f2ee95801 * scripttempl/i386coff.sc: If relocating, don't put .init and
.fini sections into .text; keep them separate.
	* config/i386sco.mh (HOSTING_CRT0): If ../gcc/crtbegin.o does not
	exist, get crtbegin based on gcc -print-libgcc-file-name.
	(HOSTING_LIBS): Similar change for ../gcc/crtend.o.
1994-04-11 16:35:39 +00:00
Jeff Law
f39a73b1b6 * configure.in (hppa*-*-*elf*): Don't require "-hp-" for the
manufacturer.
1994-04-07 03:49:18 +00:00
Jeff Law
79f7de91c4 * emultempl/hppaelf.em (hppaelf_finish): Only resize sections
if building a final executable.
1994-04-06 07:10:09 +00:00
Ken Raeburn
632dcce87b note that pa support is elf only 1994-04-05 18:55:56 +00:00
Ian Lance Taylor
67d0e7ffa1 * ldmain.c (main): Check the return value of bfd_close. 1994-04-05 16:18:31 +00:00
Ian Lance Taylor
be9ffc1fd0 * scripttempl/alpha.sc: Clean up section alignment to ensure that
sections never overlap when using -r.
1994-03-31 23:08:37 +00:00
Ian Lance Taylor
6c00b04ff8 * ldmisc.c (vfinfo): Change symbol reading slightly for recent BFD
changes: get_symtab_upper_bound renamed and returns long,
	bfd_canonicalize_symtab returns long, check for error indications.
1994-03-30 22:05:05 +00:00
Ian Lance Taylor
f078dc7cf2 * ldlang.c (print_input_section): For section size, use
_cooked_size if it is non-zero, size otherwise.
	(size_input_section): Likewise.
	(lang_do_assignments): Likewise (case lang_input_section_enum).
1994-03-25 22:22:29 +00:00
Ian Lance Taylor
193c5f93a1 * ldlang.c (new_afile): Add new argument add_to_list. Don't set
real to true for lang_input_file_is_marker_enum.  Clear the_bfd.
	(lang_add_input_file): Pass true to new_afile for add_to_list.
	(lookup_name): Remove force_load argument.  Changed all callers.
	Pass false to new_afile for add_to_list.  Split loading of symbols
	out into separate function.
	(load_symbols): New function split out of lookup_name.  Don't load
	the symbols if they are already loaded.
	(open_input_bfds): For lang_input_statement_enum call load_symbols
	rather than lookup_name.
	(lang_process): Pass abs_output_section rather than NULL to
	lang_size_sections.
	(lang_startup): Set real field of first_file to true.
1994-03-24 20:25:12 +00:00
Ian Lance Taylor
a2670c2f8b * emultemp/gld960.em: Include libiberty.h
(gld960_before_parse): Pass NULL as final argument to concat.
1994-03-23 19:17:27 +00:00
Ian Lance Taylor
f7a26f1b78 * scripttempl/aout.sc: Force _end and __end to be aligned to a
four byte boundary.
1994-03-22 23:46:17 +00:00
Ian Lance Taylor
f3bc3ac3fa * ldwrite.c (build_link_order): Handle lang_data_statement_enum by
building a bfd_data_link_order, rather than by setting the section
	contents immediately.
1994-03-22 18:18:32 +00:00
Ian Lance Taylor
4fdbafb247 Changes to make -Ur work again.
* ldmain.c (add_to_set): Now takes reloc argument rather than
	bitsize.  Check config.build_constructors here.  If an new hash
	table entry is created, mark it as undefined.
	(constructor_callback): No longer takes bitsize argument.  Pass
	BFD_RELOC_CTOR to ldctor_add_set_entry, but first make sure the
	BFD backend supports it.
	(reloc_overflow): Handle a NULL abfd argument.
	(reloc_dangerous, unattached_reloc): Likewise.
	* ldctor.c: Include ldmain.h.
	(struct set_info): Change bitsize field to reloc.
	(ldctor_add_set_entry): Now takes reloc argument rather than
	bitsize.  Don't bother to check config.build_constructors here.
	(ldctor_build_sets): Get the size from the reloc howto.  If
	generating relocateable output, call lang_add_reloc rather than
	lang_add_data.
	* ldctor.h (ldctor_add_set_entry): Change declaration to use reloc
	instead of bitsize.
	* ldlang.h (statement_enum): Add lang_reloc_statement_enum.
	(lang_reloc_statement_type): New structure.
	(lang_statement_union_type): Add reloc_statement field.
	(lang_add_reloc): Declare new function.
	* ldlang.c (lang_for_each_statement_worker): Handle
	lang_reloc_statement_enum.
	(map_input_to_output_sections, print_statement): Likewise.
	(lang_size_sections, lang_do_assignments): Likewise.
	(print_reloc_statement): New function.
	(lang_add_reloc): New function.
	* ldwrite.c (build_link_order): Handle lang_reloc_statement_enum.
1994-03-22 00:24:13 +00:00
Ian Lance Taylor
0a6ffe9cfd Remove ppc.em; do it all in nlmconv instead. 1994-03-12 03:19:27 +00:00
Ian Lance Taylor
de0abbfc79 Set Emacs local variables to never use version control. 1994-03-08 18:55:57 +00:00
David MacKenzie
0071a731ef * config/i386bsd.mh: New file. 1994-03-08 12:25:06 +00:00
Ian Lance Taylor
7f0638d54b * elf.sc: Permit TEXT_START_SYMBOLS and DATA_START_SYMBOLS to be
defined.
	* emulparams/elf32mipb.s (TEXT_START_SYMBOLS): Define _ftext.
	(DATA_START_SYMBOLS): Define _fdata.
1994-03-07 20:26:24 +00:00
Stan Shebs
d9abc278a6 Fri Mar 4 11:43:47 1994 Stan Shebs (shebs@andros.cygnus.com)
* ldlang.c (lookup_name): Stomp on a pointer if in MPW.
	* mpw-em.c: Edit to reflect changed syntax of compiled-in linker
	scripts.
1994-03-04 19:53:16 +00:00
Stan Shebs
ddde2a14a7 Mon Feb 28 11:09:48 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-xconfig.in (emulname): Define.
1994-02-28 19:15:10 +00:00
Stan Shebs
764eb34944 Lose mpw-build.in 1994-02-28 19:14:06 +00:00
Stan Shebs
496977f2f6 Mon Feb 28 11:07:41 1994 Stan Shebs (shebs@andros.cygnus.com)
* mpw-build.in: Remove, subsumed in mpw-make.in.
	* mpw-make.in (bindir): Fix pathname.
	(install): Move here from mpw-build.in.
1994-02-28 19:13:40 +00:00
Stan Shebs
b897ed67cb Mon Feb 28 10:59:14 1994 Stan Shebs (shebs@andros.cygnus.com)
* ldlang.c (cat): Define using ANSI style if ALMOST_STDC defined.
1994-02-28 19:05:34 +00:00
Jeff Law
ff68559e31 * emultempl/hppaelf.em (hppaelf_finish): Update comments. This
works again.  Attach some output symbols to the stub file bfd.
1994-02-28 04:23:40 +00:00
Jeff Law
2e39abdb96 * emultempl/hppaelf.em: Include elf32-hppa.h.
(file_chain): Add decl.
        (hppa_look_for_stubs_in_section): Delete decl.
        (hppaelf_finish): Reenable code.  Do not pass symbols
        down to hppa_look_for_stubs_in_section.
1994-02-28 00:30:36 +00:00
Ian Lance Taylor
b495c31442 * ldmain.c (write_map): Don't define. Removed all references.
Just use map_file or map_filename instead.
	(add_archive_element): Use minfo to write map information, not
	info_msg.
	(constructor_callback): Use fprintf to write map information, not
	info_msg.
	* ldmain.h (write_map): Don't declare.
	* ldgram.y (mri_script_command): Removed reference to write_map.
	* ldlang.c (lang_one_common): Likewise.
	* lexsup.c (parse_args): Likewise.
1994-02-26 19:01:50 +00:00
Ian Lance Taylor
bff600cfa4 * scripttempl/elf.sc: Force all sections to be aligned. 1994-02-26 05:34:52 +00:00
Ian Lance Taylor
27baca7182 * ldgram.y (section): Reverse the order of memspec_opt and
fill_opt to avoid an ambiguity when both are used.
	* ld.texinfo: Changed accordingly.
1994-02-26 05:32:29 +00:00
Ian Lance Taylor
6232b6c4c5 * ldgram.y: Move include of ldlex.h back with other includes.
* ldlex.h (input_type): Don't initialize enum constants to
	particular values.
	* ldlex.l: Use a switch to return the right token based on
	input_type, rather than knowing that input_type has a value based
	on a token type.
1994-02-26 03:22:26 +00:00
Ian Lance Taylor
4725fb48f5 * ldgram.y (dirlist_ptr): Removed; not used.
* lexsup.c: Include ldver.h.
	* Makefile.in: Rebuilt dependencies.
1994-02-26 03:17:02 +00:00
Ian Lance Taylor
fc1dfb7169 Fri Feb 25 18:55:54 1994 Ted Lemon (mellon@pepper.ncd.com)
* ldlang.c (lookup_name): don't call bfd_set_gp_size.
	(ldlang_add_file): call it here instead.
1994-02-26 03:11:21 +00:00
David MacKenzie
ff33a8c167 * ldgram.y: Include ldlex.h after %token decls, for byacc. 1994-02-26 02:14:30 +00:00
Jeff Law
531a5bd189 * emultempl/hppaelf.em: First attempt to clean this file up.
Add comments in several functions as to their purpose and
        how they function (or my current best guess).  Clean up horrible
        spacing and indention that never should have been accepted in the
        first place.  Add FIXMEs for issues which need to be resolved.
        Disable linker-stub generation until it gets fixed.  This allows
        the linker to at least work on simple code for testing purposes.
1994-02-26 00:33:30 +00:00
Jeff Law
a62494c41b * ldlang.c (lang_size_sections): No longer static (PA ELF calls
it via hppaelf_finish).  Prototype moved into ldlang.h.
        (lang_process): Move problematic extra call to lang_size_sections
        into the PA ELF specific code.
        * emultempl/hppaelf.em (hppaelf_finish): Extra call to
        lang_size_sections moved here.
1994-02-25 18:51:35 +00:00
David MacKenzie
9d3898b251 Add missing newline in einfo message. 1994-02-25 04:12:50 +00:00
David MacKenzie
d5b79a89b9 * lexsup.c (parse_args): Use symbolic numbers for long options.
Fix misunderstanding in -Y and -call_shared et al.
1994-02-25 04:08:55 +00:00
Ian Lance Taylor
b3cefbc393 For some reason this directory was missing a .Sanitize file. 1994-02-25 03:59:10 +00:00
Ian Lance Taylor
3de3daca78 Make correspond to djm's last change. 1994-02-25 03:39:17 +00:00
Ian Lance Taylor
c361ce46c5 * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
* config/ppc-elf32.mt: New file.
	* emulparams/elf32ppc.sh: New file.
	* emultempl/ppc.em: New file.
	* Makefile.in (ALL_EMULATIONS): Added em_elf32ppc.o.
	(em_elf32ppc.c): New target; uses elf32ppc.sh, ppc.em and elf.sc.
	(EMULATION_OFILES): Added dependencies on ldexp.h and ldlang.h.
1994-02-25 03:32:08 +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
Steve Chamberlain
a25e99350b H8/500 bits. 1994-02-24 17:15:46 +00:00
Steve Chamberlain
5fe60d7321 Various H8/500 bits. 1994-02-24 17:14:06 +00:00
Ken Raeburn
78158b1cda keep coff_sparc.sh 1994-02-24 16:50:12 +00:00
Ken Raeburn
808510fa7a keep coff-sparc.mt 1994-02-24 16:49:21 +00:00
Ian Lance Taylor
a733e1d7a6 * ldlang.c (lang_size_sections): Only align section to alignment
required by linker script, not to maximum alignment of input
	sections.
1994-02-22 18:19:07 +00:00
Ian Lance Taylor
6b8929a172 * ldlang.h (largest_section): Don't declare.
* ldlang.c (largest_section): Don't define.
	(size_input_section): Don't set largest_section; not used.
1994-02-22 17:32:30 +00:00
Ian Lance Taylor
ef76742fc5 * ldlang.c (new_afile): Pass NULL as last argument to concat. 1994-02-21 23:19:43 +00:00
Ken Raeburn
1f4203cb20 keep ld.cdtest 1994-02-18 22:10:20 +00:00
Ian Lance Taylor
42f62ead47 Various entries. 1994-02-17 20:56:49 +00:00