Commit graph

1588 commits

Author SHA1 Message Date
Ian Lance Taylor
3b1e54df46 * lib/ld.exp (default_ld_version): Fix for current version
printing.
1996-10-01 19:53:02 +00:00
Ian Lance Taylor
9cfdc91a9a * ldver.c (ld_program_version): New variable.
(ldversion): Use it.
	* ldver.h (ld_program_version): Declare.
	* lexsup.c (ld_options): Handle --dll-verbose like --verbose, not
	--version.  Change --version handling to match current GNU
	standards.
	(help): Print bug report address.
1996-10-01 19:53:01 +00:00
David Edelsohn
b02d4da4fe m32r support 1996-09-30 19:18:04 +00:00
David Edelsohn
79e9dc2010 * Makefile.in (em32relf.c): Add rule for.
* configure.tgt (m32r-*-*): Recognize.
	* emulparams/m32relf.sh: New file.
1996-09-30 19:16:26 +00:00
Stan Shebs
f7fa777d22 always keep pregenerated emulation file 1996-09-26 21:09:59 +00:00
Stan Shebs
0b2aef4d0e * mpw-make.sed: Add symbolic doublequoting to ldmain compile edit.
* mpw-config.in: Add mips-*-* case as mips-elf, and use more
	wildcards in matching.
	* mpw-emipself.c: New file, pregenerated mips elf emulation.
1996-09-26 21:09:23 +00:00
Ian Lance Taylor
4dfa884891 * configure.tgt: Add cases for MIPS 5000 like MIPS 4300. 1996-09-17 16:19:44 +00:00
Ian Lance Taylor
190de8a7a6 * scripttempl/armcoff.sc: Only define symbols if RELOCATING. Fix
syntax error on __end__ line.
1996-09-16 22:12:46 +00:00
Ian Lance Taylor
df6b92ed1b * scripttempl/armcoff.sc: For -N or -n, don't align .data. From
Chris Hadley <Christopher.Hadley@cl.cam.ac.uk>
1996-09-16 21:56:33 +00:00
Jeff Law
9d879ade50 * emulparms/v850.sh: Fix OTHER_RELOCATING_SECTIONS.
Something Mark noticed.
1996-09-16 04:09:17 +00:00
Mark Alexander
3e92569690 * emulparms/d10v.sh: Set OTHER_RELOCATING_SECTIONS to put
stack at top of simulator memory.
1996-09-15 17:41:13 +00:00
Ian Lance Taylor
deb2a14592 * ldlex.l (SYMBOLCHARN): Add $, _, and ~. 1996-09-13 19:50:50 +00:00
Ian Lance Taylor
8ae650ea07 * ldmain.c (get_emulation): Check for -mips4 like -mips1, et. al. 1996-09-12 03:34:28 +00:00
Ian Lance Taylor
ee0523d5c3 * ldlang.c (section_already_linked): Accept a lang_input_statement
as the PTR argument.  If the file is symbols only, discard all
	input sections.
	(ldlang_add_file): Pass entry to bfd_map_over_sections.
PR 10555.
1996-09-05 19:26:12 +00:00
Ian Lance Taylor
31cadbf45f * configure.tgt (alpha-*-gnu*): New target. From Fila Kolodny
<fila@ibi.com>.
1996-09-04 19:54:48 +00:00
Jeff Law
7ab4a84a3a * emulparms/v850.sh: Entry symbol is "_start", tweak
ctor/dtor support.
1996-08-31 04:31:18 +00:00
Ian Lance Taylor
efd48a6a97 * configure.tgt (sh-*-elf*): New target.
* emulparams/shelf.sh: New file.
	* emulparams/shlelf.sh: New file.
	* Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
	(eshelf.c, eshlelf.c): New targets.
	* scripttempl/elf.sc: If EMBEDDED is defined, then don't add
	SIZEOF_HEADERS to TEXT_START_ADDR.  Expand CTOR_START and CTOR_END
	around .ctors, and DTOR_START and DTOR_END around .dtors.  Expand
	OTHER_RELOCATING_SECTIONS if RELOCATING.
1996-08-30 22:36:45 +00:00
Ian Lance Taylor
2175d72592 remove extra incorrect check for sanitization 1996-08-26 17:34:46 +00:00
Ian Lance Taylor
4c6856fac4 * ldver.c (ldversion): Print GNU ld in the version message. 1996-08-26 17:02:00 +00:00
Jeff Law
04c17a7559 * Makefile.in (ev850.c): New target.
* configure.tgt (v850-*-*): New target.
        * emulparams/v850.sh: New file.
No, it doesn't work (gas doesn't even emit relocs yet), but having
a "ld" that at least creates an executable image greatly helps the
gcc testsuite.
1996-08-22 22:32:21 +00:00
Stan Shebs
8293952724 * mpw-make.sed: Add @DASH_C_FLAG@ to compiler edit. 1996-08-22 18:18:19 +00:00
Ian Lance Taylor
8387e11432 tweak last patch 1996-08-21 20:10:54 +00:00
Ian Lance Taylor
18f0961ed9 * scripttempl/elf.sc: Put .gnu.linkonce* sections in .text. 1996-08-21 18:27:28 +00:00
Ian Lance Taylor
8b5b6ebd1f * fnmatch.c: Include sysdep.h. 1996-08-19 20:02:42 +00:00
Michael Meissner
9099ec8fb4 Undo 8/16 change; explictly set MACHINE= for d10v 1996-08-19 15:31:29 +00:00
Jackie Smith Cashion
61e3ce7432 Fri Aug 16 14:15:41 1996 James G. Smith <jsmith@cygnus.co.uk>
* scripttempl/armcoff.sc (__bss_start__, __bss_end__,
 	__data_start__, __data_end__): Added to keep in sync. with the
 	default ARM crt0.s. Added __CTOR_LIST__ and __DTOR_LIST__ support.
1996-08-16 13:19:45 +00:00
Ian Lance Taylor
2d69131dab * lib/ld.exp: Use verbose -log instead of calling both verbose and
send_log.
1996-08-08 18:29:59 +00:00
Ian Lance Taylor
9c3f0306ac * ld-scripts/phdrs.exp: New test.
* ld-scripts/phdrs.s, ld-scripts/phdrs.t: New files.
1996-08-07 22:20:39 +00:00
Ian Lance Taylor
2792727822 Wed Aug 7 14:40:48 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* configure.in: Call BFD_NEED_DECLARATION on strstr and sbrk.
	* acconfig.h (NEED_DECLARATION_STRSTR): New macro.
	(NEED_DECLARATION_SBRK): New macro.
	* configure, config.in: Rebuild.
	* sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
	* ldmain.c (sbrk): Declare if HAVE_SBRK and
	NEED_DECLARATION_SBRK.
1996-08-07 18:43:48 +00:00
Ian Lance Taylor
d22ec3b090 * ldlex.l: Recognize OVERLAY.
* ldgram.y: Add section_phdr field to %union.
	(section): Handle phdr_opt result.  Add OVERLAY case.
	(opt_exp_without_type): New nonterminal.
	(phdr_opt): Return list of phdrs.
	(overlay_section): New nonterminal.
	* ldlang.c: Include <ctype.h>.
	(lang_leave_output_section_statement): Add phdrs parameter.
	Change all callers.
	(lang_section_in_phdr): Remove.
	(overlay_vma, overlay_lmn, overlay_max): New static variables.
	(struct overlay_list): Define.
	(overlay_list): New static variable.
	(lang_enter_overlay, lang_enter_overlay_section): New functions.
	(lang_leave_overlay_section, lang_leave_overlay): New functions.
	* ldlang.h (lang_leave_output_section_statement): Update
	declaration for new parameter.
	(lang_section_in_phdr): Don't declare.
	(lang_enter_overlay, lang_enter_overlay_section): Declare.
	(lang_leave_overlay_section, lang_leave_overlay): Declare.
	* ld.texinfo (Overlays): New node under SECTIONS, documenting
	overlays.

	* ldlex.l: Recognize MAX and MIN.
	* ldgram.y (MAX, MIN): New terminals.
	(exp): Recognize MAX and MIN.
	* ldexp.c (fold_binary): Handle MAX and MIN.
	* ld.texinfo (Arithmetic Functions): Document MAX and MIN.

	* ld.texinfo (PHDRS): Use @cindex, not @kindex, for program header
	index entries.

	* ldgram.y (SIZEOF, ADDR): Do not specify type.
