Commit Graph

48 Commits

Author SHA1 Message Date
Michael Meissner 86d0248d41 Provide eabi C++ static constructor/destructor support. 1995-03-16 22:22:39 +00:00
Michael Meissner 1e4b4b1c03 Add support for .got1 and .got2 sections; Offset _GLOBAL_OFFSET_TABLE_ by 32768 from GOT start. 1995-02-17 18:09:23 +00:00
Ian Lance Taylor fa247c00bc fix comments 1995-02-09 16:31:54 +00:00
Michael Meissner 5f16938da9 Add embedded PowerPC ELF support. 1995-01-26 17:59:08 +00:00
Steve Chamberlain 506f4ede9c * configure.in (w65-*-*): New target.
* Makefile.in: Update.
	* scripttempl/w65.sc: New.
	* config/coff-w65.mt: New.
1995-01-16 00:51:02 +00:00
Michael Tiemann 0041db5a97 Switch r3 to scratch register, r0 to stack register.
Other misc changes before beta shipment to customer.
1994-12-06 02:04:58 +00:00
Michael Tiemann fb870b50a7 Add changes from customer since last work. 1994-11-26 00:17:52 +00:00
Michael Tiemann fb14975b70 Enable ld to build for RCE. This is not tested yet! 1994-11-25 17:06:38 +00:00
Jeff Law 831d7ac47c * scripttempl/hppaelf.sc (.text): Place unwind descriptors in the
text segment.
1994-11-16 17:06:20 +00:00
Ken Raeburn 8e0e09f600 keep riscix, pc532mach files 1994-11-15 09:15:56 +00:00
Ian Lance Taylor cd1d4f83e7 Tue Nov 8 17:50:43 1994 Eric Youngdale (eric@aib.com)
* scripttempl/elf.sc: Add .rel.init, .rela.init, .rel.fini, and
	.rela.fini to the list of .rel* sections.
1994-11-08 22:57:13 +00:00
Ken Raeburn 0128cbae50 * Makefile.in (check): Add missing "else true" clause.
* emulparams/vax.sh (OUTPUT_FORMAT): Use "a.out".

* scripttempl/go32coff.sc: Changes from DJ Delorie: Change default entry point
to "start".  Align at end of each section to 0x200.  Start .text section 0x1000
later.  Add _etext, _edata, _end symbols.
1994-11-04 00:39:49 +00:00
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
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 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 31ddb15694 * scripttempl/elf.sc: Use PROVIDE to define etext, edata, and end.
Add a new script operator, PROVIDE, to define a symbol only if it
	is needed.
	* ldgram.y (PROVIDE): New token.
	(assignment): Accept PROVIDE.
	* ldlex.l (PROVIDE): New token.
	* ldexp.h (node_type): Add etree_provide to node_class enum.
	(exp_provide): Declare.
	* ldexp.c (exp_fold_tree): Handle etree_provide.
	(exp_provide): New function.
	(exp_print_tree): Handle etree_provide.
	* ld.texinfo: Document PROVIDE.
1994-07-22 20:55:45 +00:00
Ian Lance Taylor 62a4b36c6b * scripttempl/go32coff.sc: Don't put ${DATA_ALIGNMENT} inside an
ALIGN.
1994-06-22 20:11:07 +00:00
Ian Lance Taylor 66da6c8470 * scripttempl/aout.sc: Define __etext and __edata to go along with
_etext and _edata.
1994-06-15 16:17:48 +00:00
Ian Lance Taylor ed601bea1c Add support for SunOS shared libraries.
* aout.sc: Don't define __DYNAMIC here.  Add new sections used by
	shared library support code.
	* emultempl/sunos.em: New file.
	* emulparams/sun4.sh (TEMPLATE_NAME): Define as sunos.
	* Makefile.in (esun4.c): Depend upon sunos.em, not generic.em.
