Commit Graph

886 Commits

Author SHA1 Message Date
J.T. Conklin
51bdfd9b22 * scripttempl/nw.sc: Gather constructors and destructors and
define __CTOR__LIST__ and __DTOR_LIST__ appropriately.
1994-10-17 22:03:09 +00:00
Ken Raeburn
0a1e63c4b5 updated version 1994-10-17 20:33:46 +00:00
J.T. Conklin
9ff30f20cd * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o.
(ei386nw.c, eppcnw.c): New targets.

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

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

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

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

	* ldgram.y (ifile_p1): Recognize GROUP.
	* ldlex.l: Recognize GROUP.
	* ld.texinfo (Option Commands): Document GROUP.
1994-09-13 20:42:47 +00:00
Stan Shebs
177941a1c9 Merge in former supposed GM-specific bits 1994-09-13 00:20:31 +00:00
Stan Shebs
2b51073813 Remove supposedly (but not really) GM-specific bits 1994-09-13 00:18:55 +00:00
Ian Lance Taylor
2fd87dbc90 * config/m68klynx.mh: New file. 1994-09-12 21:06:35 +00:00
Jeff Law
cb2af5cfec * emultempl/hppaelf.em: Add newlines to the error messages. 1994-09-12 07:51:14 +00:00
Ian Lance Taylor
7b63ff7683 * config/i386lynx.mh: New file.
* scripttempl/i386lynx.sc: Don't put .ctors and .dtors in .text
	unless CONSTRUCTING.
1994-09-12 02:42:49 +00:00
Ian Lance Taylor
dd37f21531 * emulparams/elf32mipb.sh (TEMPLATE_NAME): Define as elf32.
(GENERATE_SHLIB_SCRIPT): Define as yes.
	(DYNAMIC_LINK): Define as false.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse):
	Initialize config.dynamic_link to DYNAMIC_LINK if it is defined.
	(gld${EMULATION_NAME}_place_orphan): Reset stat_ptr at end.
	* Makefile.in (eelf32mipb.c): Depend upon elf32.em rather than
	generic.em.
1994-09-10 20:04:17 +00:00
Steve Chamberlain
fa3539fe77 * scripttempl/h8500b.sc: Put rdata stuff into own segment. 1994-09-08 23:36:17 +00:00
Ian Lance Taylor
a864a26ecc * emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Don't define;
.got section is now explicitly handled in elf.sc.
1994-09-08 17:26:27 +00:00
Ian Lance Taylor
82950a806a x 1994-09-07 03:57:59 +00:00
Ian Lance Taylor
1822664fe4 * scripttempl/m68kcoff.sc: Put .bss in data segment.
* scripttempl/h8300.sc: Change .stab and .stabstr to use a VMA of
	0, and to only be marked as NOLOAD if relocating.
	* scripttempl/h8500.sc, scripttempl/h8500b.sc: Likewise.
	* scripttempl/h8500c.sc, scripttempl/h8500m.sc: Likewise.
	* scripttempl/h8500s.sc, scripttempl/i386coff.sc: Likewise.
	* scripttempl/i386go32.sc, scripttempl/i386lynx.sc: Likewise.
	* scripttempl/m68kcoff.sc, scripttempl/m68klynx.sc: Likewise.
	* scripttempl/sh.sc, scripttempl/sparccoff.sc: Likewise.
	* scripttempl/sparclynx.sc: Likewise.
1994-09-07 03:57:09 +00:00
Ken Raeburn
318b02b6b9 ARM Acorn/RISCiX target and host patches from Richard Earnshaw 1994-09-05 10:53:00 +00:00
Ian Lance Taylor
3b21918aa6 * ld.h (args_type): Add field soname.
* lexsup.c (parse_args): Handle -soname argument.
	* emultempl/elf32.em: In call to bfd_elf32_size_dynamic_sections,
	pass soname.
	* ld.texinfo: Document -soname.
1994-08-30 16:04:19 +00:00
Ian Lance Taylor
69927008de * ldlang.c (lang_check): Don't try to set the architecture if the
input and output files are incompatible.  Just warn.
For Synoptics.
1994-08-29 19:24:48 +00:00
Ian Lance Taylor
6d4454364b * configure.in: Change i[34]86 to i[345]86. 1994-08-24 16:53:39 +00:00
Ian Lance Taylor
b400f56dbb Make the ELF linker handle orphaned sections reasonably. Also,
define __start_SECNAME and __stop_SECNAME around sections whose
	names can be represented in C, for the benefit of symbol sets in
	glibc.
	* ldemul.h (ldemul_place_orphan): Declare.
	(ld_emulation_xfer_type): Add place_orphan field.
	* ldemul.c (ldemul_place_orphan): New function.
	* ldlang.h (wild_doit): Declare.
	* ldlang.c (wild_doit): Make nonstatic.
	(lang_place_orphans): Call ldemul_place_orphan.
	* emultempl/elf32.em: Include <ctype.h> and "ldgram.h".
	(hold_section, hold_use, hold_text, hold_data, hold_bss): New
	static variables.
	(gld${EMULATION_NAME}_place_orphan): New static function.
	(gld${EMULATION_NAME}_place_section): New static function.
	(ld_${EMULATION_NAME}_emulation): Initialize place_orphan field.
1994-08-18 20:10:54 +00:00
Ian Lance Taylor
9e5a036f28 * scripttempl/aout.sc: Add .linux-dynamic after .data. 1994-08-16 04:19:32 +00:00
Ian Lance Taylor
c1a9aaa316 * Treat --dll-verbose as --version, for Linux compatibility. From
hjl@nynexst.com (H.J. Lu).
1994-08-16 04:10:03 +00:00
Ian Lance Taylor
1fee94ece0 * ldexp.h (exp_get_abs_int): Declare. 1994-08-15 21:18:48 +00:00