1996-08-05 20:37:52 +00:00
Ian Lance Taylor
6bb21dd356 * ldcref.c (check_nocrossref): Skip symbols with no output
sections.
1996-08-05 20:28:39 +00:00
Ian Lance Taylor
52247dfd7f * ld-scripts/crossref.exp: On a29k targets, use --defsym to define
V_SPILL and V_FILL.
1996-08-05 02:29:34 +00:00
Ian Lance Taylor
5735ac9e57 * ldgram.y (LOADADDR): New terminal.
(exp): Handle LOADADDR.
	* ldlex.l: Recognize LOADADDR.
	* ldexp.c (exp_print_token): Add LOADADDR.
	(fold_name): Implement LOADADDR.
	* ldlang.c (exp_init_os): Treat LOADADDR like ADDR.
	* ld.texinfo (Arithmetic Functions): Document LOADADDR.
1996-08-02 19:01:58 +00:00
Ian Lance Taylor
c1ebd1ce17 rework crossref test 1996-08-01 18:33:47 +00:00
Ian Lance Taylor
bc4c9b927b * ld-scripts/crossref.exp: New test.
* ld-scripts/cross1.c, ld-scripts/cross2.c: New files.
	* ld-scripts/crossref.t: New file.
1996-08-01 18:12:22 +00:00
Ian Lance Taylor
582dd77f65 * ld.h (check_nocrossrefs): Declare.
* ldlang.h (struct lang_nocrossref): Define.
	(struct lang_nocrossrefs): Define.
	(nocrossref_list): Declare.
	(lang_add_nocrossref): Declare.
	* ldlex.l: Recognize NOCROSSREFS keyword.
	* ldgram.y (%union): Add nocrossref field.
	(NOCROSSREFS): New terminal.
	(ifile_p1): Recognize NOCROSSREFS.
	(nocrossref_list): New nonterminal.
	* ldlang.c (nocrossref_list): Define.
	(lang_add_nocrossref): New function.
	* ldmain.c (main): If nocrossref_list is not NULL, call
	check_nocrossrefs.
	(warning_callback): Free symbols if there is no place to store
	them.
	(notice): Call add_cref if nocrossref_list is not NULL.
	* ldcref.c: Include "ldexp.h" and "ldlang.h".
	(check_nocrossrefs): New function.
	(check_nocrossref): New static function.
	(struct check_refs_info): Define.
	(check_refs, check_reloc_refs): New static functions.
	* Makefile.in: Rebuild dependencies.
	* ld.texinfo (Option Commands): Document NOCROSSREFS.
1996-08-01 17:35:49 +00:00
Ian Lance Taylor
c2ba368448 * ld.texinfo (Section Placement): Improve the wording of the
wildcard documentation.  Mention that wildcards are only searched
	for on the command line, not in the file system.
1996-08-01 17:10:52 +00:00
Ian Lance Taylor
b947ed2d06 * emultempl/sunos.em (gld${EMULATION_NAME}_after_open): Move
definition of lib_path inside condition where it is used.
1996-08-01 17:00:24 +00:00
Martin Hunt
ed4820d72b Wed Jul 31 13:17:10 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* emulparams/d10velf.sh: Now works with elf.sc.
1996-07-31 20:19:08 +00:00
Martin Hunt
212ac7897b Wed Jul 31 11:52:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* d10velf.sh (SCRIPT_NAME): Change to vanilla.
1996-07-31 18:53:46 +00:00
Martin Hunt
364ffcf523 Wed Jul 31 11:52:03 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* emulparams/d10velf.sh (SCRIPT_NAME): Change to vanilla.
1996-07-31 18:53:31 +00:00
Ian Lance Taylor
72df7117d7 * ldlang.c (lang_size_sections): Add the section VMA to the result
value when computing the address of a section.
1996-07-30 22:56:46 +00:00
Ian Lance Taylor
2ed9fe477a update copyright 1996-07-30 20:05:42 +00:00
Ian Lance Taylor
cd09553a9b * ld.h (args_type): Add cref field.
* lexsup.c (parse_args): Set command_line.cref.
	* ldmain.c (main): Check command_line.cref rather than
	link_info.notice_all.
	(notice): Likewise.
1996-07-30 18:49:54 +00:00
Ian Lance Taylor
2c310d1af6 * ldcref.c (output_one_cref): Don't crash if a symbol is defined
in a section without an owner.
1996-07-30 18:48:25 +00:00
Ian Lance Taylor
86bc0974cb * fnmatch.h, fnmatch.c: New files.
* ldlex.l: Remove unused definition of FILENAME.  Add definition
	of WILDCHAR.  In SCRIPT mode, accept any sequence of WILDCHAR as a
	NAME.
	* ldgram.y (file_NAME_list): Accept '*' and '?' specially.
	(input_section_spec): Accept '?' specially.
	(statement): Change exp to mustbe_exp in length and FILL cases.
	(section): Call ldlex_script before section statements, and call
	ldlex_popstate after them.
	* ldlang.c: Include "fnmatch.h".
	(wildcardp): New static function.
	(wild_section): Permit the section name to be a wildcard.
	(wild_file): New static function, broken out of wild.
	(wild): Call wild_file.  Permit the file name to be a wildcard.
	(open_input_bfds): Don't call lookup_name for a wildcard pattern.
	* Makefile.in: Rebuild dependencies.
 	(CFILES): Add fnmatch.c.
	(HFILES): Add fnmatch.h.
	(OFILES): Add fnmatch.o.
	* ld.texinfo: Document that file and section names can now be
	wildcard patterns.

	* ldlang.c (lang_place_orphans): Correct condition: place a common
	section if not relocateable or if common definitions are forced.
1996-07-29 21:33:26 +00:00
Martin Hunt
30ba912ccf start-sanitize-d10v
Wed Jul 24 12:16:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
        * d10velf.sh (SCRIPT_NAME): Change to elf.
end-sanitize-d10v
1996-07-24 19:19:26 +00:00
Martin Hunt
ebaf63702d start-sanitize-d10v
Wed Jul 24 12:16:38 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
        * emulparams/d10velf.sh (SCRIPT_NAME): Change to elf.
end-sanitize-d10v
1996-07-24 19:19:09 +00:00
Michael Meissner
c5b8962080 Allow plain d10v as a target 1996-07-24 17:48:31 +00:00
Martin Hunt
bc8ea3f7ce start-sanitize-d10v
Tue Jul 23 10:36:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* emulparams/d10velf.sh: New file.

end-sanitize-d10v
1996-07-23 18:11:24 +00:00
Martin Hunt
683b242643 start-sanitize-d10v
Tue Jul 23 10:36:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* emulparams/d10velf.sh: New file.

end-sanitize-d10v
1996-07-23 18:01:42 +00:00
Martin Hunt
e9525d9673 start-sanitize-d10v
Tue Jul 23 10:36:19 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>

	* Makefile.in (ed10velf.c): New target.
	* configure.tgt (d10v-*-elf*): New target.
	* emulparams/d10velf.sh: New file.

end-sanitize-d10v
1996-07-23 18:00:39 +00:00
Ian Lance Taylor
73a66e7ade * configure.tgt (sparc*-*-sysv4*): New target. From Andrew Gierth
<ANDREWG@microlise.co.uk>.
1996-07-18 21:40:06 +00:00
Ian Lance Taylor
71cd1bb6ee * configure.host: Change irix5 to irix[56]*.
* configure.tgt: Likewise.
1996-07-18 20:35:34 +00:00
Kim Knuttila
2154656e3d Pay attention to return code 1996-07-18 00:04:58 +00:00
Kim Knuttila
611a763fe5 Strip prefix '.'s from name 1996-07-17 17:55:38 +00:00
Ian Lance Taylor
888b0b2fa0 Mon Jul 15 11:49:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Round
 	the value of __start_SECNAME to the alignment required by the
 	section to be placed.
1996-07-15 15:58:00 +00:00
Ian Lance Taylor
719de0ea8c * configure.tgt (mips*el-*-elf*): Use elf32elmip.
(mips*-*-elf*): Use elf32ebmip.
	* emulparams/elf32bmip.sh (EMBEDDED): Don't define.
	* emulparams/elf32lmip.sh (EMBEDDED): Don't define.
	* emulparams/elf32elmip.sh: New file; copy of elf32lmip.sh with
	EMBEDDED defined.
	* emulparams/elf32ebmip.sh: New file; copy of elf32bmip.sh with
	EMBEDDED defined.
	* emulparams/elf32b4300.sh (EMBEDDED): Define.
	* emulparams/elf32l4300.sh (EMBEDDED): Define.
	* Makefile.in (ALL_EMULATIONS): Add eelf32ebmip.o eelf32elmip.o.
	(eelf32ebmip.c, eelf32elmip.c): New targets.
