Commit Graph

238 Commits

Author SHA1 Message Date
Per Bothner
c3d97ef66b *** empty log message *** 1992-02-16 20:49:26 +00:00
Per Bothner
7e5c1057bb * Makefile.in: Major changes. Removed some the sed
magic to converts scripts, since that is now handled
	by genscripts.sh and the *.sc-sh scipt generators.
	* config.h:  Remove a bunch of macros defining emulations
	and targets.  This becomes one less file to edit when
	adding emulations or targets.
	* ldemul.h (struct ld_emulation_xfer_struct):  Add
	emulation_name and target_name fields.
	* ldemul.c, ldemul.h:  Define some default functions used
	by most emulations (and remove from the *.em scripts).
	* ldemul.c (ldemul_choose_target):  Search the new
	ld_emulations array using a loop (instead of a hardwired
	nested if statement).
	Define the ld_emulation from the automatically-geenrated
	ldemul-list.h.  This means you no longer have to edit ldemul.c
	to add a new emulation.
	* ldmain.c:  Replace {GLD,LNK}960_EMULATION_NAME by
	their expansions, since the former no longer exist.
	* PORTING:  A very rough first draft of a porting guide.
1992-02-15 23:13:00 +00:00
Per Bothner
15c5ec2e27 * config/mt-foo: Changed EMUL=GLDFOO_EMULATION_NAME
to EMUL=foo. (The GLDFOO_EMULATION_NAMEs have bee removed.)
	* config/mh-foo:  Rename LDEMULATION names as appropriate
	(usually 'gldfoo' -> plain 'foo').
1992-02-15 22:21:43 +00:00
Per Bothner
de566389ca Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* Each emulation is defined by a short shell script with
	extension *.sh that specifies the emulation-specific
	parameters (such as the name of the *.sh-sc and *.em
	files to use).
	* genscript.sh is the master shell script used to generate
	an emulation.  It is passed various argument, including
	the name a the emulation-speciic *.sh file that it
	"sources" to set variables to emulation-specifc parameters.
1992-02-15 22:13:53 +00:00
Per Bothner
6ecb2b74ee Major rewrite of how ld is configured. The major idea
is to use shell scripts to generate everything.
	* generic.em replaces ldtemplate.
	* Other *.em files replace various *.c files.
	A *.em file is a shell script that generates the corresponding
	ld__*.c file that implements an emulation.  This is usually
	a straight 'cat' of a here-document, possibly with substitutions.
	* Script files (*.sc) are places by *.sc-sh scripts.
	Again, these are simple shell scripts that 'cat'
	here-documents, usually with some substitutions.
	The output a *.sc-sh is a script file.
1992-02-15 22:07:15 +00:00
Steve Chamberlain
ee1e80ef4c Make the emulation GLD960, not GLD 1992-02-12 06:42:21 +00:00
Steve Chamberlain
dcde00c429 ldlang.c: now won't core dump with -M
configure.in: add configure target for vxworks960
1992-02-11 20:21:52 +00:00
Steve Chamberlain
ffc5003225 * ldexp.c, ldlang.c: added new idea "abs_output_section", removes
tests for NULL pointers all over the place.
	* ldlang.c (lang_process): remember to relocate global symbols
	*after* relaxing has done it stuff.
1992-02-11 00:23:32 +00:00
Steve Chamberlain
ca3c5c6329 Make undefined refs not make an executable 1992-02-10 18:54:27 +00:00
Heinz G. Seidl
7d5326148d added mt-sun3 mt-vxworks68 mt-vxworks960 1992-02-07 22:34:19 +00:00
Heinz G. Seidl
2c43314875 added h8300hms.c and h8300hms.sc 1992-02-07 22:32:29 +00:00
Michael Tiemann
c556c4267b Add ${srcdir} for makefile_frags. 1992-02-07 07:52:08 +00:00
Steve Chamberlain
ab6c26bae1 From h8300hds* 1992-02-06 19:44:44 +00:00
Steve Chamberlain
67c7ea668f * config/mt-coff-h8300: use EMUL like everything else
* ldlang.c: (print_padding_statement): print the right address.
	* Makefile.in, config.h, ldemul.c: renamed  h8300hds to h8300hms