1994-06-02 22:01:53 +00:00
Ken Raeburn c06e55d99a changes from gas-2.3/binutils-2.4 dist (details in branch log msgs, changelogs) 1994-05-27 16:58:05 +00:00
Ian Lance Taylor 2a9fa50cd8 Add support for ELF shared libraries.
* ld.h (ld_config_type): Add field dynamic_link.
	* ldmain.c (main): Initialize config.dynamic_link to false.  Warn
	on attempts to use -r with -relax, -call_shared or -s.
	* lexsup.c (longopts): Separate OPTION_CALL_SHARED from
	OPTION_NON_SHARED.  Add OPTION_IGNORE.  Adjust macro values
	accordingly.  Add "dy" and "non_shared" options.  Change "Qy" to
	OPTION_IGNORE for now.  Handle OPTION_CALL_SHARED and
	OPTION_NON_SHARED by setting dynamic_link field accordingly.
	Handle OPTION_IGNORE by ignoring it.  Clear dynamic_link field for
	-r and -Ur.
	* ldfile.c (ldfile_open_file): If config.dynamic_link is true, try
	opening a file with a .so extension first.
	* emultempl/elf32.em: New file.
	* emulparams/elf32_sparc.sh (TEXT_START_ADDR): Change to 0x10000.
	(NONPAGED_TEXT_START_ADDR): Likewise.
	(TEMPLATE_NAME): Define as elf32.
	(DATA_PLT): Define.
	* emulparams/elf_i386.sh (TEMPLATE_NAME): Define as elf32.
	* scripttempl/elf.sc: Add placement for new dynamic sections.
	Don't use CREATE_OBJECT_SYMBOLS.  Define _etext, _edata and _end
	outside of any section.  Don't use ALIGN(8); just let one section
	VMA follow another.  Put .dynbss in .bss.  Don't mention debugging
	sections; they'll be handled correctly anyhow.
	* Makefile.in (eelf_i386.c): Depend upon elf32.em, not generic.em.
1994-05-19 18:25:10 +00:00
Jeff Law 4bd5c39f5c * emultempl/hppaelf.em: Change all references of
.hppa_linker_stubs to .PARISC.stubs.
	* scripttempl/hppaelf.sc: Likewise.
1994-05-16 19:38:39 +00:00
Steve Chamberlain 6149af094e support for Xgo32X. 1994-05-06 19:27:57 +00:00
Stan Shebs 89464c7a1d Keep Lynx linker scripts. 1994-05-02 22:51:34 +00:00
Steve Chamberlain 6c86b9ff98 * Makefile.in, configure.in: Support for go32 coff.
* config/i386-go32.mt: New file
	* emulparams/i386go32.sh: New file
	* scripttempl/i386go32.sc: New file
1994-04-27 17:52:13 +00:00
Stan Shebs 028f887219 Tue Apr 26 17:20:03 1994 Stan Shebs (shebs@andros.cygnus.com)
* Makefile.in (em_m68klynx.c, em_i386lynx.c, em_sparclynx.c): Use
	Lynx-specific script templates.
	* configure.in (sparclite*-*-coff): Use coff-sparc.
	* emulparams/i386lynx.sh (SCRIPT_NAME): Set to i386lynx.
	* emulparams/sparclynx.sh (SCRIPT_NAME): Set to sparclynx.
	(ENTRY): Set to __main.
	* scripttempl/i386lynx.sc: New file, script for I386 Lynx.
	* scripttempl/m68klynx.sc: Add insertion of ctor/dtor sections.
	* scripttempl/sparclynx.sc: New file, script for uSparc Lynx.
1994-04-27 00:31:11 +00:00
Ian Lance Taylor bff600cfa4 * scripttempl/elf.sc: Force all sections to be aligned. 1994-02-26 05:34:52 +00:00
Steve Chamberlain a25e99350b H8/500 bits. 1994-02-24 17:15:46 +00:00
Jeff Law 423dae05e4 Opps. 1994-02-08 00:40:55 +00:00
Jeff Law 90e30f5104 Renamed hppaosf.sc to hppaelf.sc 1994-02-08 00:28:48 +00:00
Steve Chamberlain 367428b5a1 Support for various sicko segmented memory models. 1994-02-04 22:57:26 +00:00
Ian Lance Taylor 8a432746ae Motorola Delta sysV68 support from phdm@info.ucl.ac.BE (Philippe
De Muyter).
	* configure.in (m68k-motorola-sysv*) New target.
	* config/delta68.mt: New file.
	* emulparams/delta68.sh: New file.
	* scripttempl/delta68.sc: New file.
	* Makefile.in (ALL_EMULATIONS): Added em_delta68.o.
	(em_delta68.c): New target.
1994-01-14 20:43:07 +00:00
Ian Lance Taylor 267a3ab363 * scripttempl/elf.c: Define __bss_start before the .sbss section. 1994-01-08 01:01:23 +00:00
Stan Shebs dd3f0e5b7d More correct m68k LynxOS support 1993-11-12 00:37:00 +00:00
Jeff Law f1f6b5e9cf * scripttempl/hppaosf.sc: (___stack_zero, etext, _etext,
edata, _edata, end): Add definitions of these symbols.
	(__end):  Remove definition of this symbol.
	(__data_start): Move definition of this symbol.