Irix 5 is not an embedded system.
1996-07-09 16:13:56 +00:00
Jeff Law
cce8528df9 No longer sanitize away h8s stuff. 1996-07-05 18:54:28 +00:00
Ian Lance Taylor
e44c2b1c06 * ldver.c (ldversion): Set version to cygnus-2.7.1. 1996-07-04 19:40:37 +00:00
Ian Lance Taylor
1ab4cd57ed * emulparams/pc532macha.sh: Rename from pc532machaout.sh to avoid
System V file name limitations.
	* configure.tgt (nc32k-pc532-mach*, ns32k-pc532-ux*): Use
	pc532macha rather than pc532machaout.
	* Makefile.in (ALL_EMULATIONS): Change epc532machaout.o to
	epc532macha.o.
	(epc532macha.c): Rename target from epc532machaout.c.
1996-07-04 18:50:13 +00:00
Ian Lance Taylor
45c85bcb34 x 1996-07-04 16:03:09 +00:00
Ian Lance Taylor
4702444f69 * ldlang.c (print_padding_statement): Use %u, not %x, to print
fill value.
1996-07-03 15:46:26 +00:00
Stan Shebs
bfac208d92 * mpw-eppcmac.c: Update to reflect May 23 change to aix.em. 1996-06-30 18:19:34 +00:00
Ian Lance Taylor
2ea93eb9d8 * configure.host: Use -print-file-name=FILE rather than piping
-print-libgcc-file-name through sed.
	(i[345]86*-*-sco*, i[345]86-*-isc*): Create crtbegin.o and
	crtend.o files, in case gcc doesn't use them.
	* Makefile.in (mostlyclean): Remove crtbegin.o and crtend.o.
1996-06-27 18:07:47 +00:00
Ian Lance Taylor
90c1d8f7e4 * configure.tgt (mips*-dec-osf*): New target. 1996-06-26 19:58:40 +00:00
Jason Molenda
f14a5192ce * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir,
INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values.
        (docdir): Removed.
        * configure.in (AC_PREREQ): autoconf 2.5 or higher.
        (AC_PROG_INSTALL): Added.
        * configure: Rebuilt.
1996-06-25 13:23:22 +00:00
Michael Meissner
edcfb9db65 Do not do PROVIDE of _GLOBAL_OFFSET_TABLE_ 1996-06-24 22:57:16 +00:00
Ian Lance Taylor
d7b5386f2b Mon Jun 24 17:55:31 1996 Jouke Numan <jnuman@bazis.nl>
* ldlang.h (enum section_type): Define.
	(lang_output_section_statement_type): Remove loadable field.  Add
	sectype field.
	(lang_enter_output_section_statement): Change flags parameter in
	prototype to sectype.
	* ldgram.y (typebits): Remove.
	(sectype): New static variable.
	(opt_at): Use sectype rather than typebits.
	(type): Set sectype rather than typebits.
	(atype): Likewise.
	* ldlex.l: Recognize DSECT, COPY, INFO, and OVERLAY in
	EXPRESSION mode.
	* ldlang.c (lang_output_section_statement_lookup): Set sectype
	field rather than loadable field.
	(wild_doit): Check sectype rather than loadable.
	(lang_record_phdrs): Likewise.
	(lang_enter_output_section_statement): Rename flags parameter to
	sectype.  Set sectype field rather than loadable field.  Set flags
	field based on sectype.
1996-06-24 22:01:01 +00:00
Ian Lance Taylor
8530ae8eed * configure.in: On alpha*-*-osf*, link against libbfd.a if not
using shared libraries.
	* configure: Rebuild with autoconf 2.10.
1996-06-24 16:04:19 +00:00
Ian Lance Taylor
817ef33811 Fri Jun 21 17:40:56 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
* configure.tgt: Add support for *-*-rtems* configurations.
1996-06-21 22:12:01 +00:00
Ian Lance Taylor
539ae61d9c Fri Jun 21 13:05:51 1996 Richard Henderson <rth@tamu.edu>
* configure.tgt (alpha-*-linuxecoff*): New target.
	(alpha-*-linux*): Use elf64alpha.
	* emulparams/elf64alpha.sh: New file.
	* emultempl/elf32.em: If ELFSIZE is not set, set it to 32.  Use
	${ELFSIZE} rather than 32 when calling BFD routines.
	(hold_rodata): New static variable.
	(gld${EMULATION_NAME}_place_orphan): Use hold_rodata for a
	readonly section that is not code.
	(gld${EMULATION_NAME}_place_section): Set hold_rodata.  Don't use
	a .rel section unless its bfd_section field is not NULL.
	* Makefile.in (ALL_EMULATIONS): Add eelf64alpha.o.
	(eelf64alpha.c): New target.
1996-06-21 17:10:14 +00:00
Ian Lance Taylor
a475297cf1 * ldmisc.c (vfinfo): Correct handling of 0 in %W case. 1996-06-21 16:46:10 +00:00
Ian Lance Taylor
55745b34b0 Add enough support to understand the gcc svr3.ifile script:
* ldlex.l: Recognize BLOCK and GROUP in EXPRESSION context.  Add
	BIND keyword.
	* ldgram.y: Add BIND token.
	(section): Recognize GROUP.
	(opt_ext_with_type): Recognize a couple of cases of BIND.
	* ldlang.c (init_os): Don't do anything if section is already
	initialized.  Call exp_init_os on addr_tree field.
	(exp_init_os): New static function.
	(map_input_to_output_sections): Call exp_init_os on assignment
	expression.
	(lang_place_orphans): Check for common sections by name COMMON
	rather than by common_section field.  Don't warn about absence of
	[COMMON] command.
1996-06-20 18:23:24 +00:00
Jeff Law
71415be57c * scripttempl/h8300s.sc: New file for H8/S.
* emulpararms/h8300s.sh: New file for H8/S.
        * Makefile.in (ALL_EMULATIONS): Add H8/S.
        (e_h8300s.c): Add dependencies.
        * configure.tgt: Add H8/S to targ_extra_emuls.
H8/S linker stuff.  Sanitized until status of this code is known.
1996-06-18 22:55:30 +00:00
Ian Lance Taylor
2e71dfc02c * configure.tgt (i[345]86*-*-isc*): New target. From
<uddeborg@carmen.se>.
1996-06-18 21:58:52 +00:00
Jim Wilson
f98286385f Kill r16/rce/acp stuff. 1996-06-08 03:52:13 +00:00
Jim Wilson
ed381b6719 Kill r16/rce/acp stuff. 1996-06-08 03:18:15 +00:00
Ian Lance Taylor
b72b1a0c52 * emultempl/sunos.em: Include libiberty.h.
(gld${EMULATION_NAME}_set_symbols): New static function to add
	LD_LIBRARY_PATH to the list of search directories.
	(ld_${EMULATION_NAME}_emulation): Add new set_symbols routine.
1996-06-07 15:29:36 +00:00
Ian Lance Taylor
1760b4aeab * emulparams/elf32bmip.sh (OTHER_GOT_SYMBOLS): Use ALIGN(16)
rather than . when computing _gp value.  From Per Fogelstrom.
	* emulparams/elf32lmip.sh (OTHER_GOT_SYMBOLS): Likewise.
1996-06-06 16:23:04 +00:00
Ian Lance Taylor
39e6bc339f * ldmain.c (main): Don't close and unlink the file on error, since
remove_output will do it anyhow.
	* ldlang.c (open_output): Set boolean variable to true, not 1.
1996-06-06 16:07:23 +00:00
Ian Lance Taylor
07acd23b77 * ldcref.c: New file.
* ld.h (add_cref, output_cref): Declare.
	* ldmain.c (main): Initialize notice_all field.  If it is set at
	end of link, call output_cref.
	(notice): Rename from notice_ysym.  Check notice_all.
	* ldmisc.c (finfo): Make globally visible.
	* ldmisc.h (finfo): Declare.
	* lexsup.c (OPTION_CREF): Define.
	(ld_options): Add "cref".
	(parse_args): Handle OPTION_CREF.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add ldcref.c.
	(OFILES): Add ldcref.o.
	* ld.texinfo, ld.1: Document --cref.