1992-02-06 19:43:25 +00:00
Steve Chamberlain
aa34a7c3c1 * ldlex.l: Put pack -noinhibit-exec and -sort-common
* ldlang.c (print_data_statement): print the right address.
1992-02-04 23:29:33 +00:00
Michael Tiemann
58216160ef Work around for problems in linking C++ programs that need file-level
initialization.  Now C++ programs can be linked.
1992-02-02 21:12:25 +00:00
Steve Chamberlain
d20fb44510 A change to the makefile got lost; ldmain. forgot that it should set
DEFAULT_EMULATION, so ld didn't know who it was.
1992-02-01 00:50:35 +00:00
K. Richard Pixley
60048a2cee add bootstrap target 1992-01-29 22:47:09 +00:00
Steve Chamberlain
0cc6a79622 ldlnk960.c: Special #ifdef to choose little endian ony
ldgram.y: allow forward ref of section
1992-01-29 16:44:09 +00:00
Steve Chamberlain
cbbdbb9f29 * config/mh-sparc.h: now uses libgcc.a
* ldmain.c: quit using exit
	* *.sc: use *(COMMON) rather than [COMMON]
	* ldlex.l, lexsup.c: much thinking moved from .l and put into .c,
	to allow preprocessing of .l file.
	* Makefile.in: New ldlex.l mangling
	* ldexp.c (fold_binary): perform expressions with % and / in
	integer.
	* ldfile.c (open_a): open archives on VMS in a special way
	* lderror.c: forgot to check in from a long while ago