1993-11-02 23:59:24 +00:00
Stan Shebs 9798d9bf47 Keep Sparc file 1993-11-01 19:25:39 +00:00
Stan Shebs 1ffcbc2511 Sparc COFF support 1993-10-29 02:39:41 +00:00
Ian Lance Taylor 42f9673d8b New files for Alpha linker. 1993-10-19 19:52:33 +00:00
Ken Raeburn 4346166b07 From Peter Hoogenboom <hoogen@shafer.cs.utah.edu>:
* emultempl/hppaosf.em (ld_hppaosf_emulation): Correct name for PA
ELF emulation is "elf32-hppa" not "elf-big".
(hppaosf_before_parse): Remove unneeded processing of environment variables.
* scripttempl/hppaosf.sc: Include .hppa_linker_stubs sections in
.text segment of output file.
* emulparams/hppaosf.sh (OUTPUT_FORMAT): Use elf32-hppa.
1993-08-24 23:45:26 +00:00
Steve Chamberlain ea1c0ad276 * scripttempl/h8500.sc: Start all sections in a different segment.
* scripttempl/z8ksim.sc: Handle constructors
1993-08-17 14:04:24 +00:00
Steve Chamberlain cdbcb08c10 Keep h8300h.sc 1993-08-04 17:24:11 +00:00
Ian Lance Taylor 9edc5b2eca * Makefile.in (em_m88kbcs.c): Correct dependency.
(scripttempl/m88kbcs.sc): It's ARCH, not arch.
1993-07-15 17:57:26 +00:00
Ken Raeburn aa6743a58d Include .init, .fini, .rodata sections.
Create symbol "end" instead of "__end".
Comment out some parts that may not be needed (yet) for elf.
1993-07-12 15:05:38 +00:00
Ken Raeburn 3bf3f99aa7 keep elf.sc 1993-07-08 23:38:49 +00:00
Ken Raeburn f90bb826e5 initial v9 stuff 1993-07-08 22:44:34 +00:00
Steve Chamberlain f216ecc54a Support for constructors. 1993-06-17 21:49:48 +00:00
David MacKenzie 8ddef5528d * ldfile.c (ldfile_open_command): Don't try .ld extension.
It wasn't documented (or likely used) and wastes time.
	(try_open): If EXTEN is empty, don't try it.

	* ldctor.c, lderror.c, ldexp.c, ldfile.c, ldindr.c, ldlang.c,
	ldlex.l, ldmain.c, ldmisc.c, ldsym.c, ldver.c, ldwarn.c,
	ldwrite.c, lexsup.c, mri.c, relax.c: Replace DEFUN macro calls
	with normal function declarations.

	* Move *.em to emultempl/*.em.  Move *.sh to emulparams/*.sh.
	Move *.sc-sh to scripttempl/*.sc.
	* {emultempl,emulparams,scripttempl}/README: New files.
	* sh.em, st2000.em, z8ksim.em, h8300hms.em, h8500hms.em: Files
	removed, replaced with generic.em.
	* h8300.sh, h8500.sh, h8300.sc, h8500.sc: Renamed from
	 h8[35]00hms.s[ch].  Change their contents to omit the "hms".

	* *.em (*_get_script): Return script name instead of script contents.
	* ldlang.c (lang_process): Change caller.

	* ldlex.l, ldgram.y: Recognize -m option.
	Check for input files after *all* options in grammar.
	* ldmain.c (main): Check for -m options.  Add default directory
	for -m.

	* mkscript.c: File removed.
	* genscripts.sh: Take two more parameters, tooldirlib and libdir,
	to add to the default LIB_PATH.
	Look for input files in the new subdirectories.
	Create the scripts in emulations subdirectory and don't filter
	them through mkscript.
	* configure.in: Make the emulations subdirectory.

	* Makefile.in: Account for all of the above changes.
	Remove unused .SUFFIXES.  Get libgcc.a path with gcc
	-print-libgcc-file-name instead of $(libdir)/libgcc.a.
	Put CFLAGS last in the compilation rules.
	Add -I../bfd to INCLUDES so sysdep.h is found.

	* ldfile.c (try_open): If opening without the extension fails,
	try with the extension even if -v or -V was given.
	had_script is imported (from ldgram.y), not exported.
1993-06-17 20:55:43 +00:00