1996-06-04 23:37:13 +00:00
Tom Tromey
2c7aeec634 * Makefile.in (install): Don't check to see if tooldir exists.
Make $(tooldir) and $(tooldir)/bin.
1996-06-04 22:16:01 +00:00
Ian Lance Taylor
e5ca07bfae * emultempl/pe.em (sort_sections): Don't assume that a
wild_statement has a section name.
1996-05-31 16:43:12 +00:00
Ian Lance Taylor
90557a6aea * scripttempl/elfmips.sc: Quote test -z argument. 1996-05-29 20:10:22 +00:00
Ian Lance Taylor
a1d393cfb9 * ld.texinfo: Clarify the CONSTRUCTORS command. 1996-05-29 17:14:24 +00:00
Ian Lance Taylor
64a37d3cfc * emultempl/aix.em (gld${EMULATION_NAME}_read_file): Initialize
file, not impfile.
PR 9759.
1996-05-23 23:09:44 +00:00
David Edelsohn
fe6e29571a * ldlang.c (wild_doit): Don't copy over SEC_LINK_{ONCE,DUPLICATES}
if final link.
	* emultempl/pe.em (sfunc): Renamed to sort_by_file_name.
	(sort_by_section_name, sort_sections_1): New functions.
	(sort_sections): Only sort by file name sections in .idata.
	Add "Grouped Sections" support.
	(gld${EMULATION_NAME}_place_orphan): Rewrite to support Grouped
	Sections.
	(gld${EMULATION_NAME}_place_section): Delete.
	* scripttempl/pe.sc (.text,.data,.rdata): Add *(.foo\$).
	(.CRT,.rsrc): Rewrite to use Grouped Section support.
1996-05-22 19:09:32 +00:00
Stan Shebs
3d6ee1b961 * mpw-eppcmac.c: Update to reflect changes to aix.em. 1996-05-21 21:36:46 +00:00
David Edelsohn
4242ac27a5 * ldlang.c (dprint_statement): Stop printing at end of list. 1996-05-20 00:01:03 +00:00
Steve Chamberlain
de7c7482b1 Support for --force-exe-suffix
* ld.h (args_type): Add force_exe_suffix.
	* ld.texinfo: Add documentation.
	* ldmain.c (main):  Add support for option.
	* lexsup.c (OPTION_FORCE_EXE_SUFFIX): New.
	(ld_options, parse_args):  Add support for option.
1996-05-18 20:28:30 +00:00
Jim Wilson
b3319029ac * emultempl/pe.em (set_pe_value): Pass 0 not 16 to strtoul call. 1996-05-15 19:53:31 +00:00
Michael Meissner
fb2a7661fb Set __stack = 0 if it is referenced and not defined. 1996-05-10 20:32:07 +00:00
Rob Savoye
01d8a35928 * emulparams/{elf32bmip.sh,elf32lmip.sh,mipsidt.sh,mipsidtl.sh}:
Set a new variable to signify if the final target is an embedded
	system.
	* scripttempl/{mips.sc,elfmips.sc}: Don't add SIZEOF_HEADERS to
	.text for an embedded system.
1996-05-09 15:56:58 +00:00
Jeff Law
00e6a1b14d * scripttempl/h8300.sc: Place ".tiny" sections right
after ".data" sections.
        * scripttempl/h8300h.sc: Place ".tiny" sections into
        the "tiny" memory region, 0xff8000 through 0xffff00.
HMSE.
1996-05-07 21:26:58 +00:00
Jeff Law
12688490b2 * scripttempl/h8300.sc: Set the entry point to the value of
"_start" rather than the start of the text segment.
        * scripttempl/h8300h.sc: Likewise.
So we can have data at the start of the text space.
1996-05-07 19:36:38 +00:00
David Edelsohn
67afbceace Document semicolon usage. 1996-05-07 18:29:22 +00:00
David Edelsohn
7248b4e2d2 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
	* scripttempl/pe.sc: Whitespace cleanup.  Semicolon usage cleanup.
	(INIT,FINI): Delete, unused.
	(.text): Document orphan .text.foo sections.
	(.rdata): Document orphan .rdata.foo sections.
	(.data): Document orphan .data.foo sections.
1996-05-07 18:04:07 +00:00
David Edelsohn
a1613b5f35 * scripttempl/pe.em (gld${EMULATION_NAME}_place_orphan): New function.
(gld${EMULATION_NAME}_place_section): New function.
	(hold_{section,use,text,rdata,data}): New static locals.
	(ld_${EMULATION_NAME}_emulation): Update orphan field.
1996-05-07 17:58:43 +00:00
Jeff Law
d38d6b7a85 * scripttempl (h8300.sc, h8300h.sc): Place .rodata sections
before .text sections in main ram.
Gets "read only" data out of the instruction stream -- improves
relaxing linker.  HMSE.
1996-05-07 17:33:17 +00:00
Jeff Law
4015337ec7 * scripttempl/h8300h.sc: Use "eight", not "eightbit" for the
8-bit region and 8-bit sections.
HMSE.
1996-05-07 05:30:14 +00:00
David Edelsohn
0a0d1bdd6e * ldlang.c (section_already_linked): Fix typos. 1996-05-02 00:51:15 +00:00
David Edelsohn
f2618f8252 * scripttempl/pe.sc (.endjunk): Define __end__. 1996-04-30 03:33:23 +00:00
Ian Lance Taylor
0cacbcbe6e * ldlang.c (longest_section_name): Remove.
(SECTION_NAME_MAP_LENGTH): Define.
	(print_size, print_alignment, print_fill, print_section): Remove.
	(print_flags): Remove.
	(lang_map): Rewrite.
	(print_output_section_statement): Rewrite.
	(print_assignment): Rewrite.
	(print_one_symbol): Rewrite.
	(print_input_section): Rewrite.
	(print_fill_statement): Rewrite.
	(print_data_statement): Rewrite.
	(print_address_statement): New static function.
	(print_reloc_statement): Rewrite.
	(print_padding_statement): Rewrite.
	(print_wild_statement): Rewrite.
	(print_statement_list): Clean up.
	(print_statement): Clean up.  Some minor output changes.
	(print_statements): Clean up.
	(load_symbols): Put another - before -whole-archive.
	* ldexp.c (exp_print_tree): Change etree_value and etree_rel to
	print 0x and to omit leading zeroes.  For etree_rel, use %B to
	print the BFD.  For etree_assign, remove the space after the
	destination name.
	* ldwrite.c: Include "libiberty.h".
	(clone_section): Call xstrdup, not strdup.
	(ldwrite): Don't print any map information.
	(print_symbol_table, print_file_stuff, print_symbol): Remove.
	* ldmain.c (main): Call lang_map when appropriate.
	* ldmisc.c (vfinfo): Add support for %W.
	(print_address): Remove.
	* ldmisc.h (print_address): Don't declare.
	* Makefile.in: Rebuild dependencies.
1996-04-29 21:12:49 +00:00
Ian Lance Taylor
ec7d9f3d3c Mon Apr 29 10:33:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld-shared/shared.exp: Run the shared library tests on
 	Linux/m68k.
1996-04-29 14:34:44 +00:00
Ian Lance Taylor
df872c9ea4 Mon Apr 29 10:29:07 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.host (m68*-*-linux*): Add -dynamic-linker to
 	HOSTING_CRT0.  Search -lgcc both before and after -lc in
 	HOSTING_LIBS.  Look for crt{begin,end}.o in the compiler directory
 	at first.
	(i[345]86-*-linux*): Look for crt{begin,end}.o in the compiler
	directory at first.
1996-04-29 14:34:14 +00:00
Ian Lance Taylor
efa6c49704 * ldmisc.h (demangle): Declare.
* ldmisc.c: Include "libiberty.h".  Include demangle.h with "",
 	not <>.
	(demangle): Make non-static.  Remove remove_underscore paramter.
	Always return an allocated string.
	(vfinfo): Free result of demangle.  Add case 'G'.  Use %T to print
	functionname, rather than calling demangle.  Print a colon between
	the BFD(section+offset) and the line number.
	* ldmain.c (add_archive_element): Improve format of archive
	information in map file.
	(constructor_callback): Don't print anything to the map file.
	* ldlang.c (lang_one_common): Improve format of common symbol
	information in map file.
	* ldctor.c (ldctor_build_sets): If producing a map file, print set
	information.
	* ldwrite.c (print_symbol_table): Print a newline before the
	header in the map file.
	* Makefile.in: Rebuild dependencies.
1996-04-26 22:15:10 +00:00
Ian Lance Taylor
f0f80b13f8 * ldmisc.c (vfinfo): Reindent. 1996-04-26 18:42:55 +00:00
Ian Lance Taylor
6799c638e5 * ldlang.c (lang_size_sections): If _cooked_size is not 0, then
don't clobber it when not relaxing.

	* ld.h (ld_config_type): Remove traditional_format field.
	* ldmain.c (main): Use link_info.traditional_format rather than
	config.traditional_format.
	* ldlang.c (ldlang_open_output): Likewise.
	* lexsup.c (parse_args): Likewise.
	* emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Likewise.
	* mpw-eppcmac.c (gldppcmacos_parse_args): Likewise.