1992-01-29 16:43:16 +00:00
Steve Chamberlain
870f54b2c8 * ldgram.y: map -M behave in the same way as -Map (sets file name
to be "-".
	* ldsym.c, ldlang.c: remember that size of a section is dependent on
	whether or not relaxing has been done.
	* ldmain.c: don't open a map file if it doesn't have a name
	* relax.c: all the brains have moved into bfd.
	* ldwrite.c: ammend comment
1992-01-28 18:21:36 +00:00
Steve Chamberlain
ac5939079f Now compiles with gcc too. 1992-01-24 23:44:10 +00:00
Steve Chamberlain
95a876f3fa target file for h8300 1992-01-24 22:37:17 +00:00
Steve Chamberlain
6fd50a2010 .Sanitize: added relax.c
ldsym.c ldlang.* more map stuff
1992-01-24 22:36:06 +00:00
Steve Chamberlain
2e2bf962db * Makefile.in: added relax, also made three stage go through a
partial link stage.
	* relax.c : added
	* config.h: if GNU960 defined, then default emulation mode is
	GLD960
	* ldexp.h, ldexp.c: map to file hooks
	* ldlang.c: map to file hooks
	* ldgram.y: added -Map -relax
	* ldlex.l: added -relax, -Map
	* ldmain.c: open map file
	* ldmisc.c: support for map file
	* ldwrite.c: new relax magic
1992-01-24 22:34:34 +00:00
Heinz G. Seidl
2cbe4c5f9e install ld in the gcclibdir if present 1992-01-24 22:11:28 +00:00
Steve Chamberlain
c611e285bd Merging from VMS port. Doc to follow.. 1992-01-24 18:41:32 +00:00
Roland Pesch
0acfc45154 (1) describe -relax
(2) push rev, copyright dates to present
1992-01-24 03:40:21 +00:00
Roland Pesch
1c48127ed7 (1) describe -relax
(2) restructure machine dependencies into separate chapter
(3) replace pretty, but quick to become obsolete, graph of BFD platforms
    vs architectures with extended excerpt from (and ref to ) objdump -i.
1992-01-24 03:38:02 +00:00
Michael Tiemann
7316c642a3 Initial revision 1992-01-21 07:27:29 +00:00
Steve Chamberlain
df0c47d497 Initial revision 1991-12-30 18:15:12 +00:00
John Gilmore
c2bb024d97 * Makefile.in, config/tm-*.h: Clean up make output, only
pass DEFAULT_EMULATION to ldmain.c.
1991-12-20 07:48:11 +00:00
Steve Chamberlain
71fc99e9e6 Add mt-coff-h8300 1991-12-12 04:01:28 +00:00
Steve Chamberlain
0cc795aaa4 New dos files 1991-12-12 03:42:08 +00:00
Steve Chamberlain
f9ea3c982e Initial revision 1991-12-12 03:42:06 +00:00
Per Bothner
e06ba18dad * Makefile.in: Pass -y to bison. (Again; accidentally deleted by Rich.)
* news.sc, ldgld68k.sc:  Define __end as well as _end.
1991-12-10 00:31:17 +00:00
Steve Chamberlain
1cc27b5ed3 *** empty log message *** 1991-12-08 01:27:59 +00:00
Steve Chamberlain
f0b87c7d97 * ldindr.h: added to contain prototypes of ldindr.c
* ldfile.c: include ctype.h
	* ldmain.c: include the requried prototype headers
	* ldwrite.c: get_reloc_upper_bound has been renamed
	bfd_get_reloc_upper_bound
1991-12-08 01:21:28 +00:00
Steve Chamberlain
bc71278ddd Initial revision 1991-12-08 01:21:25 +00:00
K. Richard Pixley
818a192aae Fri Dec 6 23:29:26 1991 K. Richard Pixley (rich at rtl.cygnus.com)
* Makefile.in: punt "fundamental" mode because it breaks my emacs
	  macros.  install using INSTALL_PROGRAM and INSTALL_DATA.  remove
	  spaces following hyphens, bsd make can't cope.  added
	  standards.text support and made it look like all the other
	  makefiles.

	* configure.in: configure now runs entirely in objdir so make file
	  existence checks against ${srcdir}.  Mark this directory as
	  target dependent.

Thu Dec  5 22:46:16 1991  K. Richard Pixley  (rich at rtl.cygnus.com)

	* Makefile.in: idestdir and ddestdir go away.  Added copyrights
	  and shift gpl to v2.  Added ChangeLog if it didn't exist. docdir
	  and mandir now keyed off datadir by default.
1991-12-07 07:35:43 +00:00
Steve Chamberlain
849c339e86 HOSTING_LIBS now reflects where libgnu lives 1991-12-01 07:54:41 +00:00
Steve Chamberlain
6089addcdc Uses something which will actuall work on an ebmon system 1991-11-29 01:09:30 +00:00
Steve Chamberlain
cc5bda54de Mon Nov 25 18:28:40 1991 Steve Chamberlain (sac at cygnus.com)
* config.h: h8 is now coff, not ieee
	* h8300hds.sc: reflect the same
1991-11-26 02:29:18 +00:00
Steve Chamberlain
a942eeab90 .Sanitize:
Include mh-delta88
mh-delta88:
	Remove gratuitous greeting
1991-11-21 04:26:50 +00:00
Per Bothner
eb68a3e41c Remove ldgld.c, ldgld68k.c, ldm88k.c, since these are
now automatically generated.
1991-11-15 21:09:49 +00:00
Per Bothner
b08344573e Update HOSTING_LIBS (for Cygnus). 1991-11-15 03:54:41 +00:00
K. Richard Pixley
31e54f5d6d allow for yacc, whether or not it really works 1991-11-14 07:42:02 +00:00
K. Richard Pixley
afe3aa730c build and install info 1991-11-14 00:20:13 +00:00
Roland Pesch
9c7810d6b2 (1) better filtering of roff-formattable doc targets
(2) better (I think) conformance to local practice re $(srcdir) and
makeinfo -o
1991-11-14 00:15:47 +00:00
Per Bothner
c61b4184f4 * Makefile.in: Rename .c files generated from ldtemplate
to have names starting with ld__.  This helps 'make clean'.
1991-11-13 23:18:47 +00:00