Commit graph

677 commits

Author SHA1 Message Date
David Edelsohn
c4a14eefe2 * scripttempl/pe.sc (.endjunk): Move definition of `end' to here
so the malloc heap begins at a sane place.
1995-11-16 19:28:05 +00:00
Ken Raeburn
b218076e59 version 2.6 1995-11-16 10:12:33 +00:00
Ian Lance Taylor
204066750f * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Use the
environment variable LD_RUN_PATH if neither -rpath nor -rpath-link
	were used.
	(gld${EMULATION_NAME}_before_allocation): Use the environment
	variable LD_RUN_PATH if -rpath was not used.
	* ld.texinfo, ld.1: Document LD_RUN_PATH.
PR 8428.
1995-11-14 22:10:14 +00:00
Ian Lance Taylor
7eb5ccf525 * ldfile.c (ldfile_try_open_bfd): If bfd_error_invalid_target,
report a better error.
1995-11-09 21:57:02 +00:00
Ian Lance Taylor
97121c41e9 * emultempl/aix.em (gld${EMULATION_NAME}_before_allocation): Add
new local variable special_sections, and pass it to
	size_dynamic_sections.  Look through the results, and move the
	sections around in the mapping so that they are defined correctly.
1995-11-09 18:11:03 +00:00
Ian Lance Taylor
9d3d323a2b * ldemul.c (ldemul_default_target): Cast getenv return value. 1995-11-08 16:41:39 +00:00
Kim Knuttila
b2306582e3 added PowerPC PE targetting stuff 1995-11-07 22:20:00 +00:00
Ian Lance Taylor
e2ce2da872 * ld.texinfo: The linker does not use _main as an entry point. 1995-11-07 16:48:29 +00:00
Ian Lance Taylor
36b72df3de Tue Nov 7 11:46:11 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* scripttempl/m88kbcs.sc (.data): Calculate next boundary modulo
	0x2000 not 0x200.
1995-11-07 16:47:19 +00:00
Ian Lance Taylor
92c71a0b0d * configure.in: Add test for whether free must be declared.
* sysdep.h: Declare free if necessary.  Include "ansidecl.h".
	* acconfig.h: Explain NEED_DECLARATION_FREE.
	* configure, config.in: Rebuild.
1995-11-06 20:59:44 +00:00
Ian Lance Taylor
7ae3065c8f * lexsup.c (parse_args): Take B:: out of shortopts. 1995-11-06 16:00:00 +00:00
Ken Raeburn
bd329d41ca some i386-netbsd cleanup 1995-11-05 10:14:28 +00:00
Ian Lance Taylor
92188bd2d6 use motorola-sysv*, not sysv3* 1995-11-03 20:10:50 +00:00
Ian Lance Taylor
6398299816 Wed Nov 1 15:42:45 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* Makefile.in (ALL_EMULATIONS): Add edelta68.o.
	(edelta68.c): New target.
	* configure.tgt (m68*-motorola-sysv3*): New target.
	* emulparams/delta68.sh: New file.
	* scripttempl/delta68.sc: New file.

	* scripttempl/m88kbcs.sc: Handle .init and .fini.  Change section
	addresses.
1995-11-01 20:52:10 +00:00
Ian Lance Taylor
ef51e36abc * ldgram.y (mri_script_command): Accept ',' as well as '=' in
ALIGN and ALIGNMOD statements.
1995-11-01 17:31:58 +00:00
Ian Lance Taylor
2a80ec10a8 * emultempl/aix.em: Include ldgram.h.
(gld${EMULATION_NAME}_parse_args): Handle -pD and -pT, as used on
	AIX 4.1.
	* Makefile.in ($(EMULATION_OFILES)): Depend upon ldgram.h.
1995-11-01 16:46:19 +00:00
Ian Lance Taylor
02a5d23525 Tue Oct 31 18:22:24 1995 David Mosberger-Tang <davidm@azstarnet.com>
* configure.host (alpha-*-linux*): New host.
	* configure.tgt (alpha-*-linux*): New target.
1995-10-31 23:23:48 +00:00
Ian Lance Taylor
5666490bee * emultempl/aix.em (export_files): Remove.
(import_files): Make static.
	(struct export_symbol_list): Define.
	(export_symbols): New static variable.
	(gld${EMULATION_NAME}_parse_args): Handle an initial -b option
	correctly.  Call read_file for an export file.
	(gld${EMULATION_NAME}_before_allocation): Call
	bfd_xcoff_export_symbol for each export symbol, rather than
	calling read_file for each export file.
	(gld${EMULATION_NAME}_read_file): For an export file, make the
	exported symbols undefined, and store them on the export_symbols
	list.
1995-10-31 17:39:55 +00:00
Steve Chamberlain
2543860d19 Sat Oct 28 00:10:03 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
	Don't hang if last option is unrecognised.
	(gld_${EMULATION_NAME}_set_symbols): Insert created
	symbols into ABS output section.
1995-10-28 07:26:10 +00:00
Niklas Hallqvist
d0ae7d95f7 * Makefile.in (ALL_EMULATIONS): Added support for the NetBSD
m68k4k arch.
	(em68k4knbsd.c): New rule.

	* configure.tgt: Added support for the NetBSD m68k4k arch.

	* genscripts.sh, ldint.texinfo,
	emulparams/{a29k,armaoutb,armaoutl,coff_sparc,ebmon29k,gld960,
	gld960coff,go32,h8300,h8300h,h8500,h8500b,h8500c,h8500m,h8500s,
	hp300bsd,hp3hpux,hppaelf.sh,i386aout,i386bsd,i386coff,i386go32,
	i386linux,i386lynx,i386nbsd,lnk960,m68kaout,m68kcoff,m68klynx,
	m88kbcs,mipsbig,mipsbsd,mipsidt,mipsidtl,mipslit,news,ns32knbsd,
	pc532machaout,rce,riscix,sa29200,sh,shl,sparclynx,sparcnbsd,
	st2000,sun3,sun4,vanilla,vax,vsta,w65,z8001,z8002}.sh: Changed
	PAGE_SIZE to TARGET_PAGE_SIZE.

	* emulparams/m68knbsd.h: Ditto.
	(TEXT_START_ADDR, NONPAGED_TEXT_START_ADDR): We have 8K pagesize.
	(EXECUTABLE_SYMBOLS): Hardcode __DYNAMIC to zero for the time
	being.

	* emulparams/m68k4knbsd.sh: New file.

	* scripttempl/aout.sc: Expand EXECUTABLE_SYMBOLS if relocating.
1995-10-28 01:40:02 +00:00
Ian Lance Taylor
cf79773cb1 * emultempl/aix.em: Include ldctor.h.
(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_before_allocation): Call find_relocs.
	(gld${EMULATION_NAME}_find_relocs): New static function.
	(gld${EMULATION_NAME}_find_exp_assignment): New static function.
	(ld_${EMULATION_NAME}_emulation): Use new after_open function.
	* scripttempl/aix.sc: Use CONSTRUCTORS in .data.
	* ldctor.c (struct set_info): Move definition into ldctor.h.
	(struct set_element): Likewise.
	(sets): Make non-static.
	(ldctor_add_set_entry): Add name parameter.  Save it in the new
	set element.
	(ldctor_build_sets): Avoid being called twice.  Pass set element
	name to lang_add_reloc.
	* ldctor.h (struct set_info): Move definition here from ldctor.c.
	(struct set_element): Likewise.  Add new field name.
	(sets): Declare.
	(ldctor_add_set_entry): Declare new name parameter.
	* ldwrite.c (build_link_order): Don't insist that either name or
	section be NULL in a lang_reloc_statement.
	* ldmain.c (add_to_set): Pass NULL to ldctor_add_new_set_entry for
	new name parameter.
	(constructor_callback): Pass name to ldctor_add_new_set_entry for
	new name parameter.
1995-10-27 22:21:43 +00:00
Stan Shebs
49af8a4ec7 * mpw-config.in: Add PowerMac target support, generate config.h.
* mac-ld.r: New file, Mac resources.
	* mpw-make.sed: New file, edits Makefile.in into MPW syntax.
	* mpw-make.in: Remove.
	* mpw-eppcmacos.c: Prebuilt version of PowerMac linking script.
1995-10-27 05:28:17 +00:00
Ian Lance Taylor
c7c8b500b9 * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Treat
-static as a synonym for -bnso.
1995-10-27 01:59:30 +00:00
Ian Lance Taylor
328e5a48e8 * scripttempl/aix.sc: Move special symbols inside sections.
Always start .data at 0.
1995-10-26 18:12:41 +00:00
Per Bothner
8a8965f1c0 * Makefile.in (diststuff): Also make info.
(maintainer-clean realclean):  Also delete *.info*.
1995-10-25 18:51:37 +00:00
Ian Lance Taylor
7d6439d974 * ldmain.c (main): Initialize new field link_info.static_link.
* ldmain.c (add_keepsyms_file): Add \n at end of einfo calls.
	(constructor_callback): Likewise.
	* ldmisc.c (vfinfo): Likewise.
	* ldwrite.c (build_link_order): Likewise.
1995-10-25 15:48:53 +00:00
Ian Lance Taylor
e54bf1c1a4 * ld.texinfo: The MRI ALIGN directive is supported. 1995-10-25 15:28:28 +00:00
Ian Lance Taylor
5e8e7e6680 * ldlex.l: Treat PROVIDE as a keyword in expression state. 1995-10-19 21:42:41 +00:00
Steve Chamberlain
9c284f3f98 * scripttempl/pe.sc (.bss): Move to be after .text 1995-10-19 00:35:37 +00:00
Ian Lance Taylor
5df68a88c4 * emultempl/sunos.em (gld${EMULATION_NAME}_find_exp_assignment):
Search trinary.cond rather than searching trinary.lhs twice.  From
	linli@ihp.PHys.ethz.CH.
1995-10-17 22:38:50 +00:00
Ian Lance Taylor
235c6a672f * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Move
directory searching code into gld${EMULATION_NAME}_search_dir.
	(gld${EMULATION_NAME}_search_dir): New static function, extracted
	from gld${EMULATION_NAME}_find_so.
	(global_needed, global_found): New static variables.
	(gld${EMULATION_NAME}_after_open): New static function.
	(gld${EMULATION_NAME}_search_needed): New static function.
	(gld${EMULATION_NAME}_try_needed): New static function.
	(gld${EMULATION_NAME}_check_needed): New static function.
	(ld_${EMULATION_NAME}_emulation): Use new after_open function.
	* ld.texinfo, ld.1: Mention -rpath-link on SunOS.
1995-10-17 22:36:25 +00:00
Ian Lance Taylor
03165292c0 * Makefile.in (eelf32ppc.c): Depend upon elf32.em, not generic.em.
(eelf32lppc.c): Likewise.
	* emulparams/elf32lppc.sh (TEMPLATE_NAME): Define as elf32.
	(GENERATE_SHLIB_SCRIPT): Define as yes.
1995-10-17 16:23:59 +00:00
Ian Lance Taylor
b5f076d4aa * configure.tgt (powerpc-*-aix*): New target; use aixppc.
(rs6000-*-aix*): New target; use aixrs6.
	* emulparams/aixppc.sh, emulparams/aixrs6.sh: New files.
	* emultempl/aix.em: New file.
	* scripttempl/aix.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add eaixppc.o and eaixrs6.o.
	(eaixppc.c, eaixrs6.c): New targets.
1995-10-16 23:19:04 +00:00
Ian Lance Taylor
091824ebcd * ldlang.c (lang_finish): Don't try to use an entry_symbol from a
section which was not linked into the final output.
PR 8172.
1995-10-10 21:54:24 +00:00
Steve Chamberlain
ef1d2d2ebf * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args): Fix
fatal typos.
1995-10-10 17:21:18 +00:00
Ian Lance Taylor
5caef232bd * ld.h (args_type): Add rpath_link field.
* emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Search for
	required dependencies in rpath_link path.  Only search
	LD_LIBRARY_PATH when configured native.
	* lexsup.c (parse_args): Recognize -rpath-link.
	* ld.1, ld.texinfo: Document -rpath-link.
1995-10-10 05:05:18 +00:00
Ian Lance Taylor
776f259038 * emultempl/elf32.em (gld${EMULATION_NAME}_after_open): Don't
bother searching for needed libraries unless doing a final link.
1995-10-07 21:09:57 +00:00
Ken Raeburn
8016553585 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld/ld.1: Fix formatting bugs.
1995-10-06 20:46:02 +00:00
Ian Lance Taylor
f054ce204a * ldexp.c (exp_get_abs_int): Return bfd_vma, not int.
* ldexp.h (exp_get_abs_int): Update declaration.
	* ldlang.c (print_output_section_statement): Use fprintf_vma to
	print return value of exp_get_abs_int.
PR 8142.
1995-10-04 21:39:29 +00:00
Ian Lance Taylor
8055e7a883 * emultempl/elf32.em (global_stat): New file static variable.
(gld${EMULATION_NAME}_try_needed): Call stat_needed to make sure
	that the file has not already been included under another name.
	(gld${EMULATION_NAME}_stat_needed): New static function.
1995-10-02 17:59:14 +00:00
Ian Lance Taylor
0b0642d6eb * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): If
command_line.rpath is set, use it, rather than the -L options, to
	build the rules section.
	* ld.texinfo: Document this use of -rpath.
1995-09-29 22:37:36 +00:00
Ian Lance Taylor
dd16b6557e * lexsup.c (parse_args): Don't set link_info.shared for -assert
pure-text.  Pass true, not 1, to lang_add_entry.
	* emultempl/sunos.em (find_assign): New static variable.
	(found_assign): New static variable.
	(gld${EMULATION_NAME}_before_allocation): Rename local h to hdyn.
	If not a relocateable link, and no start symbol was specified on
	the command line, and there are any undefined symbols, set
	link_info.shared.  If link_info.shared is set, set the address of
	the .text section to 0x20.
	(gld${EMULATION_NAME}_find_assignment): Rename from
	gld${EMULATION_NAME}_find_statement_assignment.  If find_assign is
	set, then just set found_assign based on whether an assignment is
	found to find_assign.
	(gld${EMULATION_NAME}_get_script): Don't use a special script when
	producing a shared library.
	* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Remove.
	* scripttempl/aout.sc: Remove CREATE_SHLIB tests.
	* ldlang.c (entry_from_cmdline): New global variable.
	(lang_add_entry): Change cmdline parameter from int to boolean.
	Use global entry_from_cmdline rather than function static
	from_cmdline.
	* ldlang.h (entry_from_cmdline): Declare.
	(lang_add_entry): Change declaration of second parameter from int
	to boolean.
	* ldgram.y: Pass false, not 0, to lang_add_entry.
1995-09-29 15:33:29 +00:00
Ian Lance Taylor
630f4ac9c6 * ld.h (parsing_defsym): Declare.
* ldlex.h (lex_string): Declare.
	* ldlex.l (lex_string): Define.
	* lexsup.c (parsing_defsym): Define.
	(parse_args): In OPTION_DEFSYM case, set lex_string before calling
	lex_redirect, and clear it after calling yyparse.  Set
	parsing_defsym around call to yyparse.
	* ldmain.c (main): Set lex_string before calling lex_redirect, and
	clear it after calling yyparse.
	* ldmisc.c (vfinfo): For %S, handle --defsym arguments and built
	in linker scripts correctly.
PR 8092.
1995-09-28 19:18:07 +00:00
Ian Lance Taylor
a69bb1fa31 * scripttempl/sparccoff.sc: Add .ctors/.dtors handling like other
COFF targets, allowing for the leading underscore used on SPARC
	COFF.
PR 8006.
1995-09-28 17:59:51 +00:00
Ian Lance Taylor
5753006bf0 * lexsup.c (parse_args): Handle -assert.
* emulparams/sun4.sh (GENERATE_SHLIB_SCRIPT): Define.
	* emultempl/sunos.em (gld${EMULATION_NAME}_get_script): Use the
	shared library script when appropriate.
	* scripttempl/aout.sc: If CREATE_SHLIB is set, start the .text
	section at SIZEOF_HEADERS.
1995-09-28 16:36:34 +00:00
David Edelsohn
132dd91099 * Makefile.in (earmcoff.c): Build.
* configure.tgt (arm-*-coff): New target
	* emulparms/armcoff.sh: New file.
	* scripttempl/armcoff.sc: New file.
1995-09-28 08:48:02 +00:00
Ian Lance Taylor
ef89823938 * scripttempl/i386coff.sc: Remove .data2; no longer needed. 1995-09-26 18:01:34 +00:00
Ian Lance Taylor
8dd03673bf * ldfile.c (ldfile_set_output_arch): Make arch const. 1995-09-22 22:09:43 +00:00
Michael Meissner
7453a7533f Locate __bss_start at the real start of bss. 1995-09-21 21:57:32 +00:00
Ian Lance Taylor
208bc89e0b Based on patches by Alan Modra <alan@spri.levels.unisa.edu.au>:
* Makefile.in (CC_FOR_TARGET): Remove brokensed stuff.
	(CXX_FOR_TARGET): Likewise.
	(install): Likewise.
	(GENERATED_HFILES): Remove config.h.
	(.dep): Depend upon config.h.
1995-09-18 18:57:59 +00:00
Ian Lance Taylor
08879cdec8 Mon Sep 18 14:39:38 1995 Arne H. Juul <arnej@pvv.unit.no>
* configure.tgt (mips*-dec-netbsd*): New target.
1995-09-18 18:42:00 +00:00
Ken Raeburn
db8beef4ea configure.host: fix shell syntax errors 1995-09-16 00:05:19 +00:00
Ian Lance Taylor
4977f3b47e * Makefile.in (maintainer-clean): New target. 1995-09-12 22:23:17 +00:00
Ian Lance Taylor
cf7f2f7151 * ldmain.c (struct warning_callback_info): Define.
(warning_callback): Add new parameter symbol.  Call
	warning_find_reloc to try to find the section and VMA.
	(warning_find_reloc): New static function.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Pass NULL as symbol parameter to warning callback.
1995-09-12 20:34:49 +00:00
Steve Chamberlain
20a753dfd5 Thu Sep 7 12:50:49 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttemp/pe.sc:  Allow both spellings of .ctors/.dtors.
	Start .text section on the right boundary. Always align
	stabs.
1995-09-12 19:46:03 +00:00
Ian Lance Taylor
cca520b580 * ld.texinfo: Clarify -L option. 1995-09-12 19:01:48 +00:00
Ian Lance Taylor
b75d0928b1 * ldlang.c (lang_one_common): Add cast to avoid warning.
(topower): Likewise.  Also, reindent.
	* ldwrite.c (clone_section): Change i to unsigned int.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Add
	cast to avoid warning.
1995-09-12 16:25:51 +00:00
Ian Lance Taylor
57aa2887e8 Revert Linux directory searching: it turns out that Linux no longer
uses it.
1995-09-11 15:04:49 +00:00
Ian Lance Taylor
ed753c2049 Add Linux style directory searching.
* configure.tgt: Add i386lelf to targ_extra_emuls for
	i[345]86-*-linuxaout* and i[345]86-*-linuxoldld.  For
	i[345]86-*-linux*, set targ_emul to i386lelf, and add elf_i386 to
	targ_extra_emuls.
	* emulparams/i386lelf.sh: New file, a copy of elf_i386.sh.
	* emultempl/elf32.em: If TARGET_IS_i386lelf, use autoconf
	recommended mechanism to define DIR and struct dirent.
	(libcmp): New static function use only when TARGET_IS_i386lelf.
	(gld${EMULATION_NAME}_open_dynamic_archive): Likewise.
	* Makefile.in (ALL_EMULATIONS): Add ei386lelf.o
	(ei386lelf.c): New target.
1995-09-08 23:37:45 +00:00
Ian Lance Taylor
62b4ac8bc6 * ldemul.h (ldemul_set_symbols): Declare.
(ldemul_parse_args): Declare.
	* ldemul.c (ldemul_parse_args): Fix indentation.
1995-09-08 21:28:17 +00:00
Ian Lance Taylor
b8345a37ac * configure.in: Call AC_HEADER_DIRENT.
* configure, config.in: Rebuild.
	* emultempl/sunos.em: Use autoconf recommend mechanism to define
	DIR and struct dirent.
1995-09-08 21:11:40 +00:00
Ian Lance Taylor
d62ef165e3 * configure.tgt (mips*-*-bsd*): New case. 1995-09-08 20:46:44 +00:00
Ian Lance Taylor
673f5b9f2c * configure.host (i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
New case.
	* configure.tgt (i[345]86-*-ptx*): New case.
1995-09-08 20:34:05 +00:00
Ian Lance Taylor
ef346f1a7f * config.in: Rename from config.h.in.
* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
	Check for config.h:config.in when creating stamp-h.
	* configure: Rebuild.
	* Makefile.in (stamp-h): Depend upon config.in rather than
	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
	calling config.status.
1995-09-07 17:20:53 +00:00
Ian Lance Taylor
f40d9bc267 * Makefile.in (distclean): Remove config.h and stamp-h. 1995-09-07 16:53:02 +00:00
Ian Lance Taylor
36ea6198a7 * configure.host (sparc-*-sunos64*): Remove.
* ldlang.c (lang_map): Check BFD64, not HOST_64_BIT.
1995-09-07 14:52:12 +00:00
Ian Lance Taylor
9d32554321 * ldexp.c (exp_fold_tree): Don't warn about moving the location
counter backward in the absolute section.
PR 7942.
1995-09-07 14:49:31 +00:00
Ken Raeburn
af0786b401 some ns32k updates from Ian Dall 1995-09-05 19:04:22 +00:00
Ian Lance Taylor
f6feefe448 * ldmain.c (warning_callback): Add abfd, section, and address
parameters.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
	Change call to warning accordingly.

	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): If not
	relocateable and not shared, put .gnu.warning.SYMBOL sections into
	the .text section.
1995-09-01 18:06:53 +00:00
Jackie Smith Cashion
751b7dcc00 NEC VR4300 target (IDT SIM monitor) support.
Fri Sep  1 08:35:16 1995  James G. Smith  <jsmith@beauty.cygnus.com>

        * configure.in: Added mips*vr4300-idt-elf* and
        mips*vr4300el-idt-elf* targets.
        * Makefile.in: Added eelf32vr4300* targets.
        * emulparams/{elf32vr4300.sh, elf32vr4300el.sh}: Added.
        * config/{mips-vr4300.mt, mips-vr4300el.mt}: Added.
1995-09-01 15:38:07 +00:00
Ian Lance Taylor
4dd284fab7 * scripttempl/a29k.sc: Fix to be reasonable. From Brendan Kehoe
<brendan@cygnus.com>.
1995-09-01 14:54:01 +00:00
Steve Chamberlain
5f8ac7e7f6 Thu Aug 31 16:37:07 1995 steve chamberlain <sac@slash.cygnus.com>
* ldemul.c (ldemul_parse_args): New.
	* ldemul.h (ld_emulation_xfer_struct): Add parse_args.
	* lexsup.c (all pe stuff): Moved into pe.em
	(parse_args): Call emulation arg parser.
	* emultempl/pe.em (parse_args): handle PE specfic args.
1995-08-31 23:42:53 +00:00
Ian Lance Taylor
0b4fc03b37 * ldlang.c (lang_memory_region_lookup): Don't use the first region
as the default region.  Create a new region instead.
1995-08-31 21:02:39 +00:00
Steve Chamberlain
6fd48357ec Tue Aug 22 07:36:58 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttempl/pe.sc: Keep .edata, don't base stabs at 0.
	* emulparams/armpe.sh: Run PE script.
1995-08-22 14:38:01 +00:00
Steve Chamberlain
011d93b38d Mon Aug 21 18:30:42 1995 steve chamberlain <sac@slash.cygnus.com>
* ldmain.c (main): Remove PE stuff.
	* lexsup.c (options): Load more PE options.
	(set_pe_value): New function.
1995-08-22 01:54:56 +00:00
Steve Chamberlain
eb7f87c5c8 Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/{armpe.sc, i386pe.sc}: Deleted.
	* emultempl/pe.sc: New file performs generic PE support and sorts
	archive members.
	* emulparams/{armpe.sh,i386pe.sh}: Use new file.
	* scripttempl/{armpe.sc, i386pe.sc}: Deleted
	* scripttempl/pe.sc: New.
	* Makefile.in: Use new files.
b
1995-08-17 22:53:56 +00:00
David Edelsohn
ed67cfa226 * scripttempl/h8500s.sc (.rdata): All data must go in data segment.
(.strings,.ctors,.dtors): Likewise.
1995-08-17 21:49:40 +00:00
Steve Chamberlain
22cd79c599 Wed Aug 16 11:38:59 1995 steve chamberlain <sac@slash.cygnus.com>
* scripttempl/armpe.sc: Always start code at 0x401000, even
	if -r.
	* ldwrite.c (strdup): New extern declaration.
	* ldgram.y (atype): New rule to clarify type parsing.
	* ldlang.c (init_os): Remove commented out code.
	(lang_size_sections): Set SEC_ALLOC and SEC_LOAD bits
	unless told not to by the link script.
1995-08-16 20:34:44 +00:00
Ian Lance Taylor
1d169acc61 * ldlang.c (lang_set_startof): New static function.
(lang_process): Call it.
1995-08-16 17:18:59 +00:00
Ian Lance Taylor
9b22219054 * ldgram.y: Tweak casesymlist to avoid bison errors. 1995-08-16 16:26:57 +00:00
Ian Lance Taylor
80fd1f4584 * lexsup.c (parse_args): Accept -h as a synonym for --soname, for
Solaris compatibility.
1995-08-16 15:50:27 +00:00
Ian Lance Taylor
3a47309642 * ldgram.y (YYDEBUG): If not defined, define as 1.
(CASE, EXTERN, START): New tokens.
	(mri_script_command): Handle CASE, EXTERN, INCLUDE, START.
	(casesymlist): New nonterminal.
	(extern_name_list): New nonterminal.
	* ldlex.l: Accept lower case trailing base specifiers.  Don't
	ignore the first digit when the base is a suffix.  Accept many
	EXPRESSION state tokens in MRI state.  Support MRI continuation
	lines and MRI semicolon comments.  Accept all MRI keywords in
	lower case.  Add CASE, EXTERN, and START MRI keywords.
1995-08-15 21:35:46 +00:00
Ken Raeburn
52a55937a2 * emultempl/sunos.em (gld${EMULATION_NAME}_find_so): Use xmalloc instead of
alloca.
1995-08-08 23:31:28 +00:00
J.T. Conklin
65d22248e9 * Makefile.in (CC_FOR_TARGET, CXX_FOR_TARGET): Don't use
$r/../gcc/xgcc unless it is present.
1995-08-08 22:25:36 +00:00
Ken Raeburn
cc298fb97a treat linuxoldld like linuxaout* 1995-07-28 01:43:15 +00:00
Ian Lance Taylor
59a0866d8c * ldlang.c (lang_process): Call reset_memory_regions for each
relaxation pass.
1995-07-24 19:25:32 +00:00
Ken Raeburn
d2c66084be ldmain.c (constructor_callback): Allocate set_name in stack frame, rather than
always calling alloca with a fixed size.
1995-07-20 20:35:03 +00:00
David Edelsohn
45bc71881e * emulparams/armpe.sh (OUTPUT_FORMAT): Change to pei-arm-little.
(LITTLE_OUTPUT_FORMAT, BIG_OUTPUT_FORMAT): Define.
1995-07-19 23:23:31 +00:00
Ian Lance Taylor
242eee7a0b * ldwrite.c (split_sections): Don't split the first input section
into a new output section.
1995-07-17 17:59:27 +00:00
Michael Meissner
c7950dcc68 Use elf config file. 1995-07-15 04:35:17 +00:00
Ian Lance Taylor
63e1380d57 * emultempl/mipsecoff.em (check_sections): Use %P, not %F. 1995-07-14 20:11:43 +00:00
Ian Lance Taylor
8a0683c1fa * ldver.c (help): Update list of options to match currently
supported list.
1995-07-14 16:12:26 +00:00
Ian Lance Taylor
047e0fcd8e * ldexp.c (exp_intop): Don't cast stat_alloc arg to bfd_size_type;
it takes a size_t anyhow.
	(exp_binop): Likewise.
	(exp_trinop): Likewise.
	(exp_unop): Likewise.
	(exp_nameop): Likewise.
	(exp_assop): Likewise.
	* ldlang.c (lang_memory_region_lookup): Likewise.
	(init_os): Likewise.
	(ldlang_add_undef): Likewise.
	(insert_pad): Likewise.
	* ldfile.c (ldfile_add_arch): Don't cast xmalloc arg to
	bfd_size_type.
1995-07-13 17:57:53 +00:00
Ian Lance Taylor
395ccfce21 * ldemul.h (ldemul_open_dynamic_archive): Add search parameter to
declaration.
	(ld_emulation_xfer_type): Add search parameter to
	open_dynamic_archive entry point.
	* ldemul.c (ldemul_open_dynamic_archive): Add search parameter.
	* ldfile.c (ldfile_try_open_bfd): Rename from try_open_bfd, and
	make non-static.  Change all callers to use new name.
	(ldfile_open_file_search): Make static.  If entry is dynamic, call
	ldemul_open_dynamic_archive.
	(ldfile_open_file): Don't call ldemul_open_dynamic_archive.
	* ldfile.h (ldfile_open_file_search): Don't declare.
	(ldfile_try_open_bfd): Declare.
	* emultempl/elf32.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Accept search parameter.  Don't search for a library, just look in
	a single place.
	* emultempl/linux.em (gld${EMULATION_NAME}_open_dynamic_archive):
	Likewise.
1995-07-12 15:37:12 +00:00
Ian Lance Taylor
917199fe29 * ldmisc.c (vfinfo): Don't print the line number if it isn't
meaningful.
1995-07-11 16:30:02 +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
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
Michael Meissner
d513119138 Add .fixup section 1995-06-22 19:08:18 +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
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
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
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
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
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
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
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
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