1996-04-22 21:32:58 +00:00
Ian Lance Taylor
6429ad7e58 * ldlang.c (wild_doit): Discard debugging sections if we are
stripping debugging information.
1996-04-22 16:22:52 +00:00
Ian Lance Taylor
14706a96af * emulparams/z8002.sh (ARCH): Set to z8002, not z8k. 1996-04-22 16:08:18 +00:00
Ian Lance Taylor
e3e69b1328 * ldexp.c (fold_binary): Correct handling of subtraction with
absolute values.
	(fold_name): Permit symbols in lang_allocating_phase_enum.
1996-04-16 20:53:55 +00:00
Michael Meissner
56074c5569 Add Solaris/linux support 1996-04-16 14:48:02 +00:00
Rob Savoye
10533b5b48 * scripttempl/aout.sc: Add PROVIDE (__stack = 0) so I can use it
in m68k/crt0.S without things blowing up.
1996-04-15 20:53:00 +00:00
Rob Savoye
07f48792d2 * scripttempl/m68kcoff.sc: Remove default address for .data so
.text, .data, and .bss are all sequential.
1996-04-12 22:47:01 +00:00
Ian Lance Taylor
aa59d90e55 * scripttempl/m68kcoff.sc: Remove regions and simplify. 1996-04-11 16:07:40 +00:00
Jeff Law
d26c498b31 * scripttempl/h8300.sc: Add the "8-bit area" in the upper 256
bytes of the address space.  Put data from the ".eight" sections
        into the 8-bit area.
        * scripttempl/h8300h.sc: Likewise.
8-bit area changes for hmse.
1996-04-10 20:40:24 +00:00
David Edelsohn
b279f82e00 * emultempl/generic.em (gld${EMULATION_NAME}_before_parse):
Pass $ARCH to ldfile_set_output_arch instead of setting
	ldfile_output_architecture directly.
1996-04-09 21:11:51 +00:00
Ian Lance Taylor
517a7cafec * ld.texinfo: Rearrange option documentation. 1996-04-09 20:36:27 +00:00
Ian Lance Taylor
bf7198b36c tweak last change 1996-04-09 19:30:06 +00:00
Ian Lance Taylor
1ffec9e606 * lexsup.c (ld_options): New static array.
(parse_args): Build shortopts and longopts from ld_options array.
	(help): New static function.
	* ldver.h (help): Don't declare.
	* ldver.c (ldversion): Reindent.
	(help): Remove.
1996-04-09 19:20:04 +00:00
Michael Meissner
28ad0357c6 Put .init/.fini in correct places. 1996-04-09 18:23:54 +00:00
Ian Lance Taylor
7ec9d82515 * ld.texinfo, ld.1: Mention -E as a synonym for -export-dynamic. 1996-04-09 16:19:51 +00:00
Ian Lance Taylor
4fea1383f1 formatting change 1996-04-08 20:27:38 +00:00
Ian Lance Taylor
0c4d3f6fc7 * emultempl/elf32.em: When checking for a native emulation, check
that the current emulation is the default emulation.
	* emultempl/sunos.em: Likewise.
1996-04-08 20:03:53 +00:00
Ian Lance Taylor
b4cb4ea2ac * configure.in: Permit --enable-shared to specify a list of
directories.
	* configure: Rebuild.
1996-04-08 18:45:08 +00:00
Ian Lance Taylor
90ba7e6508 * lexsup.c (parse_args): Add -E as a synonym for -export-dynamic,
for HP/UX compatibility.
1996-04-08 15:57:57 +00:00
Ian Lance Taylor
6cc7365e2b * emultempl/elf32.em (gld${EMULATION_NAME}_check_ld_so_conf): New
static function, if ${host} = ${target}.
	(gld${EMULATION_NAME}_after_open): Call check_ld_so_conf to find a
	needed shared library if ${host} = $[target}.
1996-04-05 21:22:31 +00:00
Ian Lance Taylor
8a42aa5491 * configure.tgt: Add i[345]86-*-freebsdelf* target; from John
Polstra <jdp@polstra.com>.
1996-04-05 19:32:39 +00:00
Jackie Smith Cashion
4864a04fc9 Fri Apr 5 18:11:25 1996 James G. Smith <jsmith@cygnus.co.uk>
* emulparams/elf32{b,l}4300.sh (MACHINE): Add explicit
 	architecture number.
	* scripttempl/elf.sc: Use $MACHINE definition if present.
	* configure.tgt (targ_extra_emuls): Force 4100 build to use same
 	template as 4300.
1996-04-05 17:17:06 +00:00
Ian Lance Taylor
0932869065 * ldlang.c (lang_size_sections): Change region check to handle
regions which end at the highest possible address correctly.
	From Roland Weber <roweber@ira.uka.de>.
1996-04-01 22:51:35 +00:00
Ian Lance Taylor
23595ba57a * ldlang.c (section_already_linked): New static function.
(wild_doit): Discard sections with SEC_EXCLUDE set if not doing a
	relocateable link.  Don't worry about section being NULL, since it
	never should be.  Don't call init_os unless the section is going
	to be added.
	(ldlang_add_file): Call section_already_linked for each section.
	* ldmain.c (multiple_definition): Don't warn about multiple
	definitions in sections which are being discarded.
1996-04-01 16:52:17 +00:00
Steve Chamberlain
ea461c67c1 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/.
* emultempl/pe.em (init): Remove special case PPC code.
1996-03-31 08:39:06 +00:00
Steve Chamberlain
0c1abe0623 * scripttempl/{ppcpe.sc, pe.sc} (.junk): Remove and use /DISCARD/. 1996-03-31 08:37:51 +00:00
Jeff Law
0e88ffa284 * scripttempl/h8300.sc: Make vectors section 0xc4 bytes long
so as not to overwrite the magic syscall entry at 0xc4.
        * scripttempl/h8300h.sc: Likewise.
hmse.
1996-03-29 07:01:22 +00:00
David Edelsohn
bacc170351 * configure.tgt (sparc64-*-solaris2*): Delete.
Stick with sparc-*-solaris2*.
1996-03-28 19:06:49 +00:00
Ian Lance Taylor
cf2e4f5fde * ld.h (DISCARD_SECTION_NAME): Define to "/DISCARD/".
* ldlang.c (init_os): Fail on an attempt to initialize any section
	named DISCARD_SECTION_NAME.
	(wild_doit): Discard input sections assigned to an output section
	named DISCARD_SECTION_NAME.
	* ld.texinfo: Document use of /DISCARD/.
1996-03-27 18:17:28 +00:00
Ian Lance Taylor
64664e69cb * ldlang.c: Fix some indentation and comments. 1996-03-27 17:34:15 +00:00
Ian Lance Taylor
28113e82bd * ldmain.c (main): Call bfd_set_error_program_name. 1996-03-26 23:16:01 +00:00
Ian Lance Taylor
4bcc5d3238 * ldmisc.c (vfinfo): case 'I': If the file is not in an archive,
and the local symbol name does not match the filename, print the
	filename as well.
1996-03-21 18:32:34 +00:00
Ian Lance Taylor
8ef401e289 Patches from John Polstra <jdp@polstra.com> for FreeBSD ELF:
* lexsup.c (parse_args): -Bshareable is a synonym for -shared.
	* emulparams/elf_i386.sh (NONPAGED_TEXT_START_ADDR): Make the same
	as TEXT_START_ADDR.
1996-03-21 18:19:38 +00:00
Ian Lance Taylor
baaaf6f299 Wed Mar 20 18:18:25 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* ld.texinfo: Fix typos.  Use @pxref only inside parentheses.
1996-03-20 23:19:47 +00:00
Ian Lance Taylor
0f5898ccf9 * ldmain.c (add_wrap): New function.
* ldmain.h (add_wrap): Declare.
	* lexsup.c (parse_args): Call add_wrap.
1996-03-20 21:57:31 +00:00
David Edelsohn
60e4268030 * configure.host (sparc*-*-solaris2* host): Accept any sparc variant. 1996-03-20 00:45:57 +00:00
Jeff Law
deddae6681 * scripttempl/h8300.sc: Change name of page zero memory
from "null" to "vectors".  Create an output section for
        vectors.  Add comments on how to explicitly place items
        in the vector table.
        * scripttempl/h8300h.sc: Likewise.
hmse
1996-03-14 00:49:42 +00:00
Ian Lance Taylor
96704ebcbc * emultempl/lnk960.em (machine_table): Add jx and hx. 1996-03-13 22:41:25 +00:00
Ian Lance Taylor
5cb57c2c07 * genscripts.sh: Don't use ${9:-xx}, since Ultrix /bin/sh doesn't
support it.
1996-03-13 17:40:58 +00:00
Ian Lance Taylor
e3d73386d7 * lexsup.c (parse_args): Handle --wrap.
* ldmain.c (main): Initialize link_info.wrap_hash.
	* ldexp.c (fold_name): Use bfd_wrapped_link_hash_lookup in DEFINED
	and NAME cases.
	* ld.texinfo, ld.1: Document --wrap.
1996-03-12 23:39:18 +00:00
Ian Lance Taylor
4b7d2399ae Tue Mar 12 12:43:59 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
* ld.h (ld_config_type): Add warn_multiple_gp field.
	* lexsup.c (parse_args): Handle --warn-multiple-gp.
	* ldmain.c (warning_callback): Suppress multiple gp values warning
	if --warn_multiple_gp was not used.
	* ld.texinfo, ld.1: Document --warn-multiple-gp.
1996-03-12 17:47:55 +00:00
Ian Lance Taylor
ea2488ad2e * configure: Rebuild with autoconf 2.8. 1996-03-12 17:22:07 +00:00
Ian Lance Taylor
02df835b83 Don't do SunOS style dynamic linking for sparc-aout:
* configure.tgt (sparc64-*-aout*): Use sparcaout, not sun4.
	(sparclite*-fujitsu-*, sparc*-*-aout): Likewise.
	(sparc*-wrs-vxworks*): Likewise.
	* emulparams/sparcaout.sh: New file.
	* Makefile.in (ALL_EMULATIONS): Add esparcaout.o.
	(esparcaout.c): New target.
1996-03-12 17:04:25 +00:00
J.T. Conklin
c56c921821 * scripttmpl/elfppc.sc (.sdata2, .sbss2): Implement Feb 2 change
in a different manner to work around differences in shell variable
expansion.
1996-03-07 00:12:34 +00:00
Ian Lance Taylor
6771b6e23c * ldemul.h (ldemul_unrecognized_file): Declare.
(ldemulation_xfer_type): Add unrecognized_file field.
	* ldemul.c (ldemul_unrecognized_file): New function.
	* ldlang.c (load_symbols): If a file can not be recognized, call
	ldemul_unrecognized_file before trying it as a linker script.
	* aix.em (gld${EMULATION_NAME}_unrecognized_file): New static
	function.
	(gld${EMULATION_NAME}_read_file): Use FOPEN_RT, not "r".
	(ld_${EMULATION_NAME}_emulation): Initialize unrecognized_file.
1996-03-06 23:12:41 +00:00
Ian Lance Taylor
3d0c8fa1d4 * ldlang.c (wild): Handle foo.a(.text) by mapping each included
member of foo.a separately.  From Jouke Numan <jnuman@bazis.nl>.
1996-03-04 19:12:43 +00:00
Ian Lance Taylor
16385918b7 Fri Mar 1 10:24:59 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* emultempl/elf32.em (gld${EMULATION_NAME}_find_exp_assignment):
	Search trinary.cond rather than searching trinary.lhs twice.
1996-03-01 15:27:57 +00:00
Stan Shebs
e24b45a873 * mpw-make.sed: Edit out shared library support.
(@TDIRS@): Edit out, can't use genscripts.
1996-02-27 23:21:35 +00:00
Ian Lance Taylor
228b04d2c5 Tue Feb 27 15:09:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.tgt (m68k-*-linuxaout*, m68k-*-linux*): New targets.
	* emulparams/m68klinux.sh: New file.
	* emultempl/linux.em (gld${EMULATION_NAME}_before_allocation):
	Call bfd_${EMULATION_NAME}_size_dynamic_sections instead of
	bfd_linux_size_dynamic_sections.
	* Makefile.in (ALL_EMULATIONS): Add em68klinux.o.
	(em68klinux.c): New target.
	* configure.host (m68*-*-linuxaout*, m68*-*-linux*): New hosts.

Tue Feb 27 12:55:46 1996  Ian Lance Taylor  <ian@cygnus.com>

	* Makefile.in (ALL_EMULATIONS): Sort into alphabetical order.
	Fill in missing entries.
1996-02-27 20:46:55 +00:00
Ian Lance Taylor
431e1e858c update copyright 1996-02-27 18:06:52 +00:00
Ian Lance Taylor
3c8deccc4f * lexsup.c (parse_args): Recognize --no-whole-archive.
* ldlang.h (lang_input_statement_type): Add whole_archive field.
	* ldlang.c (new_afile): Set whole_archive field.
	(load_symbols): Check input file specific whole_archive field
	rather than global variable.
	* ld.texinfo, ld.1: Document --no-whole-archive.
PR 9094.
1996-02-27 17:59:46 +00:00
Ian Lance Taylor
fc7b6582a9 * configure.tgt: Correct gldi960 to gld960. 1996-02-20 21:12:02 +00:00
Ian Lance Taylor
169df8d594 * emultempl/elf32.em (gld${EMULATION_NAME}_check_needed): Check
the SONAME if it is available.
	(gld${EMULATION_NAME}_stat_needed): Use the SONAME, not the
	filename, when checking for conflicting library versions.  Don't
	assume that the suffix is only numbers and dots.
1996-02-19 17:40:42 +00:00
Ian Lance Taylor
c653b37092 * ld.texinfo: Mention that -R can be used for -rpath. 1996-02-19 16:17:33 +00:00
Ian Lance Taylor
9e2ef09802 * configure.host: Check for 'do not mix' from native linker before
trying to use -rpath.
1996-02-18 20:06:40 +00:00
Ian Lance Taylor
c99fbc42b5 * configure.in: Remove explicit substitution of CFLAGS; autoconf
does it anyhow.
	* configure: Rebuild.
	* Makefile.in (LDFLAGS): Set to @LDFLAGS@.
1996-02-15 22:17:27 +00:00
Ian Lance Taylor
7e19f60e5a * configure.in: Call AC_PROG_CC before configure.host.
* configure: Rebuild.
	* configure.host: Remove go32 host, since it should no longer be
	necessary.  Don't set CC for romp host.
1996-02-15 21:32:43 +00:00
Ian Lance Taylor
22aa130282 * scripttempl/elf.sc: Don't skip a page in virtual memory space if
the text segment ends exactly on a page boundary.
1996-02-15 20:28:52 +00:00
Ian Lance Taylor
ad43e45b46 * configure.in: Substitute RPATH_ENVVAR.
* configure: Rebuild.
	* configure.host: Set RPATH_ENVVAR.
	* Makefile.in (RPATH_ENVVAR): New variable.
	(check): Use $(RPATH_ENVVAR) rather than LD_LIBRARY_PATH.
1996-02-15 19:00:07 +00:00
Ian Lance Taylor
95d31c3c8f * configure.tgt (*-*-ieee*): New target; use vanilla.
Wed Feb 14 18:49:01 1996  Alan Modra  <alan@spri.levels.unisa.edu.au>

	* configure.in: Redo emulation handling so that each emulation
	searches the correct tool directory, based on the target alias.
	For example, "configure --enable-targets=m68k-coff i386-linux"
	will search /usr/local/i386-linux/lib for linux and
	/usr/local/m68k-coff/lib for m68k-coff.
	* configure: Rebuild.
	* configure.tgt: Add special tdir settings for Linux.
	* Makefile.in: Add @TDIRS@.  Pass "$(tdir_EMUL)" to ${GENSCRIPTS}
	for each eEMUL.c target.
	* genscripts.sh: Accept specific alias as 9th argument, and use it
	in LIB_PATH.
1996-02-14 23:54:05 +00:00
Ian Lance Taylor
307585f1c9 Wed Feb 14 16:38:36 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
* ldlang.c (lang_set_startof): Don't do anything for a
	relocateable link.

	* ldgram.y (mri_script_file): Call mri_draw_tree.
	* mri.c (mri_draw_tree): Make globally visible.  Don't bother to
	create memory regions.
	(mri_load): Don't call mri_draw_tree.
	* mri.h (mri_draw_tree): Declare.

	* configure.tgt (m68*-*-psos): New target.
	* emulparams/m68kpsos.sh: New file.
	* scripttempl/psos.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add em68kpsos.o.
	(em68kpsos.c): New target.
1996-02-14 21:43:54 +00:00
Ian Lance Taylor
db3bfcd64c * emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Strip
`:foo' from ${ARCH}.
1996-02-14 16:10:18 +00:00
Ian Lance Taylor
9cb8a981e9 Tue Feb 13 15:58:58 1996 Bryan Ford <baford@snake.cs.utah.edu>
* scripttempl/i386msdos.sc: Don't pad the .text section.  Put
	.rodata in .data.
1996-02-13 21:00:44 +00:00
Ian Lance Taylor
b6acf0846a * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. 1996-02-13 20:33:12 +00:00
Ian Lance Taylor
625489271d * emultempl/elf32.em (gld${EMULATION_NAME}_stat_needed): Warn if
it looks like we might be linking in two different versions of the
	same shared library.  Based on a patch from H J Lu <hjl@zoom.com>.
1996-02-13 19:05:38 +00:00
Ian Lance Taylor
708f7fbcd3 * ldlang.c (lang_size_sections): Increment the section size when a
padding statement is encountered.
PR 8965.
1996-02-09 00:26:56 +00:00
Ian Lance Taylor
2e5983457a * configure.in: Look for --enable-shared. Change the value of
BFDLIB when linking against a shared library on SunOS.
	* configure: Rebuild.
	* configure.host: If using a shared BFD library, try to pass a
	reasonable -rpath option when linking.
	* Makefile.in (BFDLIB): Set to @BFDLIB@.
1996-02-07 19:03:38 +00:00
Ian Lance Taylor
f8d489718f Support for building bfd and opcodes as shared libraries, based on
patches from Alan Modra <alan@spri.levels.unisa.edu.au>:
	* configure.in (HLDFLAGS): New substitution.
	* configure: Rebuild.
	* configure.host: Set HLDFLAGS on SunOS.
	* Makefile.in (HLDFLAGS): New variable.
	(BFDDEP): New variable.
	(BFDLIB): Change to -L../bfd -lbfd.
	($(LD_PROG)): Depend upon $(BFDDEP) rathern than $(BFDLIB).  Use
	$(HLDFLAGS) in link.
	(check): Set LD_LIBRARY_PATH in the environment.
1996-02-05 21:28:15 +00:00
Michael Meissner
c2b6884b97 Move .sdata2/.sbss2 into read-only section 1996-02-03 00:31:03 +00:00
Ian Lance Taylor
ae9120f917 * configure: Regenerate. 1996-02-02 21:50:53 +00:00
Ian Lance Taylor
be54c2b6c9 * emulparams/elf_i386.sh (TEXT_START_ADDR): Change to 0x8048000,
for SVR4 compatibility.
PR 8794.
1996-02-01 21:02:03 +00:00
Ian Lance Taylor
48766668d5 * ldexp.c (exp_fold_tree): Correct handling of ABSOLUTE.
PR 8909.
1996-02-01 15:52:04 +00:00
Steve Chamberlain
923b8e0c59 * configure.tgt (i[345]86-*-cygwin32, powerpcle-*-cygwin32): New.
* emultempl/pe.em (definfo init): Make the default stack reserve
	of a PPC larger.
1996-02-01 01:43:42 +00:00
Ian Lance Taylor
40ab9bb9d7 Wed Jan 31 14:34:23 1996 Richard Henderson <rth@tamu.edu>
* configure.tgt (m68*-apple-aux*): New target.
	* emulparams/m68kaux.sh: New file.
	* scripttempl/m68kaux.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Add em68kaux.o.
	(em68kaux.c): New target.
1996-01-31 19:36:20 +00:00
Ian Lance Taylor
bc60f9240f * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Ignore
-bnoentry, since the right thing tends to happen anyhow.
1996-01-30 18:19:28 +00:00
Ian Lance Taylor
4bdd9722a6 * ld.texinfo, ld.1: Document -export-dynamic. 1996-01-29 17:29:51 +00:00
Ian Lance Taylor
ba7db99126 * ld-undefined/undefined.exp: ELF targets should now pass the
undefined line test.
1996-01-26 23:43:29 +00:00
Ian Lance Taylor
92849bae1d * ld-empic/empic.exp: Update for change to MIPS disassembler. 1996-01-25 20:38:08 +00:00
Jackie Smith Cashion
de8d160913 Thu Jan 25 16:46:58 1996 James G. Smith <jsmith@cygnus.co.uk>
* emulparams/{elf32b4300.sh, elf32l4300.sh}: Changed
 	TEXT_START_ADDR to allow use on IDT and PMON systems.
1996-01-25 16:51:47 +00:00
Steve Chamberlain
1759ad4d41 * emultempl/pe.em (gld_${EMULATION_NAME}_parse_args):
correct spelling.
1996-01-25 05:02:49 +00:00
David Edelsohn
b0cc94a11c * configure.tgt (sparc64-*-solaris2*): New configuration.
(sparc64-*-aout*): Renamed from sparc64*.
1996-01-25 01:03:13 +00:00
Ian Lance Taylor
7df4ba266b Mon Jan 22 13:01:35 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile.in (GENSCRIPTS): Pass @host@ @target@ @target_alias@.
	* genscripts.sh: Set host, target and target_alias variables.
	Check for native compile by comparing ${target} and ${host}.
	* emultempl/elf32.em: Likewise.
	* scripttempl/elfmips.sc: Test ${target}, not ${target_alias}.
1996-01-22 18:03:56 +00:00
Michael Meissner
4d99a9505c Refine eabi support 1996-01-22 16:05:26 +00:00
Ian Lance Taylor
a411bea023 * ldgram.y (%union): Add phdr field.
(phdr): Use phdr_qualifiers rather than opt_hdrs and opt_at.
	(phdr_qualifiers): New nonterminal.  Add support for FLAGS.
	(opt_hdrs, hdr): Remove.
	(phdr_val): New nonterminal.
	* ldlang.c (lang_new_phdr): Replace hdrs parameter with filehdr
	and phdrs parameters.  Add flags parameter.
	(lang_record_phdrs): Update for changes to lang_phdr.  Pass flags
	to bfd_record_phdr.
	* ldlang.h (struct lang_phdr): Replace hdrs field with filehdr and
	phdrs fields.  Add flags field.
	(LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Remove.
	(lang_new_phdr): Update declaration.
	* ld.texinfo: Document FLAGS.
1996-01-16 20:51:22 +00:00
Ian Lance Taylor
0bc9a7d2fb * emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation):
Don't make a shared library because of an undefined reference to
	__GLOBAL_OFFSET_TABLE_.
1996-01-15 22:38:22 +00:00
Ian Lance Taylor
6014cea70c update copyrights 1996-01-15 21:06:31 +00:00
Ian Lance Taylor
fe1379d45a Add some Irix 5 support, mostly from Kazumoto Kojima
<kkojima@info.kanagawa-u.ac.jp>:
	* emulparams/elf32bmip.sh (SCRIPT_NAME): Change to elfmips.
	(SHLIB_TEXT_START_ADDR): Define.
	(OTHER_GOT_SYMBOLS): Define.
	(OTHER_READWRITE_SECTIONS): Remove initialization of _gp.
	(EXECUTABLE_SYMBOLS): Don't define.
	(DYNAMIC_LINK): Don't define.
	* emulparams/elf32lmip.sh: Same changes as elf32bmip.sh.
	* scripttempl/elfmips.sc: New file.
	* configure.host (mips*-dec-bsd*): Change mips to mips*.
	(mips*-sgi-irix4*): Likewise.
	(mips*-sgi-irix5*): New entry.
	* Makefile.in (eelf32bmip.c): Depend upon elfmips.sc rather than
	elf.sc.
	(eelf32lmip.c): Likewise.
1996-01-15 20:13:04 +00:00
Ian Lance Taylor
21a3c2ff37 * ld-bootstrap/bootstrap.exp: Expect failure for mips*-*-irix5*
when doing the --static test.
	* ld-shared/shared.exp: Run tests on mips*-*-irix5*.
1996-01-15 20:06:43 +00:00
Michael Meissner
be03dc3e37 Add .rela.got.neg section; remove .rel.* sections 1996-01-13 14:44:48 +00:00
Ian Lance Taylor
2afa4f215e * scripttempl/sh.sc: Only build constructors when CONSTRUCTING. 1996-01-12 23:43:24 +00:00
Ian Lance Taylor
23cb3b6504 * ldmisc.c: Include <stdarg.h> rather than <varargs.h> if
ANSI_PROTOTYPES is defined.  Remove special handling of
	WINDOWS_NT.  Various indendation fixes.
	(vfinfo): Change fmt parameter to const char *.
	(info_msg): Write <stdarg.h> version.
	(einfo, minfo, finfo): Likewise.
	(info_assert): Change file parameter to const char *.
	* ldmisc.h (einfo, minfo, info_msg): If ANSI_PROTOTYPES is
	defined, use a real prototype.
	(info_assert): Change first parameter to be const char *.
1996-01-12 20:01:17 +00:00
Michael Meissner
4fe13b2bdd Add support for .sdata2/.sbss2 and old 2.7.2 compiler; Make text start at 64k; make data follow on next 64k page after text 1996-01-12 18:37:47 +00:00
Ian Lance Taylor
37e46b8b97 * scripttempl/alpha.sc: Put .rconst right after .rdata. 1996-01-09 20:53:26 +00:00
Steve Chamberlain
d42799374f * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation):
sort using right pointer.
1996-01-05 22:09:43 +00:00
Michael Meissner
9dee2948a2 Move creating section begin/end labels to compiler crt{i,n}.o 1996-01-05 17:27:39 +00:00
Ian Lance Taylor
ed1f99e770 * configure.host: Change existing Linux HOSTING_CRT0 to be used
for a.out only, and put in appropriate HOSTING_CRT0 and
	HOSTING_LIBS values for Linux ELF.
1996-01-04 22:10:00 +00:00
David Edelsohn
5c5e420c9b * scripttempl/h8300.sc: Use all 64K for ram.
* scripttempl/h8300h.sc: Define 256K ram size.
1996-01-04 20:03:03 +00:00
Ian Lance Taylor
54fe92c5a1 * ld-srec/srec.exp: If powerpc*-*-eabi*, use --defsym to define
__eabi.
1995-12-26 22:35:31 +00:00
Ian Lance Taylor
af3f877153 * ld-srec/srec.exp: Add setup_xfails for XCOFF targets. 1995-12-19 23:00:26 +00:00
Ian Lance Taylor
67cf67787d * emultempl/aix.em (gld${EMULATION_NAME}_after_open): Only set
relocateable before calling ldctor_build_sets if the output file
	is in an XCOFF format.
1995-12-19 22:36:03 +00:00
Ian Lance Taylor
656db2ed89 * ld-srec/srec.exp: Remove i960 COFF setup_xfail. 1995-12-15 21:39:35 +00:00
Ian Lance Taylor
4fc151e99a * ldwrite.c (build_link_order): When handling a data statement, if
the endianness of the output file is unknown, use the endianness
	of the input file.
1995-12-15 21:39:09 +00:00
Stan Shebs
aaa877b7ac Reflect file rename. 1995-12-12 22:37:05 +00:00
Stan Shebs
d8d4a450ff * mpw-config.in: Recognize mips-*-* as equivalent to
mips-idt-ecoff.
	* mpw-eppcmac.c: Shortened from mpw-eppcmacos.c.
	* mpw-ld.r: Add version resources.
	(cfrg): Use symbolic instead of literal name for executable.
1995-12-12 22:35:48 +00:00
Kim Knuttila
9499591f90 Moved the .reloc section slightly 1995-12-11 23:04:18 +00:00
Ian Lance Taylor
9430b93365 * emultempl/aix.em (unix_ld): New static variable.
(gld${EMULATION_NAME}_parse_args): Handle -unix.
	(gld${EMULATION_NAME}_before_allocation): If unix_ld, pass
	gc as false and export_defineds as true to size_dynamic_sections.
PR 8606.
1995-12-07 01:12:30 +00:00
David Edelsohn
95b3cb6b45 * emultempl/pe.em (gld_${EMULATION_NAME}_before_allocation): Fix
call to sort_sections.
1995-12-06 22:41:10 +00:00
David Edelsohn
e8bb9a12d7 * ldlang.c (print_statement{,s}): Delete duplicate prototype.
(print_statement_list): Renamed from print_statement.  All callers
	updated.
	(print_statement): New function to print just one statement.
	(print_{data,reloc,padding}_statement): Don't crash if
	output_section == NULL.
	(dprint_statement): New function.
1995-12-06 22:38:14 +00:00
Ian Lance Taylor
0421503301 * ldexp.c (exp_fold_tree): Permit assignments to dot in the final
phase if the current section is abs_output_section.
PR 8605.
1995-12-06 19:58:05 +00:00
Ian Lance Taylor
6ceb561287 * ld-srec/srec.exp: Don't use [] in setup_xfail expressions. 1995-12-02 06:17:46 +00:00
Ian Lance Taylor
061e65f855 * ldgram.y (PHDRS): New token.
(ifile_p1): Accept phdrs.
	(section): Accept phdr_opt at the end of the section definition.
	(phdr_op): New nonterminal.
	(phdrs, phdr_list, phdr, phdr_type, opt_hdrs, hdr): Likewise.
	* ldlex.l: Accept PHDRS.
	* ldlang.h (struct lang_output_section_phdr_list): Define.
	(lang_output_section_statement_type): Add phdrs field.
	(struct lang_phdr): Define.
	(LANG_PHDR_FILEHDR, LANG_PHDR_PHDRS): Define.
	(lang_new_phdr): Declare.
	* ldlang.c (lang_phdr_list): New static variable.
	(lang_output_section_statement_lookup): Initialize phdrs field.
	(lang_process): Call lang_record_phdrs.
	(lang_new_phdr): New function.
	(lang_section_in_phdr): New function.
	(lang_record_phdrs): New static function.
	* ld.texinfo: Document PHDRS.
1995-12-01 21:49:51 +00:00
Ian Lance Taylor
a91a8d08ae * ld-srec/srec.exp: Add setup_xfails for MIPS ELF targets. 1995-12-01 18:15:18 +00:00
Kim Knuttila
d611a82e67 Expose .edata section 1995-11-30 18:18:38 +00:00
David Edelsohn
781332facb Add a comment saying .junk sections are discarded by the linker. 1995-11-30 17:15:12 +00:00
Ian Lance Taylor
e7f2e923be Thu Nov 30 11:32:34 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
* configure.host (m68*-motorola-sysv): Define HOSTING_CRT0 and
	HOSTING_LIBS for testing.
	(m88*-motorola-sysv3): Define HOSTING_CRT0 and HOSTING_LIBS for
	testing.
1995-11-30 16:30:13 +00:00
Stan Shebs
b18319318b Fix MPW tool installation 1995-11-30 02:55:03 +00:00
Ian Lance Taylor
5d85ec2d4e * ld-srec/srec.exp: Add setup_xfail for i960 COFF targets. 1995-11-29 17:59:04 +00:00
Ian Lance Taylor
5aca405826 * lexsup.c (parse_args): Set config.dynamic_link to false for -N
and -n.
1995-11-28 17:15:37 +00:00
Ian Lance Taylor
4f351b156d fix last change 1995-11-27 20:02:12 +00:00
Ian Lance Taylor
12bfa0bcf5 * ld-srec/srec.exp: Add setup_xfail calls for i[345]86-*-aout*.
* ld-srec/sr1.c (V_SPILL, V_FILL): Define.
	* ld-srec/sr3.cc: Likewise.
1995-11-27 19:39:09 +00:00
Ian Lance Taylor
6a4667f4dc * configure: Rebuild with autoconf 2.7. 1995-11-27 18:19:15 +00:00
David Edelsohn
d87e370ba8 * scripttempl/pe.sc: Two .junk's is too much junk. 1995-11-25 02:37:58 +00:00
Ian Lance Taylor
caf2a91318 * configure.in: Use BFD_NEED_DECLARATION.
* acconfig.h: Put NEED_DECLARATION_FREE in @TOP@ section.
	* configure, config.in: Rebuild with autoconf 2.6.
1995-11-21 23:32:33 +00:00
Ian Lance Taylor
13eb3290f3 * ldmain.c (constructor_callback): Don't warn about BFD_RELOC_CTOR
being unsupported if this is not a relocaeable link and the input
	BFD supports it, since ldctor_build_sets can cope with that case.
1995-11-21 21:15:49 +00:00
Ian Lance Taylor
ad2282f68f * ld-empic/empic.exp: Update for changes in objdump output. 1995-11-21 21:06:55 +00:00
Stan Shebs
9079ed57d8 Keep PowerMac emulation file. 1995-11-18 00:55:22 +00:00
Stan Shebs
5ac7a6e96e * configure.tgt (powerpc-*-macos*): New target.
* emulparams/ppcmacos.sh: New file, PowerMac emulation.
	* Makefile.in (ALL_EMULATIONS): Add eppcmacos.o.
	(eppcmacos.c): New target.
	* mpw-eppcmacos.c: Update.
	* mpw-make.sed: Edit out attempts to use {GENSCRIPTS}.
1995-11-18 00:50:06 +00:00
Ian Lance Taylor
dfc84b08d6 * Makefile.in (CC_FOR_TARGET): Use @host@ and @target@, not
$(host_canonical) and $(target_canonical).
	(CXX_FOR_TARGET): Likewise.
1995-11-17 15:38:44 +00:00
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
1b09c02b17 * ld-srec/srec.exp: New tests.
* ld-srec/sr1.c, ld-srec/sr2.c, ld-srec/sr3.cc: New files.
	* lib/ld.exp (ld_simple_link): Discard warnings about not being
	able to find the entry symbol.
1995-11-15 22:44:56 +00:00
Ian Lance Taylor
28f6feaf2e * ld-sh/sh2.c (__main): Define. 1995-11-15 01:05:26 +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
Kim Knuttila
070eddd986 New PowerPC Portable Executable stuff 1995-11-07 22:14:23 +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
219555a64d * ld-empic/empic.exp: Accept a . in the address symbol. 1995-11-06 20:24:57 +